ICF 3.0.5.47
Technical documentation of ICF Libraries
icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass > Class Template Referenceabstract

#include <TObjectShapeBase.h>

Inheritance diagram for icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >:
Collaboration diagram for icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >:

Public Types

typedef TShapeBase< GraphicsItemClass > BaseClass
 
typedef imod::TSingleModelObserverBase< ObjectClass > BaseClass2
 
- Public Types inherited from icmpstr::TShapeBase< GraphicsItemClass >
enum  ColorSheme { SelectedColor , EditableColor , InactiveColor , DefaultColor = InactiveColor }
 
typedef GraphicsItemClass BaseClass
 
- Public Types inherited from imod::TSingleModelObserverBase< ObjectClass >
typedef CSingleModelObserverBase BaseClass
 
typedef ObjectClass ModelType
 
- Public Types inherited from imod::CSingleModelObserverBase
typedef imod::IModel ModelType
 

Public Member Functions

 TObjectShapeBase (bool isEditable=false, const ISceneProvider *providerPtr=nullptr)
 
- Public Member Functions inherited from icmpstr::TShapeBase< GraphicsItemClass >
 TShapeBase (bool isEditable=false, const ISceneProvider *providerPtr=nullptr)
 
virtual void SetPen (int colorSheme, const QPen &pen)
 
virtual QPen GetPen (int colorSheme) const
 
virtual void SetBrush (int colorSheme, const QBrush &pen)
 
virtual QBrush GetBrush (int colorSheme) const
 
virtual void SwitchColorSheme (int colorSheme)
 
bool IsEditable () const
 
void SetEditable (bool isEditable)
 
const ISceneProviderGetSceneProvider () const
 
- Public Member Functions inherited from imod::TSingleModelObserverBase< ObjectClass >
 TSingleModelObserverBase ()
 
ObjectClass * GetObservedObject () const
 Get instance of observed object.
 
ObjectClass * GetObjectPtr () const
 Get instance of observed object.
 
bool AttachOrSetObject (ObjectClass *objectPtr)
 Attach to model of object or set object pointer, if no connection is possible.
 
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.
 
- 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.
 
void BeforeModelChange (imod::IModel *modelPtr) override
 This function will be called before update of the observer contents occures.
 
- Public Member Functions inherited from imod::IObserver

Protected Member Functions

void DoShapeUpdate ()
 
void OnSelectionChanged (bool isSelected) override
 
void OnPositionChanged (const QPointF &position) override
 
QVariant itemChange (QGraphicsItem::GraphicsItemChange change, const QVariant &value) override
 
void mousePressEvent (QGraphicsSceneMouseEvent *eventPtr) override
 
void mouseReleaseEvent (QGraphicsSceneMouseEvent *eventPtr) override
 
void mouseDoubleClickEvent (QGraphicsSceneMouseEvent *eventPtr) override
 
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.
 
void AfterModelChange (imod::IModel *modelPtr, const istd::IChangeable::ChangeSet &changeSet) override
 This function will be called after update of the observer contents occures.
 
virtual void UpdateGraphicsItem (const ObjectClass &object)=0
 
- Protected Member Functions inherited from icmpstr::TShapeBase< GraphicsItemClass >
i2d::CVector2d GetPosFromLocal (const QPointF &position) const
 Map position from local graphics item coordinates.
 
QPointF GetLocalFromPos (const i2d::CVector2d &position) const
 Map position from local graphics item coordinates.
 
virtual void hoverEnterEvent (QGraphicsSceneHoverEvent *event)
 
virtual void hoverLeaveEvent (QGraphicsSceneHoverEvent *event)
 
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=nullptr)
 
void paint (QPainter *, const QStyleOptionGraphicsItem *, QWidget *)
 
void paint (QPainter *, const QStyleOptionGraphicsItem *, QWidget *)
 
- Protected Member Functions inherited from imod::TSingleModelObserverBase< ObjectClass >
virtual ObjectClass * CastFromModel (imod::IModel *modelPtr) const
 
- Protected Member Functions inherited from imod::CSingleModelObserverBase
void SetModelPtr (imod::IModel *modelPtr)
 Set internal model pointer to specified value.
 
virtual void OnUpdate (const istd::IChangeable::ChangeSet &changeSet)
 Called on update of observed model.
 

Detailed Description

template<class GraphicsItemClass, class ObjectClass>
class icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >

Definition at line 25 of file TObjectShapeBase.h.

Member Typedef Documentation

◆ BaseClass

template<class GraphicsItemClass , class ObjectClass >
TShapeBase<GraphicsItemClass> icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::BaseClass

Definition at line 30 of file TObjectShapeBase.h.

◆ BaseClass2

template<class GraphicsItemClass , class ObjectClass >
imod::TSingleModelObserverBase<ObjectClass> icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::BaseClass2

Definition at line 31 of file TObjectShapeBase.h.

Constructor & Destructor Documentation

◆ TObjectShapeBase()

template<class GraphicsItemClass , class ObjectClass >
icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::TObjectShapeBase ( bool isEditable = false,
const ISceneProvider * providerPtr = nullptr )

Member Function Documentation

◆ AfterModelChange()

template<class GraphicsItemClass , class ObjectClass >
void icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::AfterModelChange ( imod::IModel * modelPtr,
const istd::IChangeable::ChangeSet & changeSet )
overrideprotectedvirtual

This function will be called after update of the observer contents occures.

Reimplemented from imod::CSingleModelObserverBase.

Definition at line 199 of file TObjectShapeBase.h.

References istd::IChangeable::CF_DESTROYING, and istd::IChangeable::ChangeSet::ContainsExplicit().

◆ DoShapeUpdate()

template<class GraphicsItemClass , class ObjectClass >
void icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::DoShapeUpdate ( )
protected

Definition at line 92 of file TObjectShapeBase.h.

◆ itemChange()

template<class GraphicsItemClass , class ObjectClass >
QVariant icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::itemChange ( QGraphicsItem::GraphicsItemChange change,
const QVariant & value )
overrideprotectedvirtual

Reimplemented from icmpstr::TShapeBase< GraphicsItemClass >.

Definition at line 142 of file TObjectShapeBase.h.

◆ mouseDoubleClickEvent()

template<class GraphicsItemClass , class ObjectClass >
void icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::mouseDoubleClickEvent ( QGraphicsSceneMouseEvent * eventPtr)
overrideprotected

Definition at line 175 of file TObjectShapeBase.h.

◆ mousePressEvent()

template<class GraphicsItemClass , class ObjectClass >
void icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::mousePressEvent ( QGraphicsSceneMouseEvent * eventPtr)
overrideprotected

Definition at line 153 of file TObjectShapeBase.h.

◆ mouseReleaseEvent()

template<class GraphicsItemClass , class ObjectClass >
void icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::mouseReleaseEvent ( QGraphicsSceneMouseEvent * eventPtr)
overrideprotected

Definition at line 166 of file TObjectShapeBase.h.

◆ OnModelAttached()

template<class GraphicsItemClass , class ObjectClass >
bool icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::OnModelAttached ( imod::IModel * modelPtr,
istd::IChangeable::ChangeSet & changeMask )
overrideprotectedvirtual

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.

Definition at line 186 of file TObjectShapeBase.h.

◆ OnPositionChanged()

template<class GraphicsItemClass , class ObjectClass >
void icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::OnPositionChanged ( const QPointF & position)
overrideprotectedvirtual

◆ OnSelectionChanged()

template<class GraphicsItemClass , class ObjectClass >
void icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::OnSelectionChanged ( bool isSelected)
overrideprotectedvirtual

Reimplemented from icmpstr::TShapeBase< GraphicsItemClass >.

Definition at line 109 of file TObjectShapeBase.h.

◆ UpdateGraphicsItem()

template<class GraphicsItemClass , class ObjectClass >
virtual void icmpstr::TObjectShapeBase< GraphicsItemClass, ObjectClass >::UpdateGraphicsItem ( const ObjectClass & object)
protectedpure virtual

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

© Witold Gantzke and Kirill Lepskiy