|
ACF $AcfVersion:0$
|
#include <CInteractiveShapeBase.h>
Public Types | |
| typedef CShapeBase | BaseClass |
Public Types inherited from iview::CShapeBase | |
| enum | ShapeTransformMode { STM_VIEW , STM_SHAPE , STM_COMBINE } |
| Describe how shape tranformation is interpreted. More... | |
| typedef imod::CSingleModelObserverBase | BaseClass |
Public Types inherited from imod::CSingleModelObserverBase | |
| typedef imod::IModel | ModelType |
Public Types inherited from iview::IShape | |
| enum | ChangeFlags { CF_CALIB = 0x3663adf } |
| Data model change notification flags. More... | |
Public Types inherited from iview::ITouchable | |
| enum | TouchState { TS_NONE , TS_INACTIVE , TS_TICKER , TS_DRAGGABLE , TS_AREA , TS_OTHER , TS_LAST = TS_OTHER } |
| Enumeration for possible shape touch states. More... | |
Public Member Functions | |
| CInteractiveShapeBase () | |
| CInteractiveShapeBase (const CInteractiveShapeBase &shape) | |
| virtual | ~CInteractiveShapeBase () |
| virtual bool | IsEditablePosition () const |
| virtual void | SetEditablePosition (bool state=true) |
| virtual bool | IsSelected () const override |
| Check, if this shape is selected. | |
| virtual void | SetSelected (bool selectFlag=true) override |
| Inform that this object was selected or deselected. | |
| virtual bool | OnMouseButton (istd::CIndex2d position, Qt::MouseButton buttonType, bool downFlag) override |
| It is called, when mouse button is pushed down or up on this object. | |
| virtual bool | OnMouseMove (istd::CIndex2d position) override |
| It is called, when mouse is moved. | |
| virtual bool | IsDraggable () const override |
| Check if drag is enabled. | |
| virtual void | BeginDrag (const istd::CIndex2d &position) override |
| Called before dragging is begin. | |
| virtual void | SetDragPosition (const istd::CIndex2d &position) override |
| Set new drag position. | |
| virtual void | EndDrag () override |
| Called after dragging. | |
| virtual bool | OnModelAttached (imod::IModel *modelPtr, istd::IChangeable::ChangeSet &changeMask) override |
| Callback invoked when an observable model is about to be attached to this observer. | |
| virtual bool | OnModelDetached (imod::IModel *modelPtr) override |
| Callback invoked when an observable model is about to be detached from this observer. | |
Public Member Functions inherited from iview::CShapeBase | |
| CShapeBase () | |
| CShapeBase (const CShapeBase &shape) | |
| virtual | ~CShapeBase () |
| virtual bool | AssignToLayer (int layerType) |
| Assign this shape to same layer. | |
| virtual void | Invalidate () |
| iview::IDisplay * | GetDisplayPtr () const |
| Get access to currently connected display. | |
| ShapeTransformMode | GetTransformMode () const |
| Get shape transformation mode. | |
| void | SetTransformMode (ShapeTransformMode mode) |
| Set shape transformation mode. | |
| i2d::CVector2d | GetScreenPosition (const i2d::CVector2d &logPosition) const |
| Get screen position based on logical position. | |
| i2d::CVector2d | GetLogPosition (const i2d::CVector2d &screenPosition) const |
| Get logical position based on screen position. | |
| virtual int | GetLayerType () const override |
| Get layer type of this shape object. | |
| virtual i2d::CRect | GetBoundingBox () const override |
| Return bounding box in client window coordinates. | |
| virtual void | SetVisible (bool state=true) override |
| Make shape to be visible or not. | |
| virtual const IColorSchema * | GetUserColorSchema () const override |
| Get color schema from view or user defined. | |
| virtual void | SetUserColorSchema (const IColorSchema *schemaPtr) override |
| Set color schema to draw shape. | |
| virtual void | SetDefaultDescription (const QString &description) override |
| Set default description will be used to display on console. | |
| virtual void | SetToolTip (const QString &toolTip) override |
| virtual bool | IsInside (const istd::CIndex2d &screenPosition) const override |
| virtual bool | IsVisible () const override |
| Check, if this object is visible. | |
| virtual bool | IsDisplayAccepted (const IDisplay &display) const override |
| Check if this object can be connected to this display. | |
| virtual void | OnConnectDisplay (IDisplay *displayPtr) override |
| Called after display is connected. | |
| virtual void | OnDisconnectDisplay (IDisplay *displayPtr) override |
| Called after display is disconnected. | |
| virtual bool | OnDisplayChange (const istd::IChangeable::ChangeSet &changeSet) override |
| It informs about changes in display. | |
| virtual ITouchable::TouchState | IsTouched (istd::CIndex2d position) const override |
| Check, if any shape is touched. | |
| virtual QString | GetShapeDescriptionAt (istd::CIndex2d position) const override |
| Get description to shape at specified position. | |
| virtual QString | GetToolTipAt (istd::CIndex2d position) const override |
| Get tooltip at specified position. | |
| virtual void | OnUpdate (const istd::IChangeable::ChangeSet &changeSet) override |
| Called on update of observed model. | |
Public Member Functions inherited from imod::CSingleModelObserverBase | |
| CSingleModelObserverBase () | |
| virtual | ~CSingleModelObserverBase () |
| imod::IModel * | GetObservedModel () const |
| Get access to observed model. | |
| imod::IModel * | GetModelPtr () const |
| Get access to observed model. | |
| void | EnsureModelDetached () |
| Make sure this observer is detached. | |
| void | SetObservedIds (const istd::IChangeable::ChangeSet &changeMask) |
| Set list of ID's beeing observed. | |
| virtual bool | IsModelAttached (const imod::IModel *modelPtr=NULL) const override |
| Checks if the specified model is currently attached to this observer. | |
| virtual void | BeforeUpdate (imod::IModel *modelPtr) override |
| Callback invoked before an update of the observer's content occurs. | |
| virtual void | AfterUpdate (imod::IModel *modelPtr, const istd::IChangeable::ChangeSet &changeSet) override |
| Callback invoked after an update of the observer's content occurs. | |
Public Member Functions inherited from istd::IPolymorphic | |
| virtual | ~IPolymorphic () |
Public Member Functions inherited from iview::IShape | |
| virtual bool | IsAreaTouchAllowed () const |
| virtual void | SetAreaTouchAllowed (bool=true) |
| virtual iview::ISelectable::MousePointerMode | UpdateMousePointer (iview::ISelectable::MousePointerMode defaultPointer, ITouchable::TouchState, const istd::CIndex2d &) const |
Public Member Functions inherited from iview::IVisualizable | |
| virtual void | Draw (QPainter &drawContext) const =0 |
| Draw this shape using draw context. | |
Protected Member Functions | |
| void | BeginTickerDrag () |
| void | EndTickerDrag () |
| void | UpdateModelChanges () |
| int | GetKeysState () const |
| Get actual keys state. | |
| int | GetEditMode () const |
| Get actual edit mode. | |
| int | GetDisplayMode () const |
| Get actual display mode. | |
| void | DrawText (QPainter &drawContext, istd::CIndex2d point, const QString &text) const |
| Draw text on a given position. | |
| virtual bool | IsDisplayChangeImportant (const istd::IChangeable::ChangeSet &changeSet) override |
| Get display changes mask. | |
| virtual void | BeginLogDrag (const i2d::CVector2d &reference)=0 |
| virtual void | SetLogDragPosition (const i2d::CVector2d &position)=0 |
Protected Member Functions inherited from iview::CShapeBase | |
| double | GetLocalLineWidth (const i2d::CVector2d &screenPosition) const |
| Get line with (in logical coordinates) for single screen position. | |
| virtual void | InvalidateBoundingBox () |
| Invalidate bounding box. | |
| bool | IsDisplayConnected () const |
| Check if display is connected. | |
| const IColorSchema & | GetColorSchema () const |
| Get color schema for this shape. | |
| i2d::CRect | GetClientRect () const |
| Get display client rectangle. | |
| bool | IsBoundingBoxValid () const |
| void | DisconnectDisplay () |
| virtual const iview::CScreenTransform & | GetViewToScreenTransform () const |
| virtual i2d::CRect | CalcBoundingBox () const =0 |
| Calculate bounding box. | |
Protected Member Functions inherited from imod::CSingleModelObserverBase | |
| void | SetModelPtr (imod::IModel *modelPtr) |
| Set internal model pointer to specified value. | |
Additional Inherited Members | |
Static Protected Attributes inherited from imod::CSingleModelObserverBase | |
| static const istd::IChangeable::ChangeSet | s_undoChanges |
Definition at line 22 of file CInteractiveShapeBase.h.
Definition at line 28 of file CInteractiveShapeBase.h.
| iview::CInteractiveShapeBase::CInteractiveShapeBase | ( | ) |
| iview::CInteractiveShapeBase::CInteractiveShapeBase | ( | const CInteractiveShapeBase & | shape | ) |
|
virtual |
|
overridevirtual |
Called before dragging is begin.
It set also reference value for dragging position.
Implements iview::IDraggable.
|
protectedpure virtual |
|
protected |
|
protected |
Draw text on a given position.
|
overridevirtual |
Called after dragging.
Implements iview::IDraggable.
|
protected |
|
inlineprotected |
Get actual display mode.
Note, that display must be connected to use this method.
Definition at line 139 of file CInteractiveShapeBase.h.
References iview::ISelectable::EM_NONE, iview::ISelectable::GetDisplayMode(), iview::CShapeBase::GetDisplayPtr(), and NULL.
|
inlineprotected |
Get actual edit mode.
Note, that display must be connected to use this method.
Definition at line 127 of file CInteractiveShapeBase.h.
References iview::ISelectable::EM_NONE, iview::CShapeBase::GetDisplayPtr(), iview::ISelectable::GetEditMode(), and NULL.
|
inlineprotected |
Get actual keys state.
Note, that display must be connected to use this method.
Definition at line 115 of file CInteractiveShapeBase.h.
References iview::CShapeBase::GetDisplayPtr(), iview::ISelectable::GetKeysState(), and NULL.
|
inlineoverrideprotectedvirtual |
Get display changes mask.
Only changes there are in mask will be accepted, rest will be ignored.
Reimplemented from iview::CShapeBase.
Definition at line 153 of file CInteractiveShapeBase.h.
References iview::IDisplay::CF_DISPLAY_MODE, iview::IDisplay::CF_EDIT_MODE, istd::IChangeable::ChangeSet::Contains(), and iview::CShapeBase::IsDisplayChangeImportant().
|
overridevirtual |
|
inlinevirtual |
Definition at line 101 of file CInteractiveShapeBase.h.
|
overridevirtual |
Check, if this shape is selected.
Implements iview::IInteractiveShape.
|
overridevirtual |
Callback invoked when an observable model is about to be attached to this observer.
This method is called by the model when attempting to establish an observer relationship. The implementation should:
| modelPtr | Pointer to the model object being attached. Never nullptr. |
| changeMask | Output parameter where the observer specifies which change types it wants to be notified about. Set the appropriate change flags using changeMask.Set(changeId). An empty mask means the observer wants all changes. |
Reimplemented from iview::CShapeBase.
Reimplemented in iview::CAffineTransformation2dShape, iview::CAnnulusSegmentShape, iview::CAnnulusShape, iview::CArcShape, iview::CCircleShape, iview::CGraphPlotShape, iview::CLabelShape, iview::CLineShape, iview::COrientedCircleShape, iview::CParallelogramShape, iview::CPinShape, iview::CPolygonShape, iview::CPolylineShape, iview::CRectangleShape, and iview::CSplineShape.
|
overridevirtual |
Callback invoked when an observable model is about to be detached from this observer.
This method is called when the observer-model relationship is being terminated, either explicitly or because the model is being destroyed. The implementation should clean up any state or resources related to this model.
| modelPtr | Pointer to the model object being detached |
Reimplemented from iview::CShapeBase.
|
overridevirtual |
It is called, when mouse button is pushed down or up on this object.
| position | - position of mouse pointer on client area (picture coords). |
| downFlag | - true, if mouse button is pushed down, false if pushed up. |
Implements iview::IMouseActionObserver.
Reimplemented in iview::CAnnulusSegmentShape, iview::CAnnulusShape, iview::CArcShape, iview::CCenterPinShape, iview::CCircleShape, iview::CLabelShape, iview::CLineShape, iview::CParallelogramShape, iview::CPinShape, iview::CPolygonShape, iview::CPolylineShape, iview::CRectangleShape, iview::CRectControlledShapeBase, and iview::CTubePolylineShape.
|
overridevirtual |
It is called, when mouse is moved.
Only objects with focus receive this event.
| position | - position of mouse pointer on client area (picture coords). |
Implements iview::IMouseActionObserver.
Reimplemented in iview::CAnnulusSegmentShape, iview::CAnnulusShape, iview::CArcShape, iview::CCenterPinShape, iview::CCircleShape, iview::CLabelShape, iview::CLineShape, iview::CParallelogramShape, iview::CPinShape, iview::CPolygonShape, iview::CRectangleShape, and iview::CTubePolylineShape.
|
overridevirtual |
Set new drag position.
It must be enclosed using BeginDrag() and EndDrag() methods.
Implements iview::IDraggable.
|
inlinevirtual |
Definition at line 107 of file CInteractiveShapeBase.h.
Referenced by iqt2d::TShapeParamsGuiCompBase< Ui, Shape, ShapeModel >::CreateShape().
|
protectedpure virtual |
|
overridevirtual |
Inform that this object was selected or deselected.
| selectFlag | if true - selection, else deselection. |
Implements iview::IInteractiveShape.
|
protected |