class CCL::EditView
Overview
#include <editview.h> class EditView: public CCL::UserControl, public CCL::ISelectionViewer { public: // classes class InputDeviceScope; // fields RectRef size = Rect (); RectRef StyleRef style = 0; RectRef StyleRef StringRef title = nullptr); kEditHandlerActive; editHandlerActive kActivateOnAttach; // methods DECLARE_CLASS (EditView, UserControl); EditModel& getModel () const; Selection& getSelection () const; EditTool* getTool () const; void setTool (EditTool* tool); virtual void makeItemVisible (Object* item, tbool relaxed = false); void deferMakeItemVisible (Object* item); bool isSelectionVisible () const; bool isMouseInside () const; void addEditLayer (EditLayer* layer); const ObjectList& getEditLayers (); bool usesLayer (const EditLayer* layer); EditLayer* getEditLayer (MetaClassRef type) const; template <class C> C* getEditLayer () const; PROPERTY_FLAG (editViewFlags, kToolActivation, wantsToolActivation); editHandlerActive PROPERTY_FLAG (editViewFlags, kCrossCursor, wantsCrossCursor); editHandlerActive activateOnAttach bool hasCrossCursor () const; bool isCrossCursorVisible () const; void showCrossCursor (bool state); virtual void moveCrossCursor (const Point& position); void setEditTooltip (StringRef text, const Point* position = nullptr); void hideEditTooltip (); void updateToolCursor (const MouseEvent& event); bool inContextMenuScope () const; int getCurrentInputDevice () const; virtual IUnknown*CCL_API getController () const; virtual void attached (IView* parent); virtual void removed (IView* parent); virtual void onActivate (bool state); virtual bool onFocus (const FocusEvent& event); void onSize (const Point& delta); virtual bool onContextMenu (const ContextMenuEvent& event); virtual bool onMouseEnter (const MouseEvent& event); virtual bool onMouseMove (const MouseEvent& event); virtual bool onMouseLeave (const MouseEvent& event); virtual bool onMouseDown (const MouseEvent& event); virtual IMouseHandler*CCL_API createMouseHandler (const MouseEvent& event); virtual ITouchHandler*CCL_API createTouchHandler (const TouchEvent& event); virtual IDragHandler*CCL_API createDragHandler (const DragEvent& event); virtual bool onTrackTooltip (const TooltipEvent& event); virtual void CCL_API notify (ISubject* subject, MessageRef msg); static void applyCrossCursorEnabled (); static EditView* findUnderMouse (Point* relativeMousePos = nullptr); };
Inherited Members
public: // typedefs typedef CStringRef MemberID; // structs struct StyleModifier; // classes class AccessibilityProvider; class DragHandler; class GestureHandler; class MouseHandler; class TouchHandler; class TouchMouseHandler; // fields StyleRef style = 0; StyleRef StringRef title = nullptr); IUserControl; // 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 (); UIDRef getClassID () const; void setName (StringRef name); String getName () const; void setTitle (StringRef title); String getTitle () const; void setTooltip (StringRef title); String getTooltip () const; void setTooltipTrackingEnabled (bool state); bool isTooltipTrackingEnabled () const; StyleRef getStyle () const; void setStyle (StyleRef style); ITheme& getTheme () const; void setTheme (ITheme* theme); const IVisualStyle& getVisualStyle () const; void setVisualStyle (IVisualStyle* visualStyle); void setVisualStyle (const IVisualStyle& visualStyle); IUnknown* getController () const; bool isAttached () const; IWindow* getWindow () const; int getSizeMode () const; void setSizeMode (int flags); void disableSizeMode (bool state = true); bool isEnabled () const; void enable (bool state); int getMouseState () const; void setMouseState (int state); int getThemeElementState () const; bool wantsFocus () const; void wantsFocus (bool state); bool isLayerBackingEnabled () const; void setLayerBackingEnabled (bool state); IGraphicsLayer* getGraphicsLayer () const; bool isAccessibilityEnabled () const; void setAccessibilityEnabled (bool state); bool getAttribute (Variant& value, const char* id) const; bool setAttribute (const char* id, VariantRef value); bool setHelpIdentifier (StringRef id); RectRef getSize () const; void setSize (RectRef size); Rect& getClientRect (Rect& r) const; bool getVisibleClient (Rect& r) const; Coord getWidth () const; Coord getHeight () const; Point getPosition () const; void setPosition (PointRef pos); void setSizeLimits (const SizeLimit& sizeLimits); const SizeLimit& getSizeLimits () const; void setZoomFactor (float factor); float getZoomFactor () const; Point& clientToWindow (Point& p) const; Point& windowToClient (Point& p) const; Point& clientToScreen (Point& p) const; Point& screenToClient (Point& p) const; IView* getParent () const; IView* getParent (UIDRef cid) const; IView* getViewAt (int index) const; int getViewIndex (const IView* childView) const; IViewChildren& getChildren () const; void autoSize (tbool horizontal = true, tbool vertical = true); void redraw (); void invalidate (); void invalidate (RectRef rect); void updateClient (); void updateClient (RectRef rect); void scrollClient (RectRef rect, PointRef delta); bool makeVisible (RectRef rect, tbool relaxed = false); bool takeFocus (); bool killFocus (); void setCursor (IMouseCursor* cursor); bool detectDrag (const MouseEvent& event); bool detectDoubleClick (const MouseEvent& event); ViewBox& operator = (IView* view); operator IView * (); IView* operator -> (); template <class T> T* as (); IView* as (); static void setModuleTheme (ITheme* theme); static ITheme* getModuleTheme (); virtual tbool CCL_API onViewEvent (const GUIEvent& event) = 0; virtual IMouseHandler*CCL_API createMouseHandler (const MouseEvent& event) = 0; virtual ITouchHandler*CCL_API createTouchHandler (const TouchEvent& event) = 0; virtual IDragHandler*CCL_API createDragHandler (const DragEvent& event) = 0; virtual IUnknown*CCL_API getController () const = 0; virtual IAccessibilityProvider*CCL_API getCustomAccessibilityProvider () const = 0; void dispose (); virtual tbool CCL_API onViewEvent (const GUIEvent& event); virtual IMouseHandler*CCL_API createMouseHandler (const MouseEvent& event); virtual ITouchHandler*CCL_API createTouchHandler (const TouchEvent& event); virtual IDragHandler*CCL_API createDragHandler (const DragEvent& event); virtual IUnknown*CCL_API getController () const; virtual IAccessibilityProvider*CCL_API getCustomAccessibilityProvider () const; virtual void onViewsChanged (); virtual void attached (IView* parent); virtual void removed (IView* parent); virtual void onActivate (bool state); virtual void onSize (PointRef delta); virtual void onMove (PointRef delta); virtual void onChildSized (IView* child, PointRef delta); virtual void onVisualStyleChanged (); virtual void onDisplayPropertiesChanged (const DisplayChangedEvent& event); virtual void onColorSchemeChanged (const ColorSchemeEvent& event); virtual void draw (const DrawEvent& event); virtual bool onMouseDown (const MouseEvent& event); virtual bool onMouseUp (const MouseEvent& event); virtual bool onMouseEnter (const MouseEvent& event); virtual bool onMouseMove (const MouseEvent& event); virtual bool onMouseLeave (const MouseEvent& event); virtual bool onMouseWheel (const MouseWheelEvent& event); virtual bool onContextMenu (const ContextMenuEvent& event); virtual bool onTrackTooltip (const TooltipEvent& event); void setMouseHandler (IMouseHandler* handler); virtual bool onGesture (const GestureEvent& event); virtual bool onFocus (const FocusEvent& event); virtual bool onKeyDown (const KeyEvent& event); virtual bool onKeyUp (const KeyEvent& event); virtual bool onDragEnter (const DragEvent& event); virtual bool onDragOver (const DragEvent& event); virtual bool onDragLeave (const DragEvent& event); virtual bool onDrop (const DragEvent& event); operator IUnknown * (); DECLARE_CLASS (UserControl, Object); void resetSizeLimits (); virtual IAccessibilityProvider*CCL_API getCustomAccessibilityProvider () const; template <class T> static T* cast_IView (IView* view); virtual void showSelection (bool redraw = true) = 0; virtual void hideSelection (bool redraw = true) = 0; virtual void makeSelectedItemsVisible (bool relaxed) = 0;
Detailed Documentation
Methods
EditModel& getModel () const
Get model (owned by component).
Selection& getSelection () const
Get selection (owned by model).
EditTool* getTool () const
Get tool assigned to this edit view.
void setTool (EditTool* tool)
Set new tool (shared by edit view)
virtual void makeItemVisible (Object* item, tbool relaxed = false)
Try to make the given item visible (e.g.
by scrolling).
bool isSelectionVisible () const
Check if selection is visible.
bool isMouseInside () const
Check if mouse cursor is inside view.
void addEditLayer (EditLayer* layer)
Edit layers.
PROPERTY_FLAG (editViewFlags, kToolActivation, wantsToolActivation)
EditView wants tools and editor activation.
State maintained by edit handler.
editHandlerActive PROPERTY_FLAG (editViewFlags, kCrossCursor, wantsCrossCursor)
EditView wants crosshair cursor.
Set this as active EditView when attached (enabled by default).
editHandlerActive activateOnAttach bool hasCrossCursor () const
Check if crosshair cursor is present.
bool isCrossCursorVisible () const
Check if crosshair cursor is visible.
void showCrossCursor (bool state)
Show/hide crosshair cursor (if present).
virtual void moveCrossCursor (const Point& position)
Move crosshair cursor (if present).
void setEditTooltip (StringRef text, const Point* position = nullptr)
Show text in a tooltip popup.
The popup is moved to the mouse if no position is given.
void hideEditTooltip ()
Hide the tooltip popup.
virtual IUnknown*CCL_API getController () const
Note: hides ViewBox::getController()!
virtual IMouseHandler*CCL_API createMouseHandler (const MouseEvent& event)
Create handler for mouse tracking.
virtual ITouchHandler*CCL_API createTouchHandler (const TouchEvent& event)
Create handler for touch tracking.
virtual IDragHandler*CCL_API createDragHandler (const DragEvent& event)
Create handler for mouse tracking.
virtual void CCL_API notify (ISubject* subject, MessageRef msg)
Receive notification from subject.
static void applyCrossCursorEnabled ()
Global crosshair cursor configuration changed.
static EditView* findUnderMouse (Point* relativeMousePos = nullptr)
Find EditView under mouse (does not have to be the active edit view).
Optionally returns mousePos relative to found view.