umbrello 2.39.0
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
toolbarstate.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2004-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef TOOLBARSTATE_H
7#define TOOLBARSTATE_H
8
9#include <QEvent>
10#include <QObject>
11#include <QPointF>
12
15class MessageWidget;
16class QGraphicsSceneMouseEvent;
17class UMLScene;
18class UMLWidget;
19
64class ToolBarState: public QObject
65{
66 Q_OBJECT
67public:
68 virtual ~ToolBarState();
69
70 virtual void init();
71
72 virtual void cleanBeforeChange();
73
74 virtual void mousePress(QGraphicsSceneMouseEvent* ome);
75 virtual void mouseRelease(QGraphicsSceneMouseEvent* ome);
76 virtual void mouseDoubleClick(QGraphicsSceneMouseEvent* ome);
77 virtual void mouseMove(QGraphicsSceneMouseEvent* ome);
78
79public Q_SLOTS:
80 virtual void slotAssociationRemoved(AssociationWidget* association);
81 virtual void slotWidgetRemoved(UMLWidget* widget);
82
83Q_SIGNALS:
84 // signals finish of operation
85 void finished();
86
87protected:
88 ToolBarState(UMLScene* umlScene);
89
90 virtual void setCurrentElement();
91
92 virtual void mousePressAssociation();
93 virtual void mousePressWidget();
94 virtual void mousePressEmpty();
95 virtual void mouseReleaseAssociation();
96 virtual void mouseReleaseWidget();
97 virtual void mouseReleaseEmpty();
98 virtual void mouseDoubleClickAssociation();
99 virtual void mouseDoubleClickWidget();
100 virtual void mouseDoubleClickEmpty();
101 virtual void mouseMoveAssociation();
102 virtual void mouseMoveWidget();
103 virtual void mouseMoveEmpty();
104
105 virtual void changeTool();
106
107 virtual UMLWidget* currentWidget() const;
108 virtual void setCurrentWidget(UMLWidget* widget);
109
110 virtual AssociationWidget* currentAssociation() const;
111 virtual void setCurrentAssociation(AssociationWidget* association);
112
113 void setMouseEvent(QGraphicsSceneMouseEvent* ome, const QEvent::Type &type);
114
115 AssociationWidget* associationAt(const QPointF& pos);
116 MessageWidget* messageAt(const QPointF& pos);
117 FloatingDashLineWidget* floatingLineAt(const QPointF& pos);
118
120 QGraphicsSceneMouseEvent* m_pMouseEvent;
121 // This event is the equivalent of the received event after transforming it
122 // using the inverse world matrix in the UMLScene.
123
124private:
127
128};
129
130#endif //TOOLBARSTATE_H
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde....
Definition associationwidget.h:47
A dash line for UML combined fragments.
Definition floatingdashlinewidget.h:29
Displays a message.
Definition messagewidget.h:36
Definition toolbarstate.h:65
virtual void slotAssociationRemoved(AssociationWidget *association)
Definition toolbarstate.cpp:232
virtual void mousePressEmpty()
Definition toolbarstate.cpp:340
virtual void setCurrentElement()
Definition toolbarstate.cpp:276
virtual void setCurrentWidget(UMLWidget *widget)
Definition toolbarstate.cpp:459
virtual void mouseReleaseEmpty()
Definition toolbarstate.cpp:367
virtual void mouseDoubleClickAssociation()
Definition toolbarstate.cpp:379
virtual void init()
Definition toolbarstate.cpp:38
MessageWidget * messageAt(const QPointF &pos)
Definition toolbarstate.cpp:523
virtual void mouseMove(QGraphicsSceneMouseEvent *ome)
Definition toolbarstate.cpp:181
virtual void mouseMoveEmpty()
Definition toolbarstate.cpp:425
ToolBarState(UMLScene *umlScene)
Definition toolbarstate.cpp:260
virtual ~ToolBarState()
Definition toolbarstate.cpp:29
virtual AssociationWidget * currentAssociation() const
Definition toolbarstate.cpp:469
virtual UMLWidget * currentWidget() const
Definition toolbarstate.cpp:445
virtual void cleanBeforeChange()
Definition toolbarstate.cpp:57
virtual void mouseMoveAssociation()
Definition toolbarstate.cpp:407
void finished()
virtual void mouseMoveWidget()
Definition toolbarstate.cpp:416
virtual void mousePress(QGraphicsSceneMouseEvent *ome)
Definition toolbarstate.cpp:76
AssociationWidget * m_currentAssociation
The association currently in use, if any.
Definition toolbarstate.h:126
void setMouseEvent(QGraphicsSceneMouseEvent *ome, const QEvent::Type &type)
Definition toolbarstate.cpp:496
UMLScene * m_pUMLScene
The UMLScene.
Definition toolbarstate.h:119
virtual void mouseDoubleClickEmpty()
Definition toolbarstate.cpp:395
virtual void setCurrentAssociation(AssociationWidget *association)
Definition toolbarstate.cpp:483
UMLWidget * m_currentWidget
The widget currently in use, if any.
Definition toolbarstate.h:125
virtual void mouseReleaseWidget()
Definition toolbarstate.cpp:359
virtual void mousePressAssociation()
Definition toolbarstate.cpp:324
virtual void changeTool()
Definition toolbarstate.cpp:433
virtual void mouseReleaseAssociation()
Definition toolbarstate.cpp:351
virtual void mousePressWidget()
Definition toolbarstate.cpp:332
virtual void mouseDoubleClickWidget()
Definition toolbarstate.cpp:387
virtual void mouseDoubleClick(QGraphicsSceneMouseEvent *ome)
Definition toolbarstate.cpp:144
virtual void slotWidgetRemoved(UMLWidget *widget)
Definition toolbarstate.cpp:245
AssociationWidget * associationAt(const QPointF &pos)
Definition toolbarstate.cpp:541
QGraphicsSceneMouseEvent * m_pMouseEvent
The mouse event currently in use.
Definition toolbarstate.h:120
virtual void mouseRelease(QGraphicsSceneMouseEvent *ome)
Definition toolbarstate.cpp:108
FloatingDashLineWidget * floatingLineAt(const QPointF &pos)
Definition toolbarstate.cpp:558
Definition umlscene.h:65
The base class for graphical UML objects.
Definition umlwidget.h:36