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

#include <CShapeBase.h>

Inheritance diagram for iview::CShapeBase:
imod::CSingleModelObserverBase iview::IShape imod::IObserver imod::IObserver iview::IVisualizable iview::ITouchable istd::IPolymorphic istd::IPolymorphic istd::IPolymorphic istd::IPolymorphic iview::CImageShape iview::CInteractiveShapeBase iview::CPolypointShape iqtgui::TGuiObserverWrap< CViewProviderGuiComp, iview::CImageShape > iview::CAffineTransformation2dShape iview::CLineShape iview::CParallelogramShape iview::CPinShape iview::CRectangleShape iview::CRectControlledShapeBase iqt2d::CImageViewComp iview::CAnnulusShape iview::CArcShape iview::CCenterPinShape iview::CCircleShape iview::CLabelShape iview::CPolygonShape iview::CAnnulusSegmentShape iview::COrientedCircleShape iview::CPolylineShape iview::CSplineShape iview::CTubePolylineShape

Public Types

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

 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 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...
 
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

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 bool IsDisplayChangeImportant (const istd::IChangeable::ChangeSet &changeSet)
 Get display changes mask. 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 19 of file CShapeBase.h.

Member Typedef Documentation

Definition at line 24 of file CShapeBase.h.

Member Enumeration Documentation

Describe how shape tranformation is interpreted.

Enumerator
STM_VIEW 

Shape transformation will be ignored, view transformation will be used.

STM_SHAPE 

View transformation will be ignored, shape transformation will be used.

STM_COMBINE 

Both transformation will be used, shape transformation will be used as local transformation.

Definition at line 29 of file CShapeBase.h.

Constructor & Destructor Documentation

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

Member Function Documentation

virtual bool iview::CShapeBase::AssignToLayer ( int  layerType)
virtual
virtual i2d::CRect iview::CShapeBase::CalcBoundingBox ( ) const
protectedpure virtual
void iview::CShapeBase::DisconnectDisplay ( )
protected
virtual i2d::CRect iview::CShapeBase::GetBoundingBox ( ) const
virtual

Return bounding box in client window coordinates.

You can store this bounding box for optimization, because about every change of transformation you will be informed by calling OnDisplayChange(int) method.

Implements iview::IShape.

i2d::CRect iview::CShapeBase::GetClientRect ( ) const
protected

Get display client rectangle.

It can be called only when display is connected

See Also
IsDisplayConnected().
const IColorSchema& iview::CShapeBase::GetColorSchema ( ) const
protected

Get color schema for this shape.

It can be called only when display is connected

See Also
IsDisplayConnected().
iview::IDisplay* iview::CShapeBase::GetDisplayPtr ( ) const

Get access to currently connected display.

Referenced by iview::CInteractiveShapeBase::GetEditMode(), and iview::CInteractiveShapeBase::GetKeysState().

virtual int iview::CShapeBase::GetLayerType ( ) const
virtual

Get layer type of this shape object.

See Also
IViewLayer::LayerType

Implements iview::IShape.

double iview::CShapeBase::GetLocalLineWidth ( const i2d::CVector2d screenPosition) const
protected

Get line with (in logical coordinates) for single screen position.

i2d::CVector2d iview::CShapeBase::GetLogPosition ( const i2d::CVector2d screenPosition) const
protected

Get logical position based on screen position.

i2d::CVector2d iview::CShapeBase::GetScreenPosition ( const i2d::CVector2d logPosition) const
protected

Get screen position based on logical position.

virtual QString iview::CShapeBase::GetShapeDescriptionAt ( istd::CIndex2d  position) const
virtual

Get description to shape at specified position.

Implements iview::ITouchable.

Reimplemented in iview::CImageShape, and iview::CPolylineShape.

ShapeTransformMode iview::CShapeBase::GetTransformMode ( ) const

Get shape transformation mode.

This mode describes which transformation will be used to display shape.

virtual const IColorSchema* iview::CShapeBase::GetUserColorSchema ( ) const
virtual

Get color schema from view or user defined.

Implements iview::IShape.

virtual const iview::CScreenTransform& iview::CShapeBase::GetViewToScreenTransform ( ) const
protectedvirtual
virtual void iview::CShapeBase::Invalidate ( )
virtual
virtual void iview::CShapeBase::InvalidateBoundingBox ( )
protectedvirtual

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 in iview::CParallelogramShape, iview::CLineShape, iview::CRectControlledShapeBase, and iview::CRectangleShape.

bool iview::CShapeBase::IsBoundingBoxValid ( ) const
protected
virtual bool iview::CShapeBase::IsDisplayAccepted ( const IDisplay display) const
virtual

Check if this object can be connected to this display.

Implements iview::IVisualizable.

virtual bool iview::CShapeBase::IsDisplayChangeImportant ( const istd::IChangeable::ChangeSet changeSet)
protectedvirtual

Get display changes mask.

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

Reimplemented in iview::CInteractiveShapeBase.

Referenced by iview::CInteractiveShapeBase::IsDisplayChangeImportant().

bool iview::CShapeBase::IsDisplayConnected ( ) const
protected

Check if display is connected.

virtual ITouchable::TouchState iview::CShapeBase::IsTouched ( istd::CIndex2d  position) const
virtual
virtual bool iview::CShapeBase::IsVisible ( ) const
virtual

Check, if this object is visible.

Implements iview::IVisualizable.

virtual void iview::CShapeBase::OnConnectDisplay ( IDisplay displayPtr)
virtual

Called after display is connected.

It can be called only, when display is accepted (

See Also
IsDisplayAccepted()).
Parameters
displayPtran observer object, which should be informed about all shape changes.

Implements iview::IVisualizable.

virtual void iview::CShapeBase::OnDisconnectDisplay ( IDisplay displayPtr)
virtual

Called after display is disconnected.

Note, that this display must be previously connected.

Parameters
displayPtra disconnected observer object.

Implements iview::IVisualizable.

virtual bool iview::CShapeBase::OnDisplayChange ( const istd::IChangeable::ChangeSet changeSet)
virtual

It informs about changes in display.

It is called e.g. after view transformation change.

Returns
true, if this change follow shape changes.

Implements iview::IVisualizable.

virtual bool iview::CShapeBase::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 imod::CSingleModelObserverBase.

Reimplemented in iview::CParallelogramShape, iview::CLineShape, iview::CLabelShape, iview::CPolygonShape, iview::CInteractiveShapeBase, iview::CAffineTransformation2dShape, iview::CAnnulusShape, iview::CArcShape, iqtgui::TGuiObserverWrap< CViewProviderGuiComp, iview::CImageShape >, iview::CCircleShape, iview::CRectangleShape, iview::CAnnulusSegmentShape, iview::CImageShape, iview::CPolylineShape, iview::CPinShape, iview::CPolypointShape, iview::COrientedCircleShape, and iview::CSplineShape.

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

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

Reimplemented from imod::CSingleModelObserverBase.

Reimplemented in iview::CInteractiveShapeBase, and iqtgui::TGuiObserverWrap< CViewProviderGuiComp, iview::CImageShape >.

virtual void iview::CShapeBase::OnUpdate ( const istd::IChangeable::ChangeSet changeSet)
virtual

Called on update of observed model.

This method is designed to be overload by derrived classes.

Reimplemented from imod::CSingleModelObserverBase.

virtual void iview::CShapeBase::SetDefaultDescription ( const QString &  description)
virtual

Set default description will be used to display on console.

Implements iview::IShape.

Referenced by iqt2d::TShapeParamsGuiCompBase< Ui, Shape, ShapeModel >::CreateShape().

void iview::CShapeBase::SetTransformMode ( ShapeTransformMode  mode)

Set shape transformation mode.

This mode describes which transformation will be used to display shape.

virtual void iview::CShapeBase::SetUserColorSchema ( const IColorSchema schemaPtr)
virtual

Set color schema to draw shape.

Implements iview::IShape.

Referenced by iqt2d::TShapeParamsGuiCompBase< Ui, Shape, ShapeModel >::CreateShape().

virtual void iview::CShapeBase::SetVisible ( bool  state = true)
virtual

Make shape to be visible or not.

Implements iview::IShape.

Referenced by iqt2d::TShapeParamsGuiCompBase< Ui, Shape, ShapeModel >::CreateShape().


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

© 2007-2017 Witold Gantzke and Kirill Lepskiy