umbrello  2.32.2
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  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2002-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #ifndef UMLSCENE_H
12 #define UMLSCENE_H
13 
14 // local includes
15 #include "associationwidgetlist.h"
16 #include "basictypes.h"
17 #include "classifierwidget.h"
18 #include "messagewidgetlist.h"
19 #include "optionstate.h"
20 #include "umlobject.h"
21 #include "umlobjectlist.h"
22 #include "umlwidgetlist.h"
23 #include "worktoolbar.h"
24 #include "widgetbase.h"
25 
26 // Qt includes
27 #include <QDomDocument>
28 #include <QGraphicsScene>
29 #include <QGraphicsItem>
30 #include <QGraphicsSceneMouseEvent>
31 #include <QGraphicsPolygonItem>
32 #include <QKeyEvent>
33 #include <QMouseEvent>
34 #include <QPixmap>
35 #include <QXmlStreamWriter>
36 
37 // forward declarations
38 class ClassOptionsPage;
39 class IDChangeLog;
40 class LayoutGrid;
41 class FloatingTextWidget;
42 class ObjectWidget;
43 class ToolBarState;
45 class UMLFolder;
46 class UMLDoc;
47 class UMLAttribute;
48 class UMLCanvasObject;
49 class UMLClassifier;
52 class UMLEntity;
53 class UMLView;
54 
55 class QHideEvent;
56 class QMouseEvent;
57 class QPrinter;
58 class QShowEvent;
59 class UMLScenePrivate;
60 
61 // migration wrapper for QGraphicsScene items
62 typedef QList<QGraphicsItem*> UMLSceneItemList;
63 
69 class UMLScene : public QGraphicsScene
70 {
71  Q_OBJECT
72 public:
74 
75  explicit UMLScene(UMLFolder *parentFolder, UMLView *view = 0);
76  virtual ~UMLScene();
77 
78  UMLView* activeView() const;
79 
80  // Accessors and other methods dealing with loaded/saved data
81 
82  UMLFolder* folder() const;
83  void setFolder(UMLFolder *folder);
84 
85  QString documentation() const;
86  void setDocumentation(const QString &doc);
87 
88  bool autoIncrementSequence() const;
89  void setAutoIncrementSequence(bool state);
91 
92  QString name() const;
93  void setName(const QString &name);
94 
97 
98  Uml::ID::Type ID() const;
99  void setID(Uml::ID::Type id);
100 
101  QPointF pos() const;
102  void setPos(const QPointF &pos);
103 
104  const QColor& fillColor() const;
105  void setFillColor(const QColor &color);
106 
107  const QColor& lineColor() const;
108  void setLineColor(const QColor &color);
109 
110  uint lineWidth() const;
111  void setLineWidth(uint width);
112 
113  const QColor& textColor() const;
114  void setTextColor(const QColor& color);
115 
116  const QColor& gridDotColor() const;
117  void setGridDotColor(const QColor& color);
118 
119  const QColor& backgroundColor() const;
120 
121  bool snapToGrid() const;
122  void setSnapToGrid(bool bSnap);
123 
124  bool snapComponentSizeToGrid() const;
125  void setSnapComponentSizeToGrid(bool bSnap);
126 
127  int snapX() const;
128  int snapY() const;
129  void setSnapSpacing(int x, int y);
130 
131  qreal snappedX(qreal x);
132  qreal snappedY(qreal y);
133 
134  bool isSnapGridVisible() const;
135  void setSnapGridVisible(bool bShow);
136 
137  bool isShowDocumentationIndicator() const;
138  void setShowDocumentationIndicator(bool bShow);
139 
140  bool useFillColor() const;
141  void setUseFillColor(bool ufc);
142 
143  QFont font() const;
144  void setFont(QFont font, bool changeAllWidgets = false);
145 
146  bool showOpSig() const;
147  void setShowOpSig(bool bShowOpSig);
148 
150  void setOptionState(const Settings::OptionState& options);
151 
153  const MessageWidgetList messageList() const;
154  const UMLWidgetList widgetList() const;
155  void addWidgetCmd(UMLWidget* widget);
156  void addWidgetCmd(AssociationWidget *widget);
157 
158  bool isOpen() const;
159  void setIsOpen(bool isOpen);
160 
161  // End of accessors and methods that only deal with loaded/saved data
163 
164  void print(QPrinter *pPrinter, QPainter & pPainter);
165 
166  void hideEvent(QHideEvent *he);
167  void showEvent(QShowEvent *se);
168 
169  void checkMessages(ObjectWidget * w);
170 
172 
175  UMLWidget *pWidgetA, UMLWidget *pWidgetB);
177  UMLWidget *pWidgetB, const QString& roleNameB);
178 
179  void removeWidget(UMLWidget *o);
181  void removeWidgetCmd(UMLWidget *o);
182 private:
183  void removeOwnedWidgets(UMLWidget* o);
184 public:
185 
189  void clearSelected();
190 
191  void moveSelectedBy(qreal dX, qreal dY);
192 
193  int selectedCount(bool filterText = false) const;
194 
195  void selectionUseFillColor(bool useFC);
196  void selectionSetFont(const QFont &font);
197  void selectionSetLineColor(const QColor &color);
198  void selectionSetLineWidth(uint width);
199  void selectionSetFillColor(const QColor &color);
201 
202 private:
204 public:
205  void deleteSelection();
206  void resizeSelection();
207 
208  void selectAll();
209 
212 
213  bool isSavedInSeparateFile();
214 
215  void setMenu(const QPoint& pos);
216 
217  void resetToolbar();
219 
220  bool getPaste() const;
221  void setPaste(bool paste);
222 
223  void activate();
224 
226  UMLWidgetList selectedWidgetsExt(bool filterText = true);
227 
228  void activateAfterLoad(bool bUseLog = false);
229 
230  void endPartialWidgetPaste();
232 
233  void removeWidgetCmd(AssociationWidget* pAssoc);
234  void removeAssociations(UMLWidget* pWidget);
235  void selectAssociations(bool bSelect);
236 
237  void getWidgetAssocs(UMLObject* Obj, AssociationWidgetList & Associations);
238 
239  void removeAllAssociations();
240 
241  void removeAllWidgets();
242 
243  void getDiagram(QPixmap & diagram, const QRectF &rect);
244  void getDiagram(QPainter &painter, const QRectF &source, const QRectF &target = QRectF());
245 
246  void copyAsImage(QPixmap*& pix);
247 
249 
250  bool addAssociation(AssociationWidget* pAssoc, bool isPasteOperation = false);
251 
253 
255 
256  QPointF getPastePoint();
257  void resetPastePoint();
258 
259  void setStartedCut();
260 
261  void createAutoAssociations(UMLWidget * widget);
265 
267 
269 
271 
272  void clearDiagram();
273 
274  void applyLayout(const QString &actionText);
275 
276  void toggleSnapToGrid();
278  void toggleShowGrid();
279 
280  void fileLoaded();
281 
282  void resizeSceneToItems();
283 
284  // Load/Save interface:
285 
286  virtual void saveToXMI1(QXmlStreamWriter& writer);
287  virtual bool loadFromXMI1(QDomElement & qElement);
288 
289  bool loadUISDiagram(QDomElement & qElement);
290  UMLWidget* loadWidgetFromXMI(QDomElement& widgetElement);
291 
292  void addObject(UMLObject *object);
293 
294  void selectWidgets(qreal px, qreal py, qreal qx, qreal qy);
295  void selectWidgets(UMLWidgetList &widgets);
296  void selectWidget(UMLWidget* widget, QRectF* rect = 0);
298 
299  ObjectWidget * onWidgetLine(const QPointF &point) const;
300  ObjectWidget * onWidgetDestructionBox(const QPointF &point) const;
301 
303 
304  UMLWidget* widgetAt(const QPointF& p);
305  AssociationWidget* associationAt(const QPointF& p);
306  MessageWidget* messageAt(const QPointF& p);
307 
308  void setupNewWidget(UMLWidget *w, bool setPosition=true);
309 
310  bool getCreateObject() const;
311  void setCreateObject(bool bCreate);
312 
314 
315  UMLSceneItemList collisions(const QPointF &p, int delta = 3);
316 
327 
328  void setWidgetLink(WidgetBase *w);
330 
331 protected:
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;
348  QString m_Documentation;
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 
372  void updateComponentSizes();
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;
393  bool m_bPaste;
395 
396 private:
398  static const qreal defaultCanvasSize;
400 
403 
407  QPointF m_PastePoint;
412 
414  UMLAttribute *attr,
415  UMLWidget *widget);
417  UMLForeignKeyConstraint* fkConstraint,
418  UMLWidget* widget);
419 
420 public slots:
421  void slotToolBarChanged(int c);
422  void slotObjectCreated(UMLObject * o);
423  void slotObjectRemoved(UMLObject * o);
424  void slotMenuSelection(QAction* action);
425  void slotActivate();
426  void slotCutSuccessful();
427  void slotShowView();
428 
429  void alignLeft();
430  void alignRight();
431  void alignTop();
432  void alignBottom();
433  void alignVerticalMiddle();
434  void alignHorizontalMiddle();
437 
438 signals:
439  void sigResetToolBar();
440 
446  void sigSnapToGridToggled(bool);
448  void sigShowGridToggled(bool);
451 
452  friend class DiagramProxyWidget;
453 };
454 
455 QDebug operator<<(QDebug dbg, UMLScene *item);
456 
457 #endif // UMLSCENE_H
QList< QPointer< AssociationWidget > > AssociationWidgetList
Definition: associationwidgetlist.h:19
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde....
Definition: associationwidget.h:52
A dialog page to display the class related options.
Definition: classoptionspage.h:40
VisualProperty
Definition: classifierwidget.h:42
Definition: diagramproxywidget.h:30
Displays a line of text or an operation.
Definition: floatingtextwidget.h:37
Definition: idchangelog.h:27
Definition: layoutgrid.h:36
Displays a message.
Definition: messagewidget.h:41
Displays an instance of a Concept.
Definition: objectwidget.h:33
Definition: optionstate.h:315
Definition: toolbarstatefactory.h:34
Definition: toolbarstate.h:70
Sets up attribute information.
Definition: attribute.h:28
Non-graphical information for a UMLCanvasObject.
Definition: umlcanvasobject.h:37
Information for a non-graphical Concept/Class.
Definition: classifier.h:40
Definition: umldoc.h:75
Non-graphical Information for an Entity.
Definition: entity.h:35
Non-graphical management of objects and diagrams of a Folder.
Definition: folder.h:35
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:33
The base class for UML objects.
Definition: umlobject.h:75
Definition: umlscene.cpp:117
Definition: umlscene.h:70
void removeWidget(UMLWidget *o)
Definition: umlscene.cpp:1290
void alignHorizontalMiddle()
Definition: umlscene.cpp:4320
void createAutoAttributeAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2617
ObjectWidget * onWidgetDestructionBox(const QPointF &point) const
Definition: umlscene.cpp:1040
void setIsOpen(bool isOpen)
Definition: umlscene.cpp:662
void toggleSnapComponentSizeToGrid()
Definition: umlscene.cpp:3534
void endPartialWidgetPaste()
Definition: umlscene.cpp:2229
bool snapComponentSizeToGrid() const
Definition: umlscene.cpp:3568
bool isDeploymentDiagram()
Definition: umlscene.h:324
void setPos(const QPointF &pos)
Definition: umlscene.cpp:467
void setSnapGridVisible(bool bShow)
Definition: umlscene.cpp:3654
void setupNewWidget(UMLWidget *w, bool setPosition=true)
Definition: umlscene.cpp:716
bool isUseCaseDiagram()
Definition: umlscene.h:318
QFont font() const
Definition: umlscene.cpp:3434
void setOptionState(const Settings::OptionState &options)
Definition: umlscene.cpp:580
void alignRight()
Definition: umlscene.cpp:4240
static bool m_showDocumentationIndicator
Status of documentation indicator.
Definition: umlscene.h:399
UMLScenePrivate * m_d
Definition: umlscene.h:397
void setMenu(const QPoint &pos)
bool loadUISDiagram(QDomElement &qElement)
Definition: umlscene.cpp:4183
int snapY() const
Definition: umlscene.cpp:3594
const AssociationWidgetList associationList() const
Definition: umlscene.cpp:590
void triggerToolbarButton(WorkToolBar::ToolBar_Buttons button)
Definition: umlscene.cpp:2961
bool snapToGrid() const
Definition: umlscene.cpp:3551
void checkMessages(ObjectWidget *w)
Definition: umlscene.cpp:1120
void copyAsImage(QPixmap *&pix)
Definition: umlscene.cpp:2882
void selectWidgets(qreal px, qreal py, qreal qx, qreal qy)
Definition: umlscene.cpp:1785
virtual bool loadFromXMI1(QDomElement &qElement)
Definition: umlscene.cpp:3843
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:1003
void setShowDocumentationIndicator(bool bShow)
Definition: umlscene.cpp:3671
MessageWidget * messageAt(const QPointF &p)
Definition: umlscene.cpp:1106
Uml::ID::Type m_nID
The ID of the view. Allocated by UMLDoc.
Definition: umlscene.h:345
qreal snappedX(qreal x)
Definition: umlscene.cpp:3610
virtual void saveToXMI1(QXmlStreamWriter &writer)
Definition: umlscene.cpp:3768
void setFolder(UMLFolder *folder)
Definition: umlscene.cpp:341
UMLViewImageExporter * getImageExporter()
Definition: umlscene.cpp:1951
UMLWidget * widgetOnDiagram(Uml::ID::Type id)
Definition: umlscene.cpp:1140
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Definition: umlscene.cpp:2969
bool m_bDrawSelectedOnly
Definition: umlscene.h:392
void createAutoConstraintAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2747
UMLFolder * m_pFolder
The folder in which this UMLView is contained.
Definition: umlscene.h:402
AssociationWidgetList selectedAssociationWidgets() const
Definition: umlscene.cpp:1424
void setLineColor(const QColor &color)
Definition: umlscene.cpp:504
void setStartedCut()
Definition: umlscene.cpp:3426
bool autoIncrementSequence() const
Definition: umlscene.cpp:373
void sigTextColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:384
void dragMoveEvent(QGraphicsSceneDragDropEvent *moveEvent)
Definition: umlscene.cpp:895
void hideEvent(QHideEvent *he)
Definition: umlscene.cpp:775
void sigLineWidthChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:391
void removeAllAssociations()
Definition: umlscene.cpp:2342
bool getPaste() const
Definition: umlscene.cpp:2986
void sigSnapComponentSizeToGridToggled(bool)
Definition: moc_umlscene.cpp:405
qreal snappedY(qreal y)
Definition: umlscene.cpp:3628
UMLFolder * folder() const
Definition: umlscene.cpp:333
void forceUpdateWidgetFontMetrics(QPainter *painter)
Definition: umlscene.cpp:3732
void selectionSetLineWidth(uint width)
Definition: umlscene.cpp:1547
void getWidgetAssocs(UMLObject *Obj, AssociationWidgetList &Associations)
Definition: umlscene.cpp:2326
void selectWidgetsOfAssoc(AssociationWidget *a)
Definition: umlscene.cpp:1765
UMLScene(UMLFolder *parentFolder, UMLView *view=0)
Definition: umlscene.cpp:263
UMLView * m_view
The view to which this scene is related.
Definition: umlscene.h:401
bool isObjectDiagram()
Definition: umlscene.h:326
void dropEvent(QGraphicsSceneDragDropEvent *dropEvent)
Definition: umlscene.cpp:903
const QColor & fillColor() const
Definition: umlscene.cpp:475
bool loadUisDiagramPresentation(QDomElement &qElement)
Definition: umlscene.cpp:4085
void removeAllWidgets()
Definition: umlscene.cpp:2353
void selectAssociations(bool bSelect)
Definition: umlscene.cpp:2308
void selectionSetFillColor(const QColor &color)
Definition: umlscene.cpp:1567
void toggleSnapToGrid()
Definition: umlscene.cpp:3525
UMLWidget * findWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1185
void setTextColor(const QColor &color)
Definition: umlscene.cpp:542
Uml::DiagramType::Enum type() const
Definition: umlscene.cpp:427
void setShowOpSig(bool bShowOpSig)
Definition: umlscene.cpp:3687
void resetToolbar()
Definition: umlscene.cpp:2956
bool isShowDocumentationIndicator() const
Definition: umlscene.cpp:3663
UMLWidgetList selectedWidgets() const
Definition: umlscene.cpp:1407
void createAutoAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2427
Uml::DiagramType::Enum m_Type
The type of diagram to represent.
Definition: umlscene.h:346
void slotCutSuccessful()
Definition: umlscene.cpp:3384
void activateAfterLoad(bool bUseLog=false)
Definition: umlscene.cpp:2201
AssociationWidget * findAssocWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1214
bool m_bPaste
Definition: umlscene.h:393
void setFont(QFont font, bool changeAllWidgets=false)
Definition: umlscene.cpp:3442
void activate()
Definition: umlscene.cpp:1967
void addWidgetCmd(UMLWidget *widget)
Definition: umlscene.cpp:615
void unselectChildrenOfSelectedWidgets()
Definition: umlscene.cpp:1597
void getDiagram(QPixmap &diagram, const QRectF &rect)
Definition: umlscene.cpp:1891
void beginPartialWidgetPaste()
Definition: umlscene.cpp:2220
IDChangeLog * m_pIDChangesLog
LocalID Changes Log for paste actions.
Definition: umlscene.h:404
void alignLeft()
Definition: umlscene.cpp:4222
void setAutoIncrementSequence(bool state)
Definition: umlscene.cpp:378
void setType(Uml::DiagramType::Enum type)
Definition: umlscene.cpp:435
void removeAssocInViewAndDoc(AssociationWidget *assoc)
Definition: umlscene.cpp:2260
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:4275
void sigAssociationRemoved(AssociationWidget *)
Definition: moc_umlscene.cpp:419
void createAutoConstraintAssociation(UMLEntity *refEntity, UMLForeignKeyConstraint *fkConstraint, UMLWidget *widget)
Definition: umlscene.cpp:2796
void sigSnapToGridToggled(bool)
Definition: moc_umlscene.cpp:398
void setWidgetLink(WidgetBase *w)
Definition: umlscene.cpp:4419
virtual void drawBackground(QPainter *painter, const QRectF &rect)
Definition: umlscene.cpp:3743
QRectF diagramRect()
Definition: umlscene.cpp:1397
void selectWidget(UMLWidget *widget, QRectF *rect=0)
Definition: umlscene.cpp:1836
bool addAssociation(AssociationWidget *pAssoc, bool isPasteOperation=false)
Definition: umlscene.cpp:2110
void resizeSelection()
Definition: umlscene.cpp:1676
bool isComponentDiagram()
Definition: umlscene.h:323
void selectAll()
Definition: umlscene.cpp:1699
void setDocumentation(const QString &doc)
Definition: umlscene.cpp:365
const QColor & textColor() const
Definition: umlscene.cpp:532
const QColor & backgroundColor() const
Definition: umlscene.cpp:1371
int snapX() const
Definition: umlscene.cpp:3586
void updateContainment(UMLCanvasObject *self)
Definition: umlscene.cpp:2375
void findMaxBoundingRectangle(const FloatingTextWidget *ft, qreal &px, qreal &py, qreal &qx, qreal &qy)
Definition: umlscene.cpp:2859
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:485
UMLWidgetList selectedWidgetsExt(bool filterText=true)
Definition: umlscene.cpp:2045
bool loadMessagesFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4012
ObjectWidget * onWidgetLine(const QPointF &point) const
Definition: umlscene.cpp:1015
AssociationWidgetList selectedAssocs()
Definition: umlscene.cpp:2064
void clearDiagram()
Definition: umlscene.cpp:3501
void setSnapToGrid(bool bSnap)
Definition: umlscene.cpp:3559
void setGridDotColor(const QColor &color)
Definition: umlscene.cpp:563
UMLSceneItemList collisions(const QPointF &p, int delta=3)
Definition: umlscene.cpp:1742
QString name() const
Definition: umlscene.cpp:411
void moveSelectedBy(qreal dX, qreal dY)
Definition: umlscene.cpp:1484
void resizeSceneToItems()
Definition: umlscene.cpp:3705
const QColor & lineColor() const
Definition: umlscene.cpp:494
bool isClassDiagram()
Definition: umlscene.h:317
uint lineWidth() const
Definition: umlscene.cpp:513
bool isSnapGridVisible() const
Definition: umlscene.cpp:3646
void slotShowView()
Definition: umlscene.cpp:3395
void resetPastePoint()
Definition: umlscene.cpp:3417
const MessageWidgetList messageList() const
Definition: umlscene.cpp:630
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:954
void deleteSelection()
Definition: umlscene.cpp:1614
void setClassWidgetOptions(ClassOptionsPage *page)
Definition: umlscene.cpp:3456
bool m_bPopupShowing
Status of a popupmenu on view. True - a popup is on view.
Definition: umlscene.h:406
bool isCollaborationDiagram()
Definition: umlscene.h:320
QString documentation() const
Definition: umlscene.cpp:357
void sigGridColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:370
void sigWidgetRemoved(UMLWidget *)
Definition: moc_umlscene.cpp:426
Settings::OptionState m_Options
Options used by view.
Definition: umlscene.h:349
void setLineWidth(uint width)
Definition: umlscene.cpp:523
Uml::ID::Type m_nLocalID
Definition: umlscene.h:343
void slotObjectCreated(UMLObject *o)
Definition: umlscene.cpp:797
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:967
bool isOpen() const
Definition: umlscene.cpp:653
QPointF m_PastePoint
The offset at which to paste the clipboard.
Definition: umlscene.h:407
void setSnapSpacing(int x, int y)
Definition: umlscene.cpp:3602
void alignVerticalMiddle()
Definition: umlscene.cpp:4292
void dragEnterEvent(QGraphicsSceneDragDropEvent *enterEvent)
Definition: umlscene.cpp:849
void print(QPrinter *pPrinter, QPainter &pPainter)
Definition: umlscene.cpp:670
void showEvent(QShowEvent *se)
Definition: umlscene.cpp:762
bool loadWidgetsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:3965
bool m_bStartedCut
Flag if view/children started cut operation.
Definition: umlscene.h:394
QPointF pos() const
Definition: umlscene.cpp:459
QString autoIncrementSequenceValue()
Definition: umlscene.cpp:386
void setCreateObject(bool bCreate)
Definition: umlscene.cpp:754
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:986
bool isStateDiagram()
Definition: umlscene.h:321
void slotToolBarChanged(int c)
Definition: umlscene.cpp:788
void alignTop()
Definition: umlscene.cpp:4257
bool isSavedInSeparateFile()
Definition: umlscene.cpp:1708
UMLDoc * m_doc
Pointer to the UMLDoc.
Definition: umlscene.h:408
UMLViewImageExporter * m_pImageExporter
Used to export the view.
Definition: umlscene.h:409
void applyLayout(const QString &actionText)
Definition: umlscene.cpp:3511
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:1515
WidgetBase::WidgetType getUniqueSelectionType()
Definition: umlscene.cpp:3477
QString m_Documentation
The documentation of the diagram.
Definition: umlscene.h:348
QPointF m_pos
Definition: umlscene.h:390
WidgetBase * widgetLink()
Definition: umlscene.cpp:4424
void createAutoAttributeAssociation(UMLClassifier *type, UMLAttribute *attr, UMLWidget *widget)
Definition: umlscene.cpp:2685
QString m_Name
The name of the diagram.
Definition: umlscene.h:347
UMLWidget * getFirstMultiSelectedWidget() const
Definition: umlscene.cpp:1061
void slotActivate()
Definition: umlscene.cpp:1959
void toggleShowGrid()
Definition: umlscene.cpp:3543
bool getCreateObject() const
Definition: umlscene.cpp:746
bool showOpSig() const
Definition: umlscene.cpp:3679
void slotObjectRemoved(UMLObject *o)
Definition: umlscene.cpp:833
bool m_autoIncrementSequence
state of auto increment sequence
Definition: umlscene.h:411
int generateCollaborationId()
Definition: umlscene.cpp:644
virtual ~UMLScene()
Definition: umlscene.cpp:309
void setPaste(bool paste)
Definition: umlscene.cpp:2994
bool isEntityRelationshipDiagram()
Definition: umlscene.h:325
void createAutoAttributeAssociations2(UMLWidget *widget)
Definition: umlscene.cpp:2828
QPointF getPastePoint()
Definition: umlscene.cpp:3406
void sigFillColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:363
void fileLoaded()
Definition: umlscene.cpp:3696
void addObject(UMLObject *object)
Definition: umlscene.cpp:4076
bool useFillColor() const
Definition: umlscene.cpp:1379
void clearSelected()
Definition: umlscene.cpp:1464
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:4379
void slotMenuSelection(QAction *action)
Definition: umlscene.cpp:3003
AssociationWidget * associationAt(const QPointF &p)
Definition: umlscene.cpp:1091
void makeSelected(UMLWidget *uw)
Definition: umlscene.cpp:1755
int selectedCount(bool filterText=false) const
Definition: umlscene.cpp:2020
void removeAssociations(UMLWidget *pWidget)
Definition: umlscene.cpp:2294
void selectionSetVisualProperty(ClassifierWidget::VisualProperty property, bool value)
Definition: umlscene.cpp:1582
int m_nCollaborationId
Used for creating unique name of collaboration messages.
Definition: umlscene.h:389
UMLWidgetList selectedMessageWidgets() const
Definition: umlscene.cpp:1441
void selectionUseFillColor(bool useFC)
Definition: umlscene.cpp:1497
void setUseFillColor(bool ufc)
Definition: umlscene.cpp:1387
Settings::OptionState & optionState()
Definition: umlscene.cpp:572
bool m_isActivated
True if the view was activated after the serialization(load).
Definition: umlscene.h:405
UMLView * activeView() const
Definition: umlscene.cpp:349
bool loadAssociationsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4039
void addFloatingTextWidget(FloatingTextWidget *pWidget)
Definition: umlscene.cpp:2078
void setName(const QString &name)
Definition: umlscene.cpp:419
UMLWidget * widgetAt(const QPointF &p)
Definition: umlscene.cpp:1075
void removeWidgetCmd(UMLWidget *o)
Definition: umlscene.cpp:1310
const UMLWidgetList widgetList() const
Definition: umlscene.cpp:604
bool isActivityDiagram()
Definition: umlscene.h:322
bool m_bCreateObject
Definition: umlscene.h:391
bool isSequenceDiagram()
Definition: umlscene.h:319
LayoutGrid * m_layoutGrid
layout grid in the background
Definition: umlscene.h:410
void alignVerticalDistribute()
Definition: umlscene.cpp:4348
void removeOwnedWidgets(UMLWidget *o)
Definition: umlscene.cpp:1356
void setID(Uml::ID::Type id)
Definition: umlscene.cpp:451
static const qreal defaultCanvasSize
The default size of a diagram in pixels.
Definition: umlscene.h:398
const QColor & gridDotColor() const
Definition: umlscene.cpp:553
void selectionSetLineColor(const QColor &color)
Definition: umlscene.cpp:1529
void updateComponentSizes()
Definition: umlscene.cpp:3714
void setSnapComponentSizeToGrid(bool bSnap)
Definition: umlscene.cpp:3576
Uml::ID::Type ID() const
Definition: umlscene.cpp:443
UMLWidget * loadWidgetFromXMI(QDomElement &widgetElement)
Definition: umlscene.cpp:3991
Definition: umlviewimageexportermodel.h:34
Definition: umlviewimageexporter.h:34
Definition: umlview.h:35
The base class for graphical UML objects.
Definition: umlwidget.h:41
Common base class for UMLWidget and AssociationWidget.
Definition: widgetbase.h:106
WidgetType
Definition: widgetbase.h:112
ToolBar_Buttons
Definition: worktoolbar.h:57
int x
Definition: cxx11-lambda-functions-and-expressions.h:4
QList< QPointer< MessageWidget > > MessageWidgetList
Definition: messagewidgetlist.h:18
Enum
Definition: basictypes.h:106
Enum
Definition: basictypes.h:77
@ Component
Definition: basictypes.h:87
@ Collaboration
Definition: basictypes.h:84
@ Activity
Definition: basictypes.h:86
@ State
Definition: basictypes.h:85
@ Object
Definition: basictypes.h:90
@ UseCase
Definition: basictypes.h:82
@ Sequence
Definition: basictypes.h:83
@ Class
Definition: basictypes.h:81
@ EntityRelationship
Definition: basictypes.h:89
@ Deployment
Definition: basictypes.h:88
std::string Type
Definition: basictypes.h:385
QString a
Definition: petalnode.cpp:18
QList< QGraphicsItem * > UMLSceneItemList
Definition: umlscene.h:59
QDebug operator<<(QDebug dbg, UMLScene *item)
Definition: umlscene.cpp:4410
QList< QPointer< UMLWidget > > UMLWidgetList
Definition: umlwidgetlist.h:17