OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
GraphicsGroupItem.h
Go to the documentation of this file.
1
4// ###########################################################################################################################################################################################################################################################################################################################
5
6#pragma once
7
8// OpenTwin header
10
11namespace ot {
12
13 class OT_WIDGETS_API_EXPORT GraphicsGroupItem : public QGraphicsItemGroup, public QGraphicsLayoutItem, public ot::GraphicsItem {
14 public:
16 virtual ~GraphicsGroupItem();
17
18 // ###########################################################################################################################################################################################################################################################################################################################
19
20 // Base class functions: GraphicsItem
21
22 virtual bool setupFromConfig(const GraphicsItemCfg* _cfg) override;
23
24 virtual void removeAllConnections(void) override;
25
26 virtual void prepareGraphicsItemGeometryChange(void) override;
27
28 virtual void callPaint(QPainter* _painter, const QStyleOptionGraphicsItem* _opt, QWidget* _widget) override;
29
30 virtual QGraphicsLayoutItem* getQGraphicsLayoutItem(void) override { return this; };
31 virtual QGraphicsItem* getQGraphicsItem(void) override { return this; };
32 virtual const QGraphicsItem* getQGraphicsItem(void) const override { return this; };
33
34 virtual QSizeF graphicsItemSizeHint(Qt::SizeHint _hint, const QSizeF& _constrains) const override;
35
36 virtual ot::GraphicsItem* findItem(const std::string& _itemName) override;
37
38 virtual void finalizeGraphicsItem(void) override;
39
40 virtual std::list<GraphicsElement*> getAllGraphicsElements(void) override;
41
42 virtual std::list<GraphicsElement*> getAllDirectChildElements(void) override;
43
44 // ###########################################################################################################################################################################################################################################################################################################################
45
46 // Base class functions: QGraphicsItem
47
48 virtual QRectF boundingRect(void) const override;
49
50 virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange _change, const QVariant& _value) override;
51
52 virtual void mousePressEvent(QGraphicsSceneMouseEvent* _event) override;
53 virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* _event) override;
54 virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent* _event) override;
55 virtual void hoverEnterEvent(QGraphicsSceneHoverEvent* _event) override;
56 virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent* _event) override;
57
58 virtual void paint(QPainter* _painter, const QStyleOptionGraphicsItem* _opt, QWidget* _widget) override;
59
60 // ###########################################################################################################################################################################################################################################################################################################################
61
62 // Base class functions: QGraphicsLayoutItem
63
64 virtual QSizeF sizeHint(Qt::SizeHint _hint, const QSizeF& _constrains) const override;
65
66 virtual void setGeometry(const QRectF& rect) override;
67
68 // ###########################################################################################################################################################################################################################################################################################################################
69
70 // Setter / Getter
71
72 void addItem(GraphicsItem* _item);
73
75 virtual double getMaxAdditionalTriggerDistance(void) const override;
76
77 void clear(void);
78
79 // ###########################################################################################################################################################################################################################################################################################################################
80
81 // Protected
82
83 protected:
84 virtual void graphicsElementStateChanged(const GraphicsElementStateFlags& _state) override;
85
86 virtual void notifyChildsAboutTransformChange(const QTransform& _newTransform) override;
87
88 private:
89 GraphicsGroupItem(const GraphicsGroupItem&) = delete;
90 GraphicsGroupItem& operator = (const GraphicsGroupItem&) = delete;
91 };
92
93}
#define OT_WIDGETS_API_EXPORT
Definition OTWidgetsAPIExport.h:12
The graphics group item is used to group multiple items into one item.
Definition GraphicsGroupItem.h:13
virtual QGraphicsItem * getQGraphicsItem(void) override
Returns the QGraphicsItem.
Definition GraphicsGroupItem.h:31
virtual QGraphicsLayoutItem * getQGraphicsLayoutItem(void) override
Returns the QGraphicsLayoutItem.
Definition GraphicsGroupItem.h:30
virtual const QGraphicsItem * getQGraphicsItem(void) const override
Returns the const QGraphicsItem.
Definition GraphicsGroupItem.h:32
The GraphicsItemCfg is the base class for all graphics item configurations.
Definition GraphicsItemCfg.h:33
Base class for all OpenTwin GraphicsItems GraphicsItems should be created by the GraphicsFactory and ...
Definition GraphicsItem.h:35
Definition Connector.h:8