class CCL::EditModel
Overview
#include <editmodel.h> class EditModel: public CCL::Object { public: // enums enum Direction; enum NavigationMode; // classes class FocusSetter; // methods DECLARE_CLASS (EditModel, Object); Selection& getSelection (); const Selection& getSelection () const; virtual bool containsAnyItems (); virtual Object* findItem (EditView& editView, PointRef where); virtual Object* findItemPart (EditView& editView, Object* item, PointRef where); virtual Object* findItemDeep (EditView& editView, PointRef where); virtual Object* findItemAfterSelection (); virtual String getItemType (Object* item); virtual bool getItemSize (Rect& size, EditView& editView, Object* item); virtual bool getItemTooltip (String& tooltip, EditView& editView, Object* item); virtual String getEditArea (EditView& editView, PointRef where); virtual bool canSelectItem (Object* item); virtual bool selectItem (Object* item); virtual bool unselectItem (Object* item); virtual bool selectItems (EditView& editView, RectRef rect); virtual bool selectAll (); virtual bool invertSelection (); virtual bool editItem (Object* item, EditView& editView); virtual EditHandler* createEditHandler ( Object* itemPart, EditView& editView, const MouseEvent& event ); virtual bool zoomItem (Object* item, EditView& editView); virtual bool setFocusItem (Object* item, EditView* editView); virtual void setAnchorItem (Object* item, EditView* editView); virtual Object* getFocusItem (MetaClassRef itemClass) const; template <class T> T* getFocusItem () const; virtual bool getSelectionSize (Rect& size, EditView& editView); virtual bool dragSelection (EditView& editView, const MouseEvent& event); virtual bool dragSelection ( EditView& editView, PointRef where, int inputDevice = 0 ); virtual IDragHandler* createDragHandler ( EditView& editView, const DragEvent& event ); virtual EditHandler* drawSelection ( EditView& editView, const MouseEvent& event, StringRef hint = nullptr ); virtual EditHandler* dragEraser (EditView& editView, const MouseEvent& event); virtual bool navigate (Direction direction, NavigationMode mode); virtual bool deleteSelected (); virtual bool canDeleteSelected (); virtual bool deleteItem (Object* item); virtual Object* copySelected (bool shared, bool forDuplicate = false); virtual bool canInsertData (Object* data); virtual bool insertData (Object* data); virtual void collectTaskCategories (StringList& taskCategories); virtual bool canPerformTask ( EditView& editView, const EditTaskDescription& task ); virtual bool collectTaskCandidates ( Container& resultList, EditView& editView, const EditTaskDescription& task ); virtual void beginTransaction (StringRef description); virtual void endTransaction (bool cancel = false); virtual void setDocumentDirty (); virtual void updateHighlightItem (EditView& editView, PointRef where); virtual void hideHighlight (); void addEditLayer (EditLayer* layer); EditLayer* getEditLayer (MetaClassRef type) const; EditLayer* getEditLayer (StringID name) const; EditLayer* getEditLayerForView (EditView* view) const; template <class C> C* getEditLayer () const; const ObjectList& getEditLayers () const; void onViewAttached (EditView* editView); bool getSelectionSize (Rect& size, EditView& editView, MetaClassRef type); template <class T> bool getSelectionSize (Rect& size, EditView& editView); virtual tbool CCL_API getProperty (Variant& var, MemberID propertyId) const; virtual CCL::tbool CCL_API invokeMethod ( CCL::Variant& returnValue, CCL::MessageRef msg ); };
Inherited Members
public: // typedefs typedef CStringRef MemberID; // 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 ();
Detailed Documentation
Methods
Selection& getSelection ()
Get associated selection.
virtual bool containsAnyItems ()
Check if model contains items for editing.
virtual Object* findItem (EditView& editView, PointRef where)
Find item for editing at given location (must be released by caller).
virtual Object* findItemPart (EditView& editView, Object* item, PointRef where)
Find subpart of item at given location (must be released by caller).
virtual Object* findItemDeep (EditView& editView, PointRef where)
Find item for editing at given location (must be released by caller).
Searches deeply first for item parts.
virtual Object* findItemAfterSelection ()
Find an item that will be selected after the current selection is deleted (must be released by caller).
virtual String getItemType (Object* item)
Identify item.
virtual bool getItemSize (Rect& size, EditView& editView, Object* item)
Get size of item.
virtual bool getItemTooltip (String& tooltip, EditView& editView, Object* item)
Get tooltip for item.
virtual String getEditArea (EditView& editView, PointRef where)
Get name of edit area at given location.
virtual bool canSelectItem (Object* item)
Check if model can select the given item.
virtual bool selectItem (Object* item)
Select an item.
virtual bool unselectItem (Object* item)
Unselect an item.
virtual bool selectItems (EditView& editView, RectRef rect)
Select items in given area.
virtual bool selectAll ()
Select all items.
virtual bool invertSelection ()
Invert selection.
virtual bool editItem (Object* item, EditView& editView)
Edit given item.
virtual EditHandler* createEditHandler ( Object* itemPart, EditView& editView, const MouseEvent& event )
Edit item part.
virtual bool zoomItem (Object* item, EditView& editView)
Zoom to given item.
virtual bool setFocusItem (Object* item, EditView* editView)
Set focus item.
virtual void setAnchorItem (Object* item, EditView* editView)
Set anchor item for selecting a range of items.
virtual Object* getFocusItem (MetaClassRef itemClass) const
Get focus item of a given class.
virtual bool getSelectionSize (Rect& size, EditView& editView)
Get size of selection.
virtual bool dragSelection (EditView& editView, const MouseEvent& event)
Drag selection.
virtual IDragHandler* createDragHandler ( EditView& editView, const DragEvent& event )
Create drag handler.
virtual EditHandler* drawSelection ( EditView& editView, const MouseEvent& event, StringRef hint = nullptr )
Draw selection.
virtual EditHandler* dragEraser (EditView& editView, const MouseEvent& event)
Drag an eraser over the view, deleting items under mouse.
virtual bool navigate (Direction direction, NavigationMode mode)
Navigate in given direction.
virtual bool deleteSelected ()
Delete selected items.
virtual bool canDeleteSelected ()
Check if selected items can be deleted.
virtual bool deleteItem (Object* item)
Delete given item.
virtual Object* copySelected (bool shared, bool forDuplicate = false)
Copy selected items to data object (must be released by caller).
virtual bool canInsertData (Object* data)
Check if data can be inserted.
virtual bool insertData (Object* data)
Insert data.
virtual void collectTaskCategories (StringList& taskCategories)
Collect all supported edit task categories.
virtual bool canPerformTask ( EditView& editView, const EditTaskDescription& task )
Check if edit task can be performed.
virtual bool collectTaskCandidates ( Container& resultList, EditView& editView, const EditTaskDescription& task )
Collect edit task candidates.
virtual void beginTransaction (StringRef description)
Begin transacation.
virtual void endTransaction (bool cancel = false)
End transaction.
virtual void setDocumentDirty ()
Set document dirty state.
virtual void updateHighlightItem (EditView& editView, PointRef where)
Highlight items depending on mouse position.
void addEditLayer (EditLayer* layer)
Edit layers.
void onViewAttached (EditView* editView)
Notification when new edit view gets attached.
virtual tbool CCL_API getProperty (Variant& var, MemberID propertyId) const
Get property value by name.
virtual CCL::tbool CCL_API invokeMethod ( CCL::Variant& returnValue, CCL::MessageRef msg )
Call method.