Public Types | Public Member Functions | Protected Member Functions | List of all members
iview::CInteractiveShapeBase Class Referenceabstract

#include <CInteractiveShapeBase.h>

Inheritance diagram for iview::CInteractiveShapeBase:
iview::CShapeBase iview::IInteractiveShape iview::IDraggable imod::CSingleModelObserverBase iview::IShape iview::IShape iview::IMouseActionObserver istd::IPolymorphic istd::IPolymorphic iview::ITouchable iview::IVisualizable imod::IObserver iview::ITouchable iview::IVisualizable imod::IObserver imod::IObserver iview::CAffineTransformation2dShape iview::CLineShape iview::CParallelogramShape iview::CPinShape iview::CRectangleShape iview::CRectControlledShapeBase iview::CAnnulusShape iview::CArcShape iview::CCenterPinShape iview::CCircleShape iview::CLabelShape iview::CPolygonShape iview::CAnnulusSegmentShape iview::COrientedCircleShape iview::CPolylineShape iview::CSplineShape iview::CTubePolylineShape

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_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
 Check, if this shape is selected. More...
 
virtual void SetSelected (bool selectFlag=true)
 Inform that this object was selected or deselected. More...
 
virtual bool OnMouseButton (istd::CIndex2d position, Qt::MouseButton buttonType, bool downFlag)
 It is called, when mouse button is pushed down or up on this object. More...
 
virtual bool OnMouseMove (istd::CIndex2d position)
 It is called, when mouse is moved. More...
 
virtual bool IsDraggable () const
 Check if drag is enabled. More...
 
virtual void BeginDrag (const istd::CIndex2d &position)
 Called before dragging is begin. More...
 
virtual void SetDragPosition (const istd::CIndex2d &position)
 Set new drag position. More...
 
virtual void EndDrag ()
 Called after dragging. More...
 
virtual bool OnModelAttached (imod::IModel *modelPtr, istd::IChangeable::ChangeSet &changeMask)
 This call back function will be called, if an observable object is about to be attached. More...
 
virtual bool OnModelDetached (imod::IModel *modelPtr)
 This call back function will be called, if an observable object is about to be detached. More...
 
- 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. More...
 
virtual void Invalidate ()
 
iview::IDisplayGetDisplayPtr () const
 Get access to currently connected display. More...
 
ShapeTransformMode GetTransformMode () const
 Get shape transformation mode. More...
 
void SetTransformMode (ShapeTransformMode mode)
 Set shape transformation mode. More...
 
virtual int GetLayerType () const
 Get layer type of this shape object. More...
 
virtual i2d::CRect GetBoundingBox () const
 Return bounding box in client window coordinates. More...
 
virtual void SetVisible (bool state=true)
 Make shape to be visible or not. More...
 
virtual const IColorSchemaGetUserColorSchema () const
 Get color schema from view or user defined. More...
 
virtual void SetUserColorSchema (const IColorSchema *schemaPtr)
 Set color schema to draw shape. More...
 
virtual void SetDefaultDescription (const QString &description)
 Set default description will be used to display on console. More...
 
virtual bool IsVisible () const
 Check, if this object is visible. More...
 
virtual bool IsDisplayAccepted (const IDisplay &display) const
 Check if this object can be connected to this display. More...
 
virtual void OnConnectDisplay (IDisplay *displayPtr)
 Called after display is connected. More...
 
virtual void OnDisconnectDisplay (IDisplay *displayPtr)
 Called after display is disconnected. More...
 
virtual bool OnDisplayChange (const istd::IChangeable::ChangeSet &changeSet)
 It informs about changes in display. More...
 
virtual ITouchable::TouchState IsTouched (istd::CIndex2d position) const
 Check, if any shape is touched. More...
 
virtual QString GetShapeDescriptionAt (istd::CIndex2d position) const
 Get description to shape at specified position. More...
 
virtual void OnUpdate (const istd::IChangeable::ChangeSet &changeSet)
 Called on update of observed model. More...
 
- Public Member Functions inherited from imod::CSingleModelObserverBase
 CSingleModelObserverBase ()
 
virtual ~CSingleModelObserverBase ()
 
imod::IModelGetObservedModel () const
 Get access to observed model. More...
 
imod::IModelGetModelPtr () const
 Get access to observed model. More...
 
void EnsureModelDetached ()
 Make sure this observer is detached. More...
 
void SetObservedIds (const istd::IChangeable::ChangeSet &changeMask)
 Set list of ID's beeing observed. More...
 
virtual bool IsModelAttached (const imod::IModel *modelPtr=NULL) const
 Check if specified model is attached. More...
 
virtual void BeforeUpdate (imod::IModel *modelPtr)
 This function will be called before update of the observer contents occures. More...
 
virtual void AfterUpdate (imod::IModel *modelPtr, const istd::IChangeable::ChangeSet &changeSet)
 This function will be called after update of the observer contents occures. More...
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 
- Public Member Functions inherited from iview::IVisualizable
virtual void Draw (QPainter &drawContext) const =0
 Draw this shape using draw context. More...
 

Protected Member Functions

void BeginTickerDrag ()
 
void EndTickerDrag ()
 
void UpdateModelChanges ()
 
int GetKeysState () const
 Get actual keys state. More...
 
int GetEditMode () const
 Get actual edit mode. More...
 
void DrawText (QPainter &drawContext, istd::CIndex2d point, const QString &text) const
 Draw text on a given position. More...
 
virtual bool IsDisplayChangeImportant (const istd::IChangeable::ChangeSet &changeSet)
 Get display changes mask. More...
 
virtual void BeginLogDrag (const i2d::CVector2d &reference)=0
 
virtual void SetLogDragPosition (const i2d::CVector2d &position)=0
 
- Protected Member Functions inherited from iview::CShapeBase
i2d::CVector2d GetScreenPosition (const i2d::CVector2d &logPosition) const
 Get screen position based on logical position. More...
 
i2d::CVector2d GetLogPosition (const i2d::CVector2d &screenPosition) const
 Get logical position based on screen position. More...
 
double GetLocalLineWidth (const i2d::CVector2d &screenPosition) const
 Get line with (in logical coordinates) for single screen position. More...
 
virtual void InvalidateBoundingBox ()
 Invalidate bounding box. More...
 
bool IsDisplayConnected () const
 Check if display is connected. More...
 
const IColorSchemaGetColorSchema () const
 Get color schema for this shape. More...
 
i2d::CRect GetClientRect () const
 Get display client rectangle. More...
 
bool IsBoundingBoxValid () const
 
void DisconnectDisplay ()
 
virtual const
iview::CScreenTransform
GetViewToScreenTransform () const
 
virtual i2d::CRect CalcBoundingBox () const =0
 Calculate bounding box. More...
 
- Protected Member Functions inherited from imod::CSingleModelObserverBase
void SetModelPtr (imod::IModel *modelPtr)
 Set internal model pointer to specified value. More...
 

Additional Inherited Members

- Static Protected Attributes inherited from imod::CSingleModelObserverBase
static const
istd::IChangeable::ChangeSet 
s_undoChanges
 

Detailed Description

Definition at line 22 of file CInteractiveShapeBase.h.

Member Typedef Documentation

Definition at line 28 of file CInteractiveShapeBase.h.

Constructor & Destructor Documentation

iview::CInteractiveShapeBase::CInteractiveShapeBase ( )
iview::CInteractiveShapeBase::CInteractiveShapeBase ( const CInteractiveShapeBase shape)
virtual iview::CInteractiveShapeBase::~CInteractiveShapeBase ( )
virtual

Member Function Documentation

virtual void iview::CInteractiveShapeBase::BeginDrag ( const istd::CIndex2d reference)
virtual

Called before dragging is begin.

It set also reference value for dragging position.

Implements iview::IDraggable.

virtual void iview::CInteractiveShapeBase::BeginLogDrag ( const i2d::CVector2d reference)
protectedpure virtual
void iview::CInteractiveShapeBase::BeginTickerDrag ( )
protected
void iview::CInteractiveShapeBase::DrawText ( QPainter &  drawContext,
istd::CIndex2d  point,
const QString &  text 
) const
protected

Draw text on a given position.

virtual void iview::CInteractiveShapeBase::EndDrag ( )
virtual

Called after dragging.

Implements iview::IDraggable.

void iview::CInteractiveShapeBase::EndTickerDrag ( )
protected
int iview::CInteractiveShapeBase::GetEditMode ( ) const
inlineprotected

Get actual edit mode.

Note, that display must be connected to use this method.

Definition at line 121 of file CInteractiveShapeBase.h.

References iview::ISelectable::EM_NONE, iview::CShapeBase::GetDisplayPtr(), iview::ISelectable::GetEditMode(), and NULL.

int iview::CInteractiveShapeBase::GetKeysState ( ) const
inlineprotected

Get actual keys state.

Note, that display must be connected to use this method.

Definition at line 109 of file CInteractiveShapeBase.h.

References iview::CShapeBase::GetDisplayPtr(), iview::ISelectable::GetKeysState(), and NULL.

bool iview::CInteractiveShapeBase::IsDisplayChangeImportant ( const istd::IChangeable::ChangeSet changeSet)
inlineprotectedvirtual

Get display changes mask.

Only changes there are in mask will be accepted, rest will be ignored.

Reimplemented from iview::CShapeBase.

Definition at line 135 of file CInteractiveShapeBase.h.

References iview::IDisplay::CF_EDIT_MODE, istd::IChangeable::ChangeSet::Contains(), and iview::CShapeBase::IsDisplayChangeImportant().

virtual bool iview::CInteractiveShapeBase::IsDraggable ( ) const
virtual

Check if drag is enabled.

Implements iview::IDraggable.

Reimplemented in iview::CPolygonShape.

bool iview::CInteractiveShapeBase::IsEditablePosition ( ) const
inlinevirtual

Definition at line 95 of file CInteractiveShapeBase.h.

virtual bool iview::CInteractiveShapeBase::IsSelected ( ) const
virtual

Check, if this shape is selected.

Implements iview::IInteractiveShape.

virtual bool iview::CInteractiveShapeBase::OnModelAttached ( imod::IModel modelPtr,
istd::IChangeable::ChangeSet changeMask 
)
virtual

This call back function will be called, if an observable object is about to be attached.

This function returns a true, if observable object is accepted by the implementation logic of the observer, otherwise returns false.

Parameters
modelPtrpointer to model object being attached.
changeMaskoutput parameter returning set of change ID's will be accepted. returns a false.

Reimplemented from iview::CShapeBase.

Reimplemented in iview::CParallelogramShape, iview::CLineShape, iview::CLabelShape, iview::CPolygonShape, iview::CAffineTransformation2dShape, iview::CAnnulusShape, iview::CArcShape, iview::CCircleShape, iview::CRectangleShape, iview::CAnnulusSegmentShape, iview::CPolylineShape, iview::CPinShape, iview::COrientedCircleShape, and iview::CSplineShape.

virtual bool iview::CInteractiveShapeBase::OnModelDetached ( imod::IModel modelPtr)
virtual

This call back function will be called, if an observable object is about to be detached.

Reimplemented from iview::CShapeBase.

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

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.

Reimplemented in iview::CParallelogramShape, iview::CLineShape, iview::CPolygonShape, iview::CRectControlledShapeBase, iview::CTubePolylineShape, iview::CLabelShape, iview::CRectangleShape, iview::CAnnulusShape, iview::CArcShape, iview::CPinShape, iview::CCenterPinShape, iview::CPolylineShape, iview::CCircleShape, and iview::CAnnulusSegmentShape.

virtual bool iview::CInteractiveShapeBase::OnMouseMove ( istd::CIndex2d  position)
virtual

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.

Reimplemented in iview::CParallelogramShape, iview::CLineShape, iview::CPolygonShape, iview::CTubePolylineShape, iview::CLabelShape, iview::CRectangleShape, iview::CAnnulusShape, iview::CArcShape, iview::CPinShape, iview::CCenterPinShape, iview::CCircleShape, and iview::CAnnulusSegmentShape.

virtual void iview::CInteractiveShapeBase::SetDragPosition ( const istd::CIndex2d position)
virtual

Set new drag position.

It must be enclosed using BeginDrag() and EndDrag() methods.

Implements iview::IDraggable.

void iview::CInteractiveShapeBase::SetEditablePosition ( bool  state = true)
inlinevirtual
virtual void iview::CInteractiveShapeBase::SetLogDragPosition ( const i2d::CVector2d position)
protectedpure virtual
virtual void iview::CInteractiveShapeBase::SetSelected ( bool  selectFlag = true)
virtual

Inform that this object was selected or deselected.

Parameters
selectFlagif true - selection, else deselection.

Implements iview::IInteractiveShape.

void iview::CInteractiveShapeBase::UpdateModelChanges ( )
protected

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

© 2007-2017 Witold Gantzke and Kirill Lepskiy