umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
umlscene.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2002-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef UMLSCENE_H
7#define UMLSCENE_H
8
9// local includes
11#include "basictypes.h"
12#include "classifierwidget.h"
13#include "messagewidgetlist.h"
14#include "optionstate.h"
15#include "umlobject.h"
16#include "umlobjectlist.h"
17#include "umlwidgetlist.h"
18#include "worktoolbar.h"
19#include "widgetbase.h"
20
21// Qt includes
22#include <QDomDocument>
23#include <QGraphicsScene>
24#include <QGraphicsItem>
25#include <QGraphicsSceneMouseEvent>
26#include <QGraphicsPolygonItem>
27#include <QKeyEvent>
28#include <QMouseEvent>
29#include <QPixmap>
30#include <QXmlStreamWriter>
31
32// forward declarations
34class IDChangeLog;
35class LayoutGrid;
37class ObjectWidget;
38class ToolBarState;
40class UMLFolder;
41class UMLDoc;
42class UMLAttribute;
43class UMLCanvasObject;
44class UMLClassifier;
47class UMLEntity;
48class UMLView;
49
50class QHideEvent;
51class QMouseEvent;
52class QPrinter;
53class QShowEvent;
54class UMLScenePrivate;
55
56// migration wrapper for QGraphicsScene items
57typedef QList<QGraphicsItem*> UMLSceneItemList;
58
64class UMLScene : public QGraphicsScene
65{
66 Q_OBJECT
67public:
69
70 explicit UMLScene(UMLFolder *parentFolder, UMLView *view = 0);
71 virtual ~UMLScene();
72
73 UMLView* activeView() const;
74
75 // Accessors and other methods dealing with loaded/saved data
76
77 UMLFolder* folder() const;
79
80 QString documentation() const;
81 void setDocumentation(const QString &doc);
82
83 bool autoIncrementSequence() const;
84 void setAutoIncrementSequence(bool state);
86
87 QString name() const;
88 void setName(const QString &name);
89
92
93 Uml::ID::Type ID() const;
94 void setID(Uml::ID::Type id);
95
96 QPointF pos() const;
97 void setPos(const QPointF &pos);
98
99 const QColor& fillColor() const;
100 void setFillColor(const QColor &color);
101
102 const QColor& lineColor() const;
103 void setLineColor(const QColor &color);
104
105 uint lineWidth() const;
106 void setLineWidth(uint width);
107
108 const QColor& textColor() const;
109 void setTextColor(const QColor& color);
110
111 const QColor& gridDotColor() const;
112 void setGridDotColor(const QColor& color);
113
114 const QColor& backgroundColor() const;
115
116 bool snapToGrid() const;
117 void setSnapToGrid(bool bSnap);
118
119 bool snapComponentSizeToGrid() const;
120 void setSnapComponentSizeToGrid(bool bSnap);
121
122 int snapX() const;
123 int snapY() const;
124 void setSnapSpacing(int x, int y);
125
126 qreal snappedX(qreal x);
127 qreal snappedY(qreal y);
128
129 bool isSnapGridVisible() const;
130 void setSnapGridVisible(bool bShow);
131
132 bool isShowDocumentationIndicator() const;
133 void setShowDocumentationIndicator(bool bShow);
134
135 bool useFillColor() const;
136 void setUseFillColor(bool ufc);
137
138 QFont font() const;
139 void setFont(QFont font, bool changeAllWidgets = false);
140
141 bool showOpSig() const;
142 void setShowOpSig(bool bShowOpSig);
143
145 void setOptionState(const Settings::OptionState& options);
146
150 void addWidgetCmd(UMLWidget* widget);
151 void addWidgetCmd(AssociationWidget *widget);
152
153 bool isOpen() const;
154 void setIsOpen(bool isOpen);
155
156 // End of accessors and methods that only deal with loaded/saved data
158
159 void print(QPrinter *pPrinter, QPainter & pPainter);
160
161 void hideEvent(QHideEvent *he);
162 void showEvent(QShowEvent *se);
163
164 void checkMessages(ObjectWidget * w);
165
167
170 UMLWidget *pWidgetA, UMLWidget *pWidgetB);
172 UMLWidget *pWidgetB, const QString& roleNameB);
173
174 void removeWidget(UMLWidget *o);
176 void removeWidgetCmd(UMLWidget *o);
177private:
179public:
180
184 void clearSelected();
185
186 void moveSelectedBy(qreal dX, qreal dY);
187
188 int selectedCount(bool filterText = false) const;
189
190 void selectionUseFillColor(bool useFC);
191 void selectionSetFont(const QFont &font);
192 void selectionSetLineColor(const QColor &color);
193 void selectionSetLineWidth(uint width);
194 void selectionSetFillColor(const QColor &color);
196
197private:
199public:
200 void deleteSelection();
201 void resizeSelection();
202
203 void selectAll();
204
207
209
210 void setMenu(const QPoint& pos);
211
212 void resetToolbar();
214
215 bool getPaste() const;
216 void setPaste(bool paste);
217
218 void activate();
219
221 UMLWidgetList selectedWidgetsExt(bool filterText = true);
222
223 void activateAfterLoad(bool bUseLog = false);
224
227
229 void removeAssociations(UMLWidget* pWidget);
230 void selectAssociations(bool bSelect);
231
232 void getWidgetAssocs(UMLObject* Obj, AssociationWidgetList & Associations);
233
235
236 void removeAllWidgets();
237
238 void getDiagram(QPixmap & diagram, const QRectF &rect);
239 void getDiagram(QPainter &painter, const QRectF &source, const QRectF &target = QRectF());
240
241 void copyAsImage(QPixmap*& pix);
242
244
245 bool addAssociation(AssociationWidget* pAssoc, bool isPasteOperation = false);
246
248
250
251 QPointF getPastePoint();
252 void resetPastePoint();
253
254 void setStartedCut();
255
256 void createAutoAssociations(UMLWidget * widget);
260
262
264
266
267 void clearDiagram();
268
269 void applyLayout(const QString &actionText);
270
271 void toggleSnapToGrid();
273 void toggleShowGrid();
274
275 void fileLoaded();
276
277 // Load/Save interface:
278
279 virtual void saveToXMI(QXmlStreamWriter& writer);
280 virtual bool loadFromXMI(QDomElement & qElement);
281
282 bool loadUISDiagram(QDomElement & qElement);
283 UMLWidget* loadWidgetFromXMI(QDomElement& widgetElement);
284
285 void addObject(UMLObject *object);
286
287 void selectWidgets(qreal px, qreal py, qreal qx, qreal qy);
288 void selectWidgets(UMLWidgetList &widgets);
289 void selectWidget(UMLWidget* widget, QRectF* rect = 0);
291
292 ObjectWidget * onWidgetLine(const QPointF &point) const;
293 ObjectWidget * onWidgetDestructionBox(const QPointF &point) const;
294
296
297 UMLWidget* widgetAt(const QPointF& p);
298 AssociationWidget* associationAt(const QPointF& p);
299 MessageWidget* messageAt(const QPointF& p);
300
301 void setupNewWidget(UMLWidget *w, bool setPosition=true);
302
303 bool getCreateObject() const;
304 void setCreateObject(bool bCreate);
305
307
308 UMLSceneItemList collisions(const QPointF &p, int delta = 3);
309
310 bool isClassDiagram() const { return type() == Uml::DiagramType::Class; }
311 bool isUseCaseDiagram() const { return type() == Uml::DiagramType::UseCase; }
314 bool isStateDiagram() const { return type() == Uml::DiagramType::State; }
319 bool isObjectDiagram() const { return type() == Uml::DiagramType::Object; }
320
321 void setWidgetLink(WidgetBase *w);
323
324 qreal maxCanvasSize() { return s_maxCanvasSize; }
325
326 void updateCanvasSizeEstimate(qreal x, qreal y, qreal w, qreal h);
327
328 qreal fixX() const;
329 qreal fixY() const;
330
331protected:
332 // Methods and members related to loading/saving
333
334 bool loadWidgetsFromXMI(QDomElement & qElement);
335 bool loadMessagesFromXMI(QDomElement & qElement);
336 bool loadAssociationsFromXMI(QDomElement & qElement);
337 bool loadUisDiagramPresentation(QDomElement & qElement);
338
344
347 QString m_Name;
350
353 bool m_isOpen;
354
355 // End of methods and members related to loading/saving
357
358 void dragEnterEvent(QGraphicsSceneDragDropEvent* enterEvent);
359 void dragMoveEvent(QGraphicsSceneDragDropEvent* moveEvent);
360 void dropEvent(QGraphicsSceneDragDropEvent* dropEvent);
361
362 void mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent);
363 void mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent);
364 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* mouseEvent);
365 void mouseReleaseEvent(QGraphicsSceneMouseEvent* mouseEvent);
366 virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent* event);
367
368 QRectF diagramRect();
369
370 void makeSelected(UMLWidget* uw);
371
373
375 qreal& px, qreal& py, qreal& qx, qreal& qy);
376 void forceUpdateWidgetFontMetrics(QPainter *painter);
377
378 virtual void drawBackground(QPainter *painter, const QRectF &rect);
379
380#if QT_VERSION >= 0x050000
381#if !(QT_DEPRECATED_SINCE(5, 0))
382 inline QGraphicsItem *itemAt(const QPointF &position) const {
383 QList<QGraphicsItem *> itemsAtPoint = items(position);
384 return itemsAtPoint.isEmpty() ? 0 : itemsAtPoint.first();
385 }
386#endif
387#endif
388
390 QPointF m_pos;
395
396private:
398 static const qreal s_defaultCanvasWidth;
399 static const qreal s_defaultCanvasHeight;
400 static const qreal s_maxCanvasSize;
402
405
409 QPointF m_PastePoint;
414 qreal m_minX, m_minY;
415 qreal m_maxX, m_maxY;
416 qreal m_fixX;
417 qreal m_fixY;
418
420 UMLAttribute *attr,
421 UMLWidget *widget);
423 UMLForeignKeyConstraint* fkConstraint,
424 UMLWidget* widget);
425
426public slots:
427 void slotToolBarChanged(int c);
430 void slotMenuSelection(QAction* action);
431 void slotActivate();
432 void slotCutSuccessful();
433 void slotShowView();
434
435 void alignLeft();
436 void alignRight();
437 void alignTop();
438 void alignBottom();
439 void alignVerticalMiddle();
443
444signals:
445 void sigResetToolBar();
446
452 void sigSnapToGridToggled(bool);
454 void sigShowGridToggled(bool);
457
458 friend class DiagramProxyWidget;
459};
460
461QDebug operator<<(QDebug dbg, UMLScene *item);
462
463#endif // UMLSCENE_H
QList< QPointer< AssociationWidget > > AssociationWidgetList
Definition: associationwidgetlist.h:15
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde....
Definition: associationwidget.h:47
A dialog page to display the class related options.
Definition: classoptionspage.h:35
VisualProperty
Definition: classifierwidget.h:37
Definition: diagramproxywidget.h:25
Displays a line of text or an operation.
Definition: floatingtextwidget.h:32
Definition: idchangelog.h:22
Definition: layoutgrid.h:23
Displays a message.
Definition: messagewidget.h:36
Displays an instance of a Concept.
Definition: objectwidget.h:28
Definition: optionstate.h:310
Definition: toolbarstatefactory.h:29
Definition: toolbarstate.h:65
Sets up attribute information.
Definition: attribute.h:23
Non-graphical information for a UMLCanvasObject.
Definition: umlcanvasobject.h:32
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
Definition: umldoc.h:70
Non-graphical Information for an Entity.
Definition: entity.h:30
Non-graphical management of objects and diagrams of a Folder.
Definition: folder.h:30
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:28
The base class for UML objects.
Definition: umlobject.h:70
Definition: umlscene.cpp:116
Definition: umlscene.h:65
void removeWidget(UMLWidget *o)
Definition: umlscene.cpp:1301
bool isComponentDiagram() const
Definition: umlscene.h:316
void alignHorizontalMiddle()
Definition: umlscene.cpp:4475
void createAutoAttributeAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2634
virtual bool loadFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:3864
ObjectWidget * onWidgetDestructionBox(const QPointF &point) const
Definition: umlscene.cpp:1051
void setIsOpen(bool isOpen)
Definition: umlscene.cpp:669
void toggleSnapComponentSizeToGrid()
Definition: umlscene.cpp:3551
void endPartialWidgetPaste()
Definition: umlscene.cpp:2248
bool snapComponentSizeToGrid() const
Definition: umlscene.cpp:3585
void setPos(const QPointF &pos)
Definition: umlscene.cpp:472
void setSnapGridVisible(bool bShow)
Definition: umlscene.cpp:3671
void setupNewWidget(UMLWidget *w, bool setPosition=true)
Definition: umlscene.cpp:723
static const qreal s_defaultCanvasWidth
The default width of a diagram in pixels.
Definition: umlscene.h:398
qreal m_maxY
Gather data for estimating required canvas size (used during loadFromXMI)
Definition: umlscene.h:415
static bool s_showDocumentationIndicator
Status of documentation indicator.
Definition: umlscene.h:401
bool isClassDiagram() const
Definition: umlscene.h:310
QFont font() const
Definition: umlscene.cpp:3452
void setOptionState(const Settings::OptionState &options)
Definition: umlscene.cpp:585
void alignRight()
Definition: umlscene.cpp:4395
UMLScenePrivate * m_d
Definition: umlscene.h:397
void setMenu(const QPoint &pos)
bool loadUISDiagram(QDomElement &qElement)
Definition: umlscene.cpp:4338
int snapY() const
Definition: umlscene.cpp:3611
void triggerToolbarButton(WorkToolBar::ToolBar_Buttons button)
Definition: umlscene.cpp:2978
bool snapToGrid() const
Definition: umlscene.cpp:3568
bool isObjectDiagram() const
Definition: umlscene.h:319
void checkMessages(ObjectWidget *w)
Definition: umlscene.cpp:1131
void copyAsImage(QPixmap *&pix)
Definition: umlscene.cpp:2899
void selectWidgets(qreal px, qreal py, qreal qx, qreal qy)
Definition: umlscene.cpp:1794
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:1014
void setShowDocumentationIndicator(bool bShow)
Definition: umlscene.cpp:3688
MessageWidget * messageAt(const QPointF &p)
Definition: umlscene.cpp:1117
Uml::ID::Type m_nID
The ID of the view. Allocated by UMLDoc.
Definition: umlscene.h:345
qreal snappedX(qreal x)
Definition: umlscene.cpp:3627
void setFolder(UMLFolder *folder)
Definition: umlscene.cpp:346
UMLViewImageExporter * getImageExporter()
Definition: umlscene.cpp:1962
UMLWidget * widgetOnDiagram(Uml::ID::Type id)
Definition: umlscene.cpp:1151
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Definition: umlscene.cpp:2986
bool m_bDrawSelectedOnly
Definition: umlscene.h:392
void createAutoConstraintAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2764
UMLFolder * m_pFolder
The folder in which this UMLView is contained.
Definition: umlscene.h:404
AssociationWidgetList selectedAssociationWidgets() const
Definition: umlscene.cpp:1435
void setLineColor(const QColor &color)
Definition: umlscene.cpp:509
void setStartedCut()
Definition: umlscene.cpp:3444
bool autoIncrementSequence() const
Definition: umlscene.cpp:378
void sigTextColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:384
void dragMoveEvent(QGraphicsSceneDragDropEvent *moveEvent)
Definition: umlscene.cpp:906
void hideEvent(QHideEvent *he)
Definition: umlscene.cpp:781
qreal maxCanvasSize()
Definition: umlscene.h:324
void sigLineWidthChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:391
void removeAllAssociations()
Definition: umlscene.cpp:2360
bool getPaste() const
Definition: umlscene.cpp:3003
void sigSnapComponentSizeToGridToggled(bool)
Definition: moc_umlscene.cpp:405
qreal snappedY(qreal y)
Definition: umlscene.cpp:3645
UMLFolder * folder() const
Definition: umlscene.cpp:338
void forceUpdateWidgetFontMetrics(QPainter *painter)
Definition: umlscene.cpp:3739
void selectionSetLineWidth(uint width)
Definition: umlscene.cpp:1556
void getWidgetAssocs(UMLObject *Obj, AssociationWidgetList &Associations)
Definition: umlscene.cpp:2344
void selectWidgetsOfAssoc(AssociationWidget *a)
Definition: umlscene.cpp:1774
UMLScene(UMLFolder *parentFolder, UMLView *view=0)
Definition: umlscene.cpp:265
UMLView * m_view
The view to which this scene is related.
Definition: umlscene.h:403
void dropEvent(QGraphicsSceneDragDropEvent *dropEvent)
Definition: umlscene.cpp:914
const QColor & fillColor() const
Definition: umlscene.cpp:480
bool loadUisDiagramPresentation(QDomElement &qElement)
Definition: umlscene.cpp:4237
void removeAllWidgets()
Definition: umlscene.cpp:2371
void selectAssociations(bool bSelect)
Definition: umlscene.cpp:2326
void selectionSetFillColor(const QColor &color)
Definition: umlscene.cpp:1576
void toggleSnapToGrid()
Definition: umlscene.cpp:3542
UMLWidget * findWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1196
bool isEntityRelationshipDiagram() const
Definition: umlscene.h:318
void setTextColor(const QColor &color)
Definition: umlscene.cpp:547
Uml::DiagramType::Enum type() const
Definition: umlscene.cpp:432
void setShowOpSig(bool bShowOpSig)
Definition: umlscene.cpp:3704
void resetToolbar()
Definition: umlscene.cpp:2973
bool isShowDocumentationIndicator() const
Definition: umlscene.cpp:3680
static const qreal s_maxCanvasSize
The maximum supported canvas size.
Definition: umlscene.h:400
UMLWidgetList selectedWidgets() const
Definition: umlscene.cpp:1418
void createAutoAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2445
Uml::DiagramType::Enum m_Type
The type of diagram to represent.
Definition: umlscene.h:346
void slotCutSuccessful()
Definition: umlscene.cpp:3402
static const qreal s_defaultCanvasHeight
The default height of a diagram in pixels.
Definition: umlscene.h:399
void activateAfterLoad(bool bUseLog=false)
Definition: umlscene.cpp:2220
AssociationWidget * findAssocWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1225
bool m_bPaste
Definition: umlscene.h:393
void setFont(QFont font, bool changeAllWidgets=false)
Definition: umlscene.cpp:3460
void activate()
Definition: umlscene.cpp:1978
void addWidgetCmd(UMLWidget *widget)
Definition: umlscene.cpp:620
qreal fixY() const
Definition: umlscene.cpp:4621
void unselectChildrenOfSelectedWidgets()
Definition: umlscene.cpp:1606
void getDiagram(QPixmap &diagram, const QRectF &rect)
Definition: umlscene.cpp:1900
void beginPartialWidgetPaste()
Definition: umlscene.cpp:2239
IDChangeLog * m_pIDChangesLog
LocalID Changes Log for paste actions.
Definition: umlscene.h:406
void alignLeft()
Definition: umlscene.cpp:4377
void setAutoIncrementSequence(bool state)
Definition: umlscene.cpp:383
void setType(Uml::DiagramType::Enum type)
Definition: umlscene.cpp:440
void removeAssocInViewAndDoc(AssociationWidget *assoc)
Definition: umlscene.cpp:2279
bool m_isOpen
Flag is set to true when diagram is open, i.e. shown to the user.
Definition: umlscene.h:353
void alignBottom()
Definition: umlscene.cpp:4430
void sigAssociationRemoved(AssociationWidget *)
Definition: moc_umlscene.cpp:419
void createAutoConstraintAssociation(UMLEntity *refEntity, UMLForeignKeyConstraint *fkConstraint, UMLWidget *widget)
Definition: umlscene.cpp:2813
void sigSnapToGridToggled(bool)
Definition: moc_umlscene.cpp:398
void setWidgetLink(WidgetBase *w)
Definition: umlscene.cpp:4574
UMLWidgetList widgetList() const
Definition: umlscene.cpp:609
virtual void drawBackground(QPainter *painter, const QRectF &rect)
Definition: umlscene.cpp:3750
qreal m_minY
Gather data for estimating required canvas size (used during loadFromXMI)
Definition: umlscene.h:414
QRectF diagramRect()
Definition: umlscene.cpp:1408
void selectWidget(UMLWidget *widget, QRectF *rect=0)
Definition: umlscene.cpp:1845
bool addAssociation(AssociationWidget *pAssoc, bool isPasteOperation=false)
Definition: umlscene.cpp:2129
bool isSequenceDiagram() const
Definition: umlscene.h:312
void resizeSelection()
Definition: umlscene.cpp:1685
void selectAll()
Definition: umlscene.cpp:1708
qreal m_fixY
Compensate for QGraphicsScene offsets, https://bugs.kde.org/show_bug.cgi?id=449622.
Definition: umlscene.h:417
void setDocumentation(const QString &doc)
Definition: umlscene.cpp:370
const QColor & textColor() const
Definition: umlscene.cpp:537
const QColor & backgroundColor() const
Definition: umlscene.cpp:1382
int snapX() const
Definition: umlscene.cpp:3603
void updateContainment(UMLCanvasObject *self)
Definition: umlscene.cpp:2393
void findMaxBoundingRectangle(const FloatingTextWidget *ft, qreal &px, qreal &py, qreal &qx, qreal &qy)
Definition: umlscene.cpp:2876
void sigLineColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:377
void sigResetToolBar()
Definition: moc_umlscene.cpp:357
void sigShowGridToggled(bool)
Definition: moc_umlscene.cpp:412
void setFillColor(const QColor &color)
Definition: umlscene.cpp:490
UMLWidgetList selectedWidgetsExt(bool filterText=true)
Definition: umlscene.cpp:2056
bool loadMessagesFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4162
ObjectWidget * onWidgetLine(const QPointF &point) const
Definition: umlscene.cpp:1026
AssociationWidgetList selectedAssocs()
Definition: umlscene.cpp:2075
void clearDiagram()
Definition: umlscene.cpp:3519
void setSnapToGrid(bool bSnap)
Definition: umlscene.cpp:3576
void setGridDotColor(const QColor &color)
Definition: umlscene.cpp:568
UMLSceneItemList collisions(const QPointF &p, int delta=3)
Definition: umlscene.cpp:1751
QString name() const
Definition: umlscene.cpp:416
void moveSelectedBy(qreal dX, qreal dY)
Definition: umlscene.cpp:1493
const QColor & lineColor() const
Definition: umlscene.cpp:499
uint lineWidth() const
Definition: umlscene.cpp:518
qreal m_minX
Definition: umlscene.h:414
bool isSnapGridVisible() const
Definition: umlscene.cpp:3663
void slotShowView()
Definition: umlscene.cpp:3413
void resetPastePoint()
Definition: umlscene.cpp:3435
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:965
void deleteSelection()
Definition: umlscene.cpp:1623
qreal fixX() const
Definition: umlscene.cpp:4613
void setClassWidgetOptions(ClassOptionsPage *page)
Definition: umlscene.cpp:3474
bool m_bPopupShowing
Status of a popupmenu on view. True - a popup is on view.
Definition: umlscene.h:408
QString documentation() const
Definition: umlscene.cpp:362
void sigGridColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:370
void sigWidgetRemoved(UMLWidget *)
Definition: moc_umlscene.cpp:426
bool isDeploymentDiagram() const
Definition: umlscene.h:317
Settings::OptionState m_Options
Options used by view.
Definition: umlscene.h:349
void setLineWidth(uint width)
Definition: umlscene.cpp:528
Uml::ID::Type m_nLocalID
Definition: umlscene.h:343
qreal m_fixX
Compensate for QGraphicsScene offsets, https://bugs.kde.org/show_bug.cgi?id=449622.
Definition: umlscene.h:416
void slotObjectCreated(UMLObject *o)
Definition: umlscene.cpp:803
bool isStateDiagram() const
Definition: umlscene.h:314
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:978
bool isOpen() const
Definition: umlscene.cpp:660
QPointF m_PastePoint
The offset at which to paste the clipboard.
Definition: umlscene.h:409
void setSnapSpacing(int x, int y)
Definition: umlscene.cpp:3619
void alignVerticalMiddle()
Definition: umlscene.cpp:4447
void dragEnterEvent(QGraphicsSceneDragDropEvent *enterEvent)
Definition: umlscene.cpp:860
void print(QPrinter *pPrinter, QPainter &pPainter)
Definition: umlscene.cpp:677
void showEvent(QShowEvent *se)
Definition: umlscene.cpp:768
bool loadWidgetsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4115
bool m_bStartedCut
Flag if view/children started cut operation.
Definition: umlscene.h:394
QPointF pos() const
Definition: umlscene.cpp:464
QString autoIncrementSequenceValue()
Definition: umlscene.cpp:391
void setCreateObject(bool bCreate)
Definition: umlscene.cpp:760
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:997
void slotToolBarChanged(int c)
Definition: umlscene.cpp:794
void alignTop()
Definition: umlscene.cpp:4412
bool isSavedInSeparateFile()
Definition: umlscene.cpp:1717
UMLDoc * m_doc
Pointer to the UMLDoc.
Definition: umlscene.h:410
UMLViewImageExporter * m_pImageExporter
Used to export the view.
Definition: umlscene.h:411
void applyLayout(const QString &actionText)
Definition: umlscene.cpp:3529
bool m_bUseSnapToGrid
Flag to use snap to grid. The default is off.
Definition: umlscene.h:351
void selectionSetFont(const QFont &font)
Definition: umlscene.cpp:1524
WidgetBase::WidgetType getUniqueSelectionType()
Definition: umlscene.cpp:3495
QString m_Documentation
The documentation of the diagram.
Definition: umlscene.h:348
QPointF m_pos
Definition: umlscene.h:390
WidgetBase * widgetLink()
Definition: umlscene.cpp:4579
void updateCanvasSizeEstimate(qreal x, qreal y, qreal w, qreal h)
Definition: umlscene.cpp:4598
void createAutoAttributeAssociation(UMLClassifier *type, UMLAttribute *attr, UMLWidget *widget)
Definition: umlscene.cpp:2702
AssociationWidgetList associationList() const
Definition: umlscene.cpp:595
QString m_Name
The name of the diagram.
Definition: umlscene.h:347
UMLWidget * getFirstMultiSelectedWidget() const
Definition: umlscene.cpp:1072
void slotActivate()
Definition: umlscene.cpp:1970
void toggleShowGrid()
Definition: umlscene.cpp:3560
bool getCreateObject() const
Definition: umlscene.cpp:752
bool showOpSig() const
Definition: umlscene.cpp:3696
void slotObjectRemoved(UMLObject *o)
Definition: umlscene.cpp:844
bool m_autoIncrementSequence
state of auto increment sequence
Definition: umlscene.h:413
int generateCollaborationId()
Definition: umlscene.cpp:651
virtual ~UMLScene()
Definition: umlscene.cpp:314
void setPaste(bool paste)
Definition: umlscene.cpp:3011
MessageWidgetList messageList() const
Definition: umlscene.cpp:637
bool isUseCaseDiagram() const
Definition: umlscene.h:311
void createAutoAttributeAssociations2(UMLWidget *widget)
Definition: umlscene.cpp:2845
QPointF getPastePoint()
Definition: umlscene.cpp:3424
void sigFillColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:363
void fileLoaded()
Definition: umlscene.cpp:3713
void addObject(UMLObject *object)
Definition: umlscene.cpp:4228
bool useFillColor() const
Definition: umlscene.cpp:1390
void clearSelected()
Definition: umlscene.cpp:1473
bool m_bUseSnapComponentSizeToGrid
Flag to use snap to grid for component size. The default is off.
Definition: umlscene.h:352
void alignHorizontalDistribute()
Definition: umlscene.cpp:4534
bool isCollaborationDiagram() const
Definition: umlscene.h:313
void slotMenuSelection(QAction *action)
Definition: umlscene.cpp:3020
AssociationWidget * associationAt(const QPointF &p)
Definition: umlscene.cpp:1102
void makeSelected(UMLWidget *uw)
Definition: umlscene.cpp:1764
int selectedCount(bool filterText=false) const
Definition: umlscene.cpp:2031
void removeAssociations(UMLWidget *pWidget)
Definition: umlscene.cpp:2312
void selectionSetVisualProperty(ClassifierWidget::VisualProperty property, bool value)
Definition: umlscene.cpp:1591
int m_nCollaborationId
Used for creating unique name of collaboration messages.
Definition: umlscene.h:389
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: umlscene.cpp:3790
UMLWidgetList selectedMessageWidgets() const
Definition: umlscene.cpp:1452
void selectionUseFillColor(bool useFC)
Definition: umlscene.cpp:1506
void setUseFillColor(bool ufc)
Definition: umlscene.cpp:1398
Settings::OptionState & optionState()
Definition: umlscene.cpp:577
bool m_isActivated
True if the view was activated after the deserialization(load).
Definition: umlscene.h:407
UMLView * activeView() const
Definition: umlscene.cpp:354
bool loadAssociationsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4190
void addFloatingTextWidget(FloatingTextWidget *pWidget)
Definition: umlscene.cpp:2089
void setName(const QString &name)
Definition: umlscene.cpp:424
UMLWidget * widgetAt(const QPointF &p)
Definition: umlscene.cpp:1086
void removeWidgetCmd(UMLWidget *o)
Definition: umlscene.cpp:1321
bool m_bCreateObject
Definition: umlscene.h:391
bool isActivityDiagram() const
Definition: umlscene.h:315
LayoutGrid * m_layoutGrid
layout grid in the background
Definition: umlscene.h:412
void alignVerticalDistribute()
Definition: umlscene.cpp:4503
void removeOwnedWidgets(UMLWidget *o)
Definition: umlscene.cpp:1367
void setID(Uml::ID::Type id)
Definition: umlscene.cpp:456
const QColor & gridDotColor() const
Definition: umlscene.cpp:558
void selectionSetLineColor(const QColor &color)
Definition: umlscene.cpp:1538
void updateComponentSizes()
Definition: umlscene.cpp:3721
qreal m_maxX
Definition: umlscene.h:415
void setSnapComponentSizeToGrid(bool bSnap)
Definition: umlscene.cpp:3593
Uml::ID::Type ID() const
Definition: umlscene.cpp:448
UMLWidget * loadWidgetFromXMI(QDomElement &widgetElement)
Definition: umlscene.cpp:4141
Definition: umlviewimageexportermodel.h:29
Definition: umlviewimageexporter.h:29
Definition: umlview.h:30
The base class for graphical UML objects.
Definition: umlwidget.h:36
Common base class for UMLWidget and AssociationWidget.
Definition: widgetbase.h:101
WidgetType
Definition: widgetbase.h:107
ToolBar_Buttons
Definition: worktoolbar.h:52
int x
Definition: cxx11-lambda-functions-and-expressions.h:4
QList< QPointer< MessageWidget > > MessageWidgetList
Definition: messagewidgetlist.h:13
Enum
Definition: basictypes.h:92
Enum
Definition: basictypes.h:63
@ Component
Definition: basictypes.h:73
@ Collaboration
Definition: basictypes.h:70
@ Activity
Definition: basictypes.h:72
@ State
Definition: basictypes.h:71
@ Object
Definition: basictypes.h:76
@ UseCase
Definition: basictypes.h:68
@ Sequence
Definition: basictypes.h:69
@ Class
Definition: basictypes.h:67
@ EntityRelationship
Definition: basictypes.h:75
@ Deployment
Definition: basictypes.h:74
std::string Type
Definition: basictypes.h:371
QString a
Definition: petalnode.cpp:13
QList< QGraphicsItem * > UMLSceneItemList
Definition: umlscene.h:54
QDebug operator<<(QDebug dbg, UMLScene *item)
Definition: umlscene.cpp:4565
QList< QPointer< UMLWidget > > UMLWidgetList
Definition: umlwidgetlist.h:13