OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
GraphicsElement.h
Go to the documentation of this file.
1
5// ###########################################################################################################################################################################################################################################################################################################################
6
7#pragma once
8
9// OpenTwin header
10#include "OTCore/Flags.h"
13
14// Qt header
15#include <QtCore/qpoint.h>
16
17// std header
18#include <list>
19
20#pragma warning(disable:4251)
21
22class QGraphicsItem;
23
24namespace ot {
25
26 class GraphicsScene;
27
30 public:
34 NoState = 0x00,
35 HoverState = 0x01,
36 SelectedState = 0x02,
37 };
42
44 virtual ~GraphicsElement();
45
46 // ###########################################################################################################################################################################################################################################################################################################################
47
48 // Public helper
49
53 virtual qreal calculateShortestDistanceToPoint(const QPointF& _pt) const { return -1.; };
54
55 // ###########################################################################################################################################################################################################################################################################################################################
56
57 // Setter / Getter
58
60 virtual QGraphicsItem* getQGraphicsItem(void) = 0;
61
63 virtual const QGraphicsItem* getQGraphicsItem(void) const = 0;
64
66 virtual void setGraphicsScene(GraphicsScene* _scene) { m_scene = _scene; };
67
69 virtual GraphicsScene* getGraphicsScene(void) const { return m_scene; };
70
75 void setGraphicsElementState(GraphicsElementState _state, bool _active = true);
76
79 void setGraphicsElementStateFlags(const GraphicsElementStateFlags& _state);
80
83 const GraphicsElementStateFlags& getGraphicsElementState(void) const { return m_state; };
84
87 virtual std::list<GraphicsElement*> getAllGraphicsElements(void);
88
89 virtual std::list<GraphicsElement*> getAllDirectChildElements(void);
90
91 // ###########################################################################################################################################################################################################################################################################################################################
92
93 // Protected notifier
94
95 protected:
97
98 private:
99 GraphicsScene* m_scene;
100 GraphicsElementStateFlags m_state;
101 };
102
103}
104
#define OT_ADD_FLAG_FUNCTIONS(___enumName)
Will add the default bitwise operations for the provided private 32/64 bit bitfield....
Definition Flags.h:129
This file contains defines that may be used simplyfy class creation.
#define OT_DECL_NOCOPY(___class)
Removes the default copy constructor and assignment operator.
Definition OTClassHelper.h:14
#define OT_WIDGETS_API_EXPORT
Definition OTWidgetsAPIExport.h:12
The Flags class is a wrapper around a enum that allows bitwise operations (flags)....
Definition Flags.h:214
Definition GraphicsElement.h:28
Flags< GraphicsElementState > GraphicsElementStateFlags
Definition GraphicsElement.h:41
const GraphicsElementStateFlags & getGraphicsElementState(void) const
Returns the current GraphicsItemStateFlags set.
Definition GraphicsElement.h:83
virtual qreal calculateShortestDistanceToPoint(const QPointF &_pt) const
Calculates and returns the shortest distance to the given point. Returns -1 if the distance is invali...
Definition GraphicsElement.h:53
virtual void setGraphicsScene(GraphicsScene *_scene)
Set the GraphicsScene this element is placed at.
Definition GraphicsElement.h:66
virtual QGraphicsItem * getQGraphicsItem(void)=0
Returns the QGraphicsItem.
GraphicsElementState
The GraphicsElementState is used to describe the current state of a GraphicsElement.
Definition GraphicsElement.h:33
virtual void graphicsElementStateChanged(const GraphicsElementStateFlags &_state)
Definition GraphicsElement.h:96
virtual const QGraphicsItem * getQGraphicsItem(void) const =0
Returns the const QGraphicsItem.
virtual GraphicsScene * getGraphicsScene(void) const
Returns the GraphicsScene this item is placed at.
Definition GraphicsElement.h:69
Graphics Scene for ot::GraphicsItem Adding QGraphicsItems to the scene that do not inherit ot::Graphi...
Definition GraphicsScene.h:31
Definition Connector.h:8