ACF $AcfVersion:0$
Public Types | Public Member Functions | Protected Member Functions | List of all members
iview::CDistanceToolShape Class Reference

#include <CDistanceToolShape.h>

Inheritance diagram for iview::CDistanceToolShape:
iview::CShapeBase iview::IInteractiveShape imod::CSingleModelObserverBase iview::IShape iview::IShape iview::IMouseActionObserver istd::IPolymorphic iview::ITouchable iview::IVisualizable imod::IObserver iview::ITouchable iview::IVisualizable imod::IObserver imod::IObserver

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

 CDistanceToolShape ()
 
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 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 OnModelAttached (imod::IModel *modelPtr, istd::IChangeable::ChangeSet &changeMask) override
 Callback invoked when an observable model is about to be attached to this observer.
 
virtual TouchState IsTouched (istd::CIndex2d position) const override
 Check, if any shape is touched.
 
- 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::IDisplayGetDisplayPtr () 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 IColorSchemaGetUserColorSchema () 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 bool OnModelDetached (imod::IModel *modelPtr) override
 Callback invoked when an observable model is about to be detached from this observer.
 
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::IModelGetObservedModel () const
 Get access to observed model.
 
imod::IModelGetModelPtr () 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

const i2d::ICalibration2dGetCalibration () const
 
virtual void DrawLabel (QPainter &drawContext) const
 
virtual void Draw (QPainter &drawContext) const override
 Draw this shape using draw context.
 
virtual i2d::CRect CalcBoundingBox () const override
 Calculate bounding box.
 
- 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 bool IsDisplayChangeImportant (const istd::IChangeable::ChangeSet &changeSet)
 Get display changes mask.
 
virtual void InvalidateBoundingBox ()
 Invalidate bounding box.
 
bool IsDisplayConnected () const
 Check if display is connected.
 
const IColorSchemaGetColorSchema () const
 Get color schema for this shape.
 
i2d::CRect GetClientRect () const
 Get display client rectangle.
 
bool IsBoundingBoxValid () const
 
void DisconnectDisplay ()
 
virtual const iview::CScreenTransformGetViewToScreenTransform () const
 
- 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
 

Detailed Description

Definition at line 14 of file CDistanceToolShape.h.

Member Typedef Documentation

◆ BaseClass

Definition at line 19 of file CDistanceToolShape.h.

Constructor & Destructor Documentation

◆ CDistanceToolShape()

iview::CDistanceToolShape::CDistanceToolShape ( )

Member Function Documentation

◆ CalcBoundingBox()

virtual i2d::CRect iview::CDistanceToolShape::CalcBoundingBox ( ) const
overrideprotectedvirtual

Calculate bounding box.

You have to implement this method in your shapes implementations.

Implements iview::CShapeBase.

◆ Draw()

virtual void iview::CDistanceToolShape::Draw ( QPainter &  drawContext) const
overrideprotectedvirtual

Draw this shape using draw context.

Implements iview::IVisualizable.

◆ DrawLabel()

virtual void iview::CDistanceToolShape::DrawLabel ( QPainter &  drawContext) const
protectedvirtual

◆ GetCalibration()

const i2d::ICalibration2d * iview::CDistanceToolShape::GetCalibration ( ) const
protected

◆ IsSelected()

virtual bool iview::CDistanceToolShape::IsSelected ( ) const
overridevirtual

Check, if this shape is selected.

Implements iview::IInteractiveShape.

◆ IsTouched()

virtual TouchState iview::CDistanceToolShape::IsTouched ( istd::CIndex2d  position) const
overridevirtual

Check, if any shape is touched.

When shape is touched, it return also pointer to this shape.

Returns
touch state for the shape, or iview::IInteractiveShape::TS_NONE, when nothing found.

Reimplemented from iview::CShapeBase.

◆ OnModelAttached()

virtual bool iview::CDistanceToolShape::OnModelAttached ( imod::IModel modelPtr,
istd::IChangeable::ChangeSet changeMask 
)
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:

  1. Validate that the model is of an acceptable type
  2. Set the changeMask to specify which changes to monitor
  3. Return true to accept the attachment, or false to reject it
Parameters
modelPtrPointer to the model object being attached. Never nullptr.
changeMaskOutput 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.
Returns
true if the model is accepted and attachment succeeds, false to reject the attachment (e.g., if the model is of incompatible type).
Note
After successful attachment, the observer should initialize its state based on the current model data.
The changeMask allows filtering notifications for better performance. Only changes matching the mask will trigger AfterUpdate() calls.
virtual bool OnModelAttached(IModel* modelPtr,
{
// Type check
CMyModel* model = dynamic_cast<CMyModel*>(modelPtr);
if (!model) return false;
// Set up change filtering
changeMask.Set(CMyModel::CF_DATA_CHANGED);
changeMask.Set(CMyModel::CF_STATUS_CHANGED);
// Don't set CF_INTERNAL_CHANGED - we don't care about those
// Initialize view from current model state
UpdateViewFromModel(model);
return true;
}
Set of change flags (its IDs).
Definition IChangeable.h:36
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.
See also
OnModelDetached(), IsModelAttached(), AfterUpdate()

Reimplemented from iview::CShapeBase.

◆ OnMouseButton()

virtual bool iview::CDistanceToolShape::OnMouseButton ( istd::CIndex2d  position,
Qt::MouseButton  buttonType,
bool  downFlag 
)
overridevirtual

It is called, when mouse button is pushed down or up on this object.

Parameters
position- position of mouse pointer on client area (picture coords).
downFlag- true, if mouse button is pushed down, false if pushed up.
Returns
true if this shape should get focus to catch all mouse movements.

Implements iview::IMouseActionObserver.

◆ OnMouseMove()

virtual bool iview::CDistanceToolShape::OnMouseMove ( istd::CIndex2d  position)
overridevirtual

It is called, when mouse is moved.

Only objects with focus receive this event.

Parameters
position- position of mouse pointer on client area (picture coords).
Returns
true if this shape should hold focus to catch longer all mouse movements.

Implements iview::IMouseActionObserver.

◆ SetSelected()

virtual void iview::CDistanceToolShape::SetSelected ( bool  selectFlag = true)
overridevirtual

Inform that this object was selected or deselected.

Parameters
selectFlagif true - selection, else deselection.

Implements iview::IInteractiveShape.


The documentation for this class was generated from the following file: