Inherited Members
public:
// typedefs
typedef CStringRef MemberID;
typedef const IItemModel::DrawInfo& DrawInfoRef;
// enums
enum SwipeMethod;
// classes
class BoxedEditInfo;
class EditControlOperation;
class ItemVisitor;
template <typename Lambda>
class LambdaItemVisitor;
class SwipeItemsMouseHandler;
class TouchMouseHandler;
// fields
static constexpr const int kDefaultTextTrimMode = Font::kTrimModeRight;
IItemModel;
// methods
virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
virtual unsigned int CCL_API retain () = 0;
virtual unsigned int CCL_API release () = 0;
Unknown& operator = (const Unknown&);
unsigned int getRetainCount () const;
virtual Object*CCL_API revealObject (const void* moduleAddress) = 0;
virtual void CCL_API addObserver (IObserver* observer) = 0;
virtual void CCL_API removeObserver (IObserver* observer) = 0;
virtual void CCL_API signal (MessageRef msg) = 0;
virtual void CCL_API deferSignal (IMessage* msg) = 0;
static ISubject void addObserver (IUnknown* unknown, IObserver* observer);
static void removeObserver (IUnknown* unknown, IObserver* observer);
virtual void CCL_API notify (ISubject* subject, MessageRef msg) = 0;
static IObserver void notify (
IUnknown* unknown,
ISubject* subject,
MessageRef msg
);
virtual const ITypeInfo&CCL_API getTypeInfo () const = 0;
virtual tbool CCL_API getProperty (Variant& var, MemberID propertyId) const = 0;
virtual tbool CCL_API setProperty (MemberID propertyId, const Variant& var) = 0;
virtual tbool CCL_API getPropertyNames (IPropertyCollector& collector) const = 0;
virtual tbool CCL_API invokeMethod (Variant& returnValue, MessageRef msg) = 0;
DECLARE_BASE_CLASS (Object);
virtual void CCL_API removeObserver (IObserver* observer);
virtual void CCL_API signal (MessageRef msg);
virtual void CCL_API deferSignal (IMessage* msg);
virtual void deferChanged ();
virtual void CCL_API notify (ISubject* subject, MessageRef msg);
virtual bool equals (const Object& obj) const;
virtual int compare (const Object& obj) const;
virtual bool load (const Storage& storage);
virtual bool save (const Storage& storage) const;
virtual bool save (const OutputStorage& storage) const;
virtual bool toString (String& string, int flags = 0) const;
virtual int getHashCode (int size) const;
IUnknown* asUnknown ();
static void addGarbageCollected (Object* obj, bool globalScope = true);
static void deferDestruction (Object* obj);
static const void* getModuleAddress ();
IItemView* getItemView () const;
const auto& getItemViews () const;
IItemView* getItemViewByName (StringRef name);
void makeFirst (IItemView* itemView);
void makeLast (IItemView* itemView);
void CCL_API viewAttached (IItemView* itemView);
void CCL_API viewDetached (IItemView* itemView);
void drawIcon (
DrawInfoRef info,
IImage* icon,
bool enabled = true,
bool fitImage = true,
int margin = 0
);
void drawIconWithOverlay (
DrawInfoRef info,
IImage* icon,
IImage* overlay = nullptr,
bool enabled = true,
bool fitImage = true,
int margin = 0
);
void drawOverlay (DrawInfoRef info, RectRef iconRect, IImage* overlay);
void drawButtonImage (
DrawInfoRef info,
IImage* image,
bool pressed,
bool enabled = true
);
void calcCheckBoxRect (
Rect& checkRect,
DrawInfoRef info,
AlignmentRef alignment = Alignment::kHCenter
);
void drawCheckBox (
DrawInfoRef info,
bool checked,
bool enabled = true,
AlignmentRef alignment = Alignment::kHCenter
);
void calcButtonRect (
Rect& buttonRect,
DrawInfoRef info,
StringRef title,
Coord verticalMargin = 0
);
void drawButton (
DrawInfoRef info,
StringRef title,
bool enabled = true,
Coord verticalMargin = 0
);
void drawSelectBoxArrow (DrawInfoRef info, bool enabled = true, int margin = 0);
SolidBrush getTextBrush (DrawInfoRef info, bool enabled);
void drawTitle (
DrawInfoRef info,
StringRef title,
bool enabled = true,
int fontStyle = 0,
AlignmentRef alignment = Alignment::kLeft|Alignment::kVCenter,
int trimMode = kDefaultTextTrimMode
);
void drawText (
DrawInfoRef info,
StringRef text,
AlignmentRef alignment = Alignment::kCenter,
bool enabled = true,
int fontStyle = 0,
Coord margin = 0
);
void calcTitleRects (
Rect& titleRect,
Rect& subTitleRect,
DrawInfoRef info,
Coord spacing
);
void drawTitleWithSubtitle (
DrawInfoRef info,
StringRef title,
StringRef subTitle,
bool enabled = true,
int fontStyle = 0,
Coord lineSpacing = 4,
int trimMode = kDefaultTextTrimMode
);
void drawVerticalBar (
IGraphics& graphics,
RectRef rect,
float value,
Color backColor,
Color hiliteColor,
Coord margin = 1
);
void drawHorizontalBar (
IGraphics& graphics,
RectRef rect,
float value,
Color backColor,
Color hiliteColor,
Coord margin = 1
);
DECLARE_CLASS (ItemModel, Object);
Object void invalidate ();
void invalidateItem (ItemIndexRef index);
void updateColumns ();
IAsyncOperation* editString (
StringRef initialValue,
RectRef rect,
const EditInfo& info,
IVisualStyle* visualStyle = nullptr
);
IAsyncOperation* editString (
StringRef initialValue,
RectRef rect,
IItemView* view = nullptr,
IVisualStyle* visualStyle = nullptr
);
IAsyncOperation* editValue (
IParameter* param,
const EditInfo& info,
IVisualStyle* visualStyle = nullptr
);
IAsyncOperation* startEditOperation (
IParameter* param,
ViewBox& editControl,
const EditInfo& info,
IVisualStyle* visualStyle = nullptr
);
IVisualStyle* createEditStyle ();
virtual void CCL_API notify (ISubject* subject, MessageRef msg);
DECLARE_STRINGID_MEMBER (kSwipeEditDone) protected bool doPopupSlider (
IParameter* param,
const EditInfo& info,
PointRef position,
bool horizontal = false,
StringID popupSliderDecorForm = nullptr
);
bool doPopupColorPalette (
Color& color,
IColorPalette* palette,
const EditInfo& info
);
bool setEditControl (ViewBox& editControl, const EditInfo& info);
bool swipeItems (
IView* itemView,
const MouseEvent& mouseEvent,
ItemVisitor* itemVisitor,
SwipeMethod method = SwipeMethod::kMultiple
);
template <typename Lambda>
bool swipeItems (
IView* itemView,
const MouseEvent& mouseEvent,
Lambda visitItem
);
template <typename Lambda>
bool swipeItemsSingle (
IView* itemView,
const MouseEvent& mouseEvent,
Lambda visitItem
);
AbstractTouchHandler* wrapMouseHandler (
IMouseHandler* mouseHandler,
IView* view
);
virtual tbool CCL_API invokeMethod (Variant& returnValue, MessageRef msg);