ICF 3.0.5.47
Technical documentation of ICF Libraries
iview::CLabelShape Class Reference

#include <CLabelShape.h>

Inheritance diagram for iview::CLabelShape:
Collaboration diagram for iview::CLabelShape:

Public Types

typedef CPinShape BaseClass
 
typedef CInteractiveShapeBase ShapeBaseClass
 
- Public Types inherited from iview::CPinShape
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_TRANSPARENT , TS_INACTIVE , TS_TICKER ,
  TS_DRAGGABLE , TS_OTHER , TS_LAST = TS_OTHER
}
 Enumeration for possible shape touch states. More...
 
- Public Types inherited from iview::ITextLabelParams
enum  TextAlign {
  TAL_CENTER , TAL_LEFT_TOP , TAL_RIGHT_TOP , TAL_LEFT_BOTTOM ,
  TAL_RIGHT_BOTTOM , TAL_AUTOMATIC , TAL_LAST = TAL_AUTOMATIC
}
 Text alignment mode. More...
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ICF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING ,
  CF_DELEGATED , CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 ,
  SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 , SO_CHANGE_LOCK = 1 << 5
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 

Public Member Functions

 CLabelShape (TextAlign align=TAL_RIGHT_TOP, const istd::CIndex2d &offset=istd::CIndex2d(20, -20))
 
virtual bool IsPositionVisible () const
 
virtual void SetPositionVisible (bool visible=true)
 
virtual bool IsBackgroundTransparent () const
 
virtual void SetBackgroundTransparent (bool state=true)
 
virtual bool IsEditableOffset () const
 
virtual void SetEditableOffset (bool editable=true)
 
virtual TextAlign GetTextAlign () const
 Get text alignment modein label shape.
 
virtual void SetTextAlign (TextAlign align)
 Set text alignment mode.
 
virtual const istd::CIndex2dGetDrawOffset () const
 Get the drawing offset for the label.
 
virtual void SetDrawOffset (const istd::CIndex2d &offset)
 Set the drawing offset for the label.
 
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.
 
virtual bool OnMouseMove (istd::CIndex2d position)
 It is called, when mouse is moved.
 
virtual void Draw (QPainter &drawContext) const
 Draw this shape using draw context.
 
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.
 
virtual TouchState IsTouched (istd::CIndex2d position) const
 Check, if any shape is touched.
 
- Public Member Functions inherited from iview::CPinShape
 CPinShape ()
 
- 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
 Check, if this shape is selected.
 
virtual void SetSelected (bool selectFlag=true)
 Inform that this object was selected or deselected.
 
virtual bool IsDraggable () const
 Check if drag is enabled.
 
virtual void BeginDrag (const istd::CIndex2d &position)
 Called before dragging is begin.
 
virtual void SetDragPosition (const istd::CIndex2d &position)
 Set new drag position.
 
virtual void EndDrag ()
 Called after dragging.
 
virtual bool OnModelDetached (imod::IModel *modelPtr)
 This call back function will be called, if an observable object is about to be detached.
 
- 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::IDisplayGetDisplay () const
 Get access to currently connected display.
 
ShapeTransformMode GetTransformMode () const
 Get shape transformation mode.
 
void SetTransformMode (ShapeTransformMode mode)
 Set shape transformation mode.
 
int GetLayerType () const override
 Get layer type of this shape object.
 
i2d::CRect GetBoundingBox () const override
 Return bounding box in client window coordinates.
 
void SetVisible (bool state=true) override
 Make shape to be visible or not.
 
const IColorSchemaGetUserColorSchema () const override
 Get color schema from view or user defined.
 
void SetUserColorSchema (const IColorSchema *schemaPtr) override
 Set color schema to draw shape.
 
void SetDefaultDescription (const QString &description) override
 Set default description will be used to display on console.
 
bool IsVisible () const override
 Check, if this object is visible.
 
bool IsDisplayAccepted (const IDisplay &display) const override
 Check if this object can be connected to this display.
 
void OnDisplayConnected (IDisplay *displayPtr) override
 Called after display is connected.
 
void OnDisplayDisconnected (IDisplay *displayPtr) override
 Called after display is disconnected.
 
bool OnDisplayChanged (const istd::IChangeable::ChangeSet &changeSet) override
 It informs about changes in display.
 
ITouchable::TouchState IsTouched (istd::CIndex2d position) const override
 Check, if any shape is touched.
 
QString GetShapeDescriptionAt (istd::CIndex2d position) const override
 Get description to shape at specified position.
 
bool OnModelAttached (imod::IModel *modelPtr, istd::IChangeable::ChangeSet &changeMask) override
 This call back function will be called, if an observable object is about to be attached.
 
bool OnModelDetached (imod::IModel *modelPtr) override
 This call back function will be called, if an observable object is about to be detached.
 
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.
 
bool IsModelAttached (const imod::IModel *modelPtr=nullptr) const override
 Check if specified model is attached.
 
bool OnModelAttached (imod::IModel *modelPtr, istd::IChangeable::ChangeSet &changeMask) override
 This call back function will be called, if an observable object is about to be attached.
 
bool OnModelDetached (imod::IModel *modelPtr) override
 This call back function will be called, if an observable object is about to be detached.
 
void BeforeModelChange (imod::IModel *modelPtr) override
 This function will be called before update of the observer contents occures.
 
void AfterModelChange (imod::IModel *modelPtr, const istd::IChangeable::ChangeSet &changeSet) override
 This function will be called after update of the observer contents occures.
 
- Public Member Functions inherited from imod::IObserver
- Public Member Functions inherited from iview::IShape
- Public Member Functions inherited from iview::IVisualizable
- Public Member Functions inherited from iview::ITouchable
- Public Member Functions inherited from iview::IInteractiveShape
- Public Member Functions inherited from iview::IMouseActionObserver
- Public Member Functions inherited from iview::IDraggable
- Public Member Functions inherited from iview::ITextLabelParams
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations.
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one.
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object.
 
virtual std::unique_ptr< IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object.
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state.
 
virtual QMutex * GetChangesLock () const
 Get mutex beeing locked during changes, if available.
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction.
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction.
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes.
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes.
 

Protected Types

enum  EditMode { EM_NONE , EM_POSITION , EM_OFFSET }
 

Protected Member Functions

void CalculateTextOriginSize (i2d::CRect &textBox) const
 
virtual i2d::CRect CalcBoundingBox () const
 Calculate bounding box.
 
- Protected Member Functions inherited from iview::CPinShape
virtual void BeginLogDrag (const i2d::CVector2d &reference)
 
virtual void SetLogDragPosition (const i2d::CVector2d &position)
 
- 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.
 
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)
 Get display changes mask.
 
- Protected Member Functions inherited from iview::CShapeBase
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.
 
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 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.
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event.
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event.
 

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 
- Protected Attributes inherited from iview::CPinShape
i2d::CVector2d m_referencePosition
 

Detailed Description

Definition at line 19 of file CLabelShape.h.

Member Typedef Documentation

◆ BaseClass

◆ ShapeBaseClass

Member Enumeration Documentation

◆ EditMode

Enumerator
EM_NONE 
EM_POSITION 
EM_OFFSET 

Definition at line 56 of file CLabelShape.h.

Constructor & Destructor Documentation

◆ CLabelShape()

iview::CLabelShape::CLabelShape ( TextAlign align = TAL_RIGHT_TOP,
const istd::CIndex2d & offset = istd::CIndex2d(20, -20) )

Member Function Documentation

◆ CalcBoundingBox()

virtual i2d::CRect iview::CLabelShape::CalcBoundingBox ( ) const
protectedvirtual

Calculate bounding box.

You have to implement this method in your shapes implementations.

Reimplemented from iview::CPinShape.

◆ CalculateTextOriginSize()

void iview::CLabelShape::CalculateTextOriginSize ( i2d::CRect & textBox) const
protected

◆ Draw()

virtual void iview::CLabelShape::Draw ( QPainter & drawContext) const
virtual

Draw this shape using draw context.

Reimplemented from iview::CPinShape.

◆ GetDrawOffset()

const istd::CIndex2d & iview::CLabelShape::GetDrawOffset ( ) const
inlinevirtual

Get the drawing offset for the label.

Implements iview::ITextLabelParams.

Definition at line 131 of file CLabelShape.h.

◆ GetTextAlign()

CLabelShape::TextAlign iview::CLabelShape::GetTextAlign ( ) const
inlinevirtual

Get text alignment modein label shape.

Implements iview::ITextLabelParams.

Definition at line 119 of file CLabelShape.h.

◆ IsBackgroundTransparent()

bool iview::CLabelShape::IsBackgroundTransparent ( ) const
inlinevirtual

Definition at line 93 of file CLabelShape.h.

◆ IsEditableOffset()

bool iview::CLabelShape::IsEditableOffset ( ) const
inlinevirtual

Definition at line 105 of file CLabelShape.h.

◆ IsPositionVisible()

bool iview::CLabelShape::IsPositionVisible ( ) const
inlinevirtual

Definition at line 81 of file CLabelShape.h.

◆ IsTouched()

virtual TouchState iview::CLabelShape::IsTouched ( istd::CIndex2d position) const
virtual

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

◆ OnModelAttached()

virtual bool iview::CLabelShape::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::CPinShape.

◆ OnMouseButton()

virtual bool iview::CLabelShape::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
positionposition of mouse pointer on client area (picture coords).
buttonTypedetermine the mouse butten type.
downFlagtrue, if mouse button is pushed down, false if pushed up.
Returns
true if this shape should get focus to catch all mouse movements.

Reimplemented from iview::CPinShape.

◆ OnMouseMove()

virtual bool iview::CLabelShape::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.

Reimplemented from iview::CPinShape.

◆ SetBackgroundTransparent()

void iview::CLabelShape::SetBackgroundTransparent ( bool state = true)
inlinevirtual

Definition at line 99 of file CLabelShape.h.

◆ SetDrawOffset()

void iview::CLabelShape::SetDrawOffset ( const istd::CIndex2d & offset)
inlinevirtual

Set the drawing offset for the label.

Implements iview::ITextLabelParams.

Definition at line 137 of file CLabelShape.h.

◆ SetEditableOffset()

void iview::CLabelShape::SetEditableOffset ( bool editable = true)
inlinevirtual

Definition at line 111 of file CLabelShape.h.

◆ SetPositionVisible()

void iview::CLabelShape::SetPositionVisible ( bool visible = true)
inlinevirtual

Definition at line 87 of file CLabelShape.h.

◆ SetTextAlign()

void iview::CLabelShape::SetTextAlign ( TextAlign align)
inlinevirtual

Set text alignment mode.

Implements iview::ITextLabelParams.

Definition at line 125 of file CLabelShape.h.


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

© Witold Gantzke and Kirill Lepskiy