17#include <QtWidgets/qgraphicsview.h>
31 class GraphicsItemCfg;
32 class GraphicsConnectionItem;
41 ViewManagesSceneRect = 0x01,
42 IgnoreConnectionByUser = 0x02
47 DefaultState = 0 << 0,
48 ItemMoveInProgress = 1 << 0,
49 MiddleMousePressedState = 1 << 1,
50 ReadOnlyState = 1 << 2
57 virtual QWidget*
getQWidget(
void)
override {
return this; };
60 void ensureViewInBounds(
void);
86 void removeItem(
const ot::UID& _itemUid,
bool bufferConnections =
false);
87 std::list<ot::UID> getSelectedItemUIDs(
void)
const;
88 std::list<GraphicsItem*> getSelectedGraphicsItems(
void)
const;
96 void removeConnection(
const ot::UID& _connectionInformation);
98 std::list<GraphicsConnectionItem*> getSelectedConnectionItems(
void)
const;
100 void requestConnection(
const ot::UID& _fromUid,
const std::string& _fromConnector,
const ot::UID& _toUid,
const std::string& _toConnector);
102 void requestConnectionToConnection(
const ot::UID& _fromItemUid,
const std::string& _fromItemConnector,
const ot::UID& _toConnectionUid,
const ot::Point2DD& _newControlPoint);
108 QRectF getVisibleSceneRect(
void)
const;
110 void setReadOnly(
bool _isReadOnly) { m_viewStateFlags.setFlag(ViewStateFlag::ReadOnlyState, _isReadOnly); };
111 bool isReadOnly(
void)
const {
return m_viewStateFlags.flagIsSet(ViewStateFlag::ReadOnlyState); };
117 void itemRequested(
const QString& _name,
const QPointF& _pos);
124 void connectionRequested(
const ot::UID& _fromUid,
const std::string& _fromConnector,
const ot::UID& _toUid,
const std::string& _toConnector);
126 void connectionToConnectionRequested(
const ot::UID& _fromItemUid,
const std::string& _fromItemConnector,
const ot::UID& _toConnectionUid,
const ot::Point2DD& _newControlPoint);
128 void itemMoved(
const ot::UID& _uid,
const QPointF& _newPos);
135 virtual void wheelEvent(QWheelEvent* _event)
override;
136 virtual void mousePressEvent(QMouseEvent* _event)
override;
137 virtual void mouseReleaseEvent(QMouseEvent* _event)
override;
138 virtual void mouseMoveEvent(QMouseEvent* _event)
override;
139 virtual void keyPressEvent(QKeyEvent* _event)
override;
140 virtual void keyReleaseEvent(QKeyEvent* _event)
override;
141 virtual void resizeEvent(QResizeEvent* _event)
override;
143 virtual void dragEnterEvent(QDragEnterEvent* _event)
override;
144 virtual void dropEvent(QDropEvent* _event)
override;
145 virtual void dragMoveEvent(QDragMoveEvent* _event)
override;
151 void beginItemMove(
void);
156 void endItemMove(
void);
160 GraphicsViewFlags m_viewFlags;
161 ViewStateFlags m_viewStateFlags;
163 std::string m_viewName;
165 QMarginsF m_sceneMargins;
172 std::map<ot::UID, ot::GraphicsItem*> m_items;
173 std::map<ot::UID, ot::GraphicsConnectionItem*> m_connections;
174 std::list<GraphicsConnectionCfg> m_connectionCreationBuffer;
175 std::list<GraphicsConnectionCfg> m_itemRemovalConnectionBuffer;
mongocxx::pool::entry connection
Definition ConnectionAPI.h:9
#define OT_ADD_FLAG_FUNCTIONS(___enumName)
Will add the default bitwise operations for the provided 32 bit bitfield. Use this at the bottom of t...
Definition Flags.h:60
This class is used to manage flags. Don't forget to add OT_ADD_FLAG_FUNCTIONS and the bottom of your ...
Definition Flags.h:91
Definition GraphicsConnectionCfg.h:22
Definition GraphicsConnectionItem.h:25
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
Graphics Scene for ot::GraphicsItem Adding QGraphicsItems to the scene that do not inherit ot::Graphi...
Definition GraphicsScene.h:31
View widget used to display GraphicsItems Note that the View creates its own scene.
Definition GraphicsView.h:36
const BasicServiceInformation & getOwner(void) const
Definition GraphicsView.h:66
void setReadOnly(bool _isReadOnly)
Definition GraphicsView.h:110
virtual QWidget * getQWidget(void) override
Returns a pointer to the root widget of this object.
Definition GraphicsView.h:57
void setGraphicsViewFlag(GraphicsViewFlag _flag, bool _active=true)
Definition GraphicsView.h:68
const QMarginsF & getSceneMargins(void) const
Definition GraphicsView.h:91
ViewStateFlag
Definition GraphicsView.h:46
const std::string & getGraphicsViewName(void) const
Definition GraphicsView.h:83
ot::Flags< ViewStateFlag > ViewStateFlags
Definition GraphicsView.h:52
void setGraphicsViewFlags(const GraphicsViewFlags &_flags)
Definition GraphicsView.h:69
bool isReadOnly(void) const
Definition GraphicsView.h:111
void setMouseWheelEnabled(bool _enabled)
Definition GraphicsView.h:62
void setDropsEnabled(bool _enabled)
Definition GraphicsView.h:80
void setGraphicsViewName(const std::string &_name)
Definition GraphicsView.h:82
void setOwner(const BasicServiceInformation &_owner)
Definition GraphicsView.h:65
void setSceneMargins(const QMarginsF &_margins)
Definition GraphicsView.h:90
GraphicsScene * getGraphicsScene(void)
Definition GraphicsView.h:73
Flags< GraphicsViewFlag > GraphicsViewFlags
Definition GraphicsView.h:44
bool getMouseWheelEnabled(void) const
Definition GraphicsView.h:63
GraphicsViewFlag
Definition GraphicsView.h:39
const GraphicsViewFlags & getGraphicsViewFlags(void) const
Definition GraphicsView.h:70
2D Point with double values
Definition Point2D.h:144
unsigned long UID
Unique identifier (32 bit unsigned integer)
Definition CoreTypes.h:27
std::list< UID > UIDList
Unique identifier list.
Definition CoreTypes.h:31