|
ACF $AcfVersion:0$
|
#include <CLineShape.h>
Public Types | |
| enum | LineDisplayMode { LDM_SIMPLE , LDM_ARROW } |
| typedef CInteractiveShapeBase | BaseClass |
Public Types inherited from iview::CInteractiveShapeBase | |
| 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 | |
| CLineShape () | |
| int | GetLineDisplayMode () const |
| Get displayed of line. | |
| void | SetLineDisplayMode (int mode) |
| Set display mode of this line. | |
| double | GetArrowLinesProportion () const |
| Get proportion of arrow side lines to line length. | |
| void | SetArrowLinesProportion (double value) |
| Set proportion of arrow side lines to line length. | |
| double | GetMaxArrowLineLength () const |
| Get maximal length of arrow lines. | |
| void | SetMaxArrowLineLength (double value) |
| Set maximal length of arrow lines. | |
| virtual void | InvalidateBoundingBox () override |
| Invalidate bounding box. | |
| virtual TouchState | IsTouched (istd::CIndex2d position) const override |
| Check, if any shape is touched. | |
| virtual void | Draw (QPainter &drawContext) const override |
| Draw this shape using draw context. | |
| 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 | 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. | |
Public Member Functions inherited from iview::CInteractiveShapeBase | |
| 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 | 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 | 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 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 |
Protected Member Functions | |
| void | EnsurePointsAreValid () const |
| void | EnsurePointsAreValid (const i2d::CLine2d &line) const |
| void | CalcPoints (const i2d::CLine2d &line) const |
| void | ResetPoints () const |
| virtual i2d::CRect | CalcBoundingBox () const override |
| Calculate bounding box. | |
| virtual void | BeginLogDrag (const i2d::CVector2d &reference) override |
| virtual void | SetLogDragPosition (const i2d::CVector2d &position) override |
Protected Member Functions inherited from iview::CInteractiveShapeBase | |
| 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. | |
Protected Member Functions inherited from iview::CShapeBase | |
| double | GetLocalLineWidth (const i2d::CVector2d &screenPosition) const |
| Get line with (in logical coordinates) for single screen position. | |
| 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 |
Protected Member Functions inherited from imod::CSingleModelObserverBase | |
| void | SetModelPtr (imod::IModel *modelPtr) |
| Set internal model pointer to specified value. | |
Static Protected Member Functions | |
| static bool | CheckLine (const istd::CIndex2d &firstPoint, const istd::CIndex2d &secondPoint, const istd::CIndex2d &point, double maxDistance) |
Protected Attributes | |
| int | m_lineDisplayMode |
| double | m_arrowLinesProportion |
| double | m_maxArrowLineLength |
| i2d::CVector2d | m_referencePosition |
| int | m_referenceIndex |
| istd::CIndex2d | m_points [4] |
| bool | m_arePointsValid |
Additional Inherited Members | |
Static Protected Attributes inherited from imod::CSingleModelObserverBase | |
| static const istd::IChangeable::ChangeSet | s_undoChanges |
Definition at line 15 of file CLineShape.h.
Definition at line 18 of file CLineShape.h.
| Enumerator | |
|---|---|
| LDM_SIMPLE | |
| LDM_ARROW | |
Definition at line 22 of file CLineShape.h.
| iview::CLineShape::CLineShape | ( | ) |
|
overrideprotectedvirtual |
Implements iview::CInteractiveShapeBase.
|
overrideprotectedvirtual |
Calculate bounding box.
You have to implement this method in your shapes implementations.
Implements iview::CShapeBase.
|
protected |
Referenced by EnsurePointsAreValid(), and EnsurePointsAreValid().
|
staticprotected |
|
overridevirtual |
Draw this shape using draw context.
Implements iview::IVisualizable.
|
inlineprotected |
Definition at line 108 of file CLineShape.h.
References CalcPoints(), imod::CSingleModelObserverBase::GetObservedModel(), m_arePointsValid, NULL, and ResetPoints().
|
inlineprotected |
Definition at line 123 of file CLineShape.h.
References CalcPoints(), and m_arePointsValid.
| double iview::CLineShape::GetArrowLinesProportion | ( | ) | const |
Get proportion of arrow side lines to line length.
If there is no arrow display mode, this value has no effect.
| int iview::CLineShape::GetLineDisplayMode | ( | ) | const |
Get displayed of line.
| double iview::CLineShape::GetMaxArrowLineLength | ( | ) | const |
Get maximal length of arrow lines.
If there is no arrow display mode, this value has no effect.
|
overridevirtual |
Invalidate bounding box.
You can overload this method to provide validation of your internal attributes, because this method is called from Invalidate and OnDisplayChange methods. Please don't forget base method call in your implementations.
Reimplemented from iview::CShapeBase.
|
overridevirtual |
Check, if any shape is touched.
When shape is touched, it return also pointer to this shape.
Reimplemented from iview::CShapeBase.
|
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::CInteractiveShapeBase.
|
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. |
Reimplemented from iview::CInteractiveShapeBase.
|
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). |
Reimplemented from iview::CInteractiveShapeBase.
|
protected |
Referenced by EnsurePointsAreValid().
| void iview::CLineShape::SetArrowLinesProportion | ( | double | value | ) |
Set proportion of arrow side lines to line length.
If there is no arrow display mode, this value has no effect.
| void iview::CLineShape::SetLineDisplayMode | ( | int | mode | ) |
Set display mode of this line.
|
overrideprotectedvirtual |
Implements iview::CInteractiveShapeBase.
| void iview::CLineShape::SetMaxArrowLineLength | ( | double | value | ) |
Set maximal length of arrow lines.
If there is no arrow display mode, this value has no effect.
|
mutableprotected |
Definition at line 102 of file CLineShape.h.
Referenced by EnsurePointsAreValid(), and EnsurePointsAreValid().
|
protected |
Definition at line 96 of file CLineShape.h.
|
protected |
Definition at line 95 of file CLineShape.h.
|
protected |
Definition at line 97 of file CLineShape.h.
|
mutableprotected |
Definition at line 101 of file CLineShape.h.
|
protected |
Definition at line 100 of file CLineShape.h.
|
protected |
Definition at line 99 of file CLineShape.h.