umbrello  2.35.1
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
10 #include "associationwidgetlist.h"
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
33 class ClassOptionsPage;
34 class IDChangeLog;
35 class LayoutGrid;
36 class FloatingTextWidget;
37 class ObjectWidget;
38 class ToolBarState;
40 class UMLFolder;
41 class UMLDoc;
42 class UMLAttribute;
43 class UMLCanvasObject;
44 class UMLClassifier;
47 class UMLEntity;
48 class UMLView;
49 
50 class QHideEvent;
51 class QMouseEvent;
52 class QPrinter;
53 class QShowEvent;
55 
56 // migration wrapper for QGraphicsScene items
57 typedef QList<QGraphicsItem*> UMLSceneItemList;
58 
64 class UMLScene : public QGraphicsScene
65 {
66  Q_OBJECT
67 public:
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;
78  void setFolder(UMLFolder *folder);
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 
149  UMLWidgetList widgetList() const;
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);
177 private:
178  void removeOwnedWidgets(UMLWidget* o);
179 public:
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 
197 private:
199 public:
200  void deleteSelection();
201  void resizeSelection();
202 
203  void selectAll();
204 
207 
208  bool isSavedInSeparateFile();
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 
225  void endPartialWidgetPaste();
227 
228  void removeWidgetCmd(AssociationWidget* pAssoc);
229  void removeAssociations(UMLWidget* pWidget);
230  void selectAssociations(bool bSelect);
231 
232  void getWidgetAssocs(UMLObject* Obj, AssociationWidgetList & Associations);
233 
234  void removeAllAssociations();
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; }
312  bool isSequenceDiagram() const { return type() == Uml::DiagramType::Sequence; }
314  bool isStateDiagram() const { return type() == Uml::DiagramType::State; }
315  bool isActivityDiagram() const { return type() == Uml::DiagramType::Activity; }
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 
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 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 
426 public slots:
427  void slotToolBarChanged(int c);
428  void slotObjectCreated(UMLObject * o);
429  void slotObjectRemoved(UMLObject * o);
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();
440  void alignHorizontalMiddle();
443 
444 signals:
445  void sigResetToolBar();
446 
452  void sigSnapToGridToggled(bool);
454  void sigShowGridToggled(bool);
457 
458  friend class DiagramProxyWidget;
459 };
460 
461 QDebug operator<<(QDebug dbg, UMLScene *item);
462 
463 #endif // UMLSCENE_H
Displays an instance of a Concept.
Definition: objectwidget.h:27
bool m_isOpen
Flag is set to true when diagram is open, i.e. shown to the user.
Definition: umlscene.h:353
bool m_bPopupShowing
Status of a popupmenu on view. True - a popup is on view.
Definition: umlscene.h:408
AssociationWidget * associationAt(const QPointF &p)
Definition: umlscene.cpp:1102
void sigFillColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:363
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Definition: umlscene.cpp:2986
void setMenu(const QPoint &pos)
UMLWidgetList widgetList() const
Definition: umlscene.cpp:609
bool m_bCreateObject
Definition: umlscene.h:391
bool useFillColor() const
Definition: umlscene.cpp:1390
qreal m_fixY
Compensate for QGraphicsScene offsets, https://bugs.kde.org/show_bug.cgi?id=449622.
Definition: umlscene.h:417
void slotShowView()
Definition: umlscene.cpp:3413
void fileLoaded()
Definition: umlscene.cpp:3713
Information for a non-graphical Concept/Class.
Definition: classifier.h:34
bool m_bStartedCut
Flag if view/children started cut operation.
Definition: umlscene.h:394
void removeAllWidgets()
Definition: umlscene.cpp:2371
void removeWidgetCmd(UMLWidget *o)
Definition: umlscene.cpp:1321
int selectedCount(bool filterText=false) const
Definition: umlscene.cpp:2031
UMLWidgetList selectedMessageWidgets() const
Definition: umlscene.cpp:1452
void setStartedCut()
Definition: umlscene.cpp:3444
A dialog page to display the class related options.
Definition: classoptionspage.h:34
void createAutoAttributeAssociations2(UMLWidget *widget)
Definition: umlscene.cpp:2845
Definition: basictypes.h:76
qreal m_minY
Gather data for estimating required canvas size (used during loadFromXMI)
Definition: umlscene.h:414
qreal snappedX(qreal x)
Definition: umlscene.cpp:3627
uint lineWidth() const
Definition: umlscene.cpp:518
void updateComponentSizes()
Definition: umlscene.cpp:3721
void selectAll()
Definition: umlscene.cpp:1708
void findMaxBoundingRectangle(const FloatingTextWidget *ft, qreal &px, qreal &py, qreal &qx, qreal &qy)
Definition: umlscene.cpp:2876
void removeAssocInViewAndDoc(AssociationWidget *assoc)
Definition: umlscene.cpp:2279
QList< QGraphicsItem * > UMLSceneItemList
Definition: umlscene.h:54
void createAutoAttributeAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2634
bool isSavedInSeparateFile()
Definition: umlscene.cpp:1717
bool isOpen() const
Definition: umlscene.cpp:660
void endPartialWidgetPaste()
Definition: umlscene.cpp:2248
void slotActivate()
Definition: umlscene.cpp:1970
QString name() const
Definition: umlscene.cpp:416
const QColor & fillColor() const
Definition: umlscene.cpp:480
void addObject(UMLObject *object)
Definition: umlscene.cpp:4228
UMLWidget * widgetOnDiagram(Uml::ID::Type id)
Definition: umlscene.cpp:1151
WidgetBase * widgetLink()
Definition: umlscene.cpp:4579
void setLineColor(const QColor &color)
Definition: umlscene.cpp:509
bool isClassDiagram() const
Definition: umlscene.h:310
int m_nCollaborationId
Used for creating unique name of collaboration messages.
Definition: umlscene.h:389
MessageWidget * messageAt(const QPointF &p)
Definition: umlscene.cpp:1117
qreal m_maxX
Definition: umlscene.h:415
void sigGridColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:370
Common base class for UMLWidget and AssociationWidget.
Definition: widgetbase.h:100
Definition: idchangelog.h:21
void selectAssociations(bool bSelect)
Definition: umlscene.cpp:2326
QString a
Definition: petalnode.cpp:13
bool isStateDiagram() const
Definition: umlscene.h:314
void setType(Uml::DiagramType::Enum type)
Definition: umlscene.cpp:440
void alignBottom()
Definition: umlscene.cpp:4430
Definition: umlview.h:29
void sigShowGridToggled(bool)
Definition: moc_umlscene.cpp:412
virtual bool loadFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:3864
void alignHorizontalDistribute()
Definition: umlscene.cpp:4534
virtual void drawBackground(QPainter *painter, const QRectF &rect)
Definition: umlscene.cpp:3750
Sets up attribute information.
Definition: attribute.h:22
LayoutGrid * m_layoutGrid
layout grid in the background
Definition: umlscene.h:412
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:965
bool isUseCaseDiagram() const
Definition: umlscene.h:311
QString documentation() const
Definition: umlscene.cpp:362
void sigSnapToGridToggled(bool)
Definition: moc_umlscene.cpp:398
void slotObjectRemoved(UMLObject *o)
Definition: umlscene.cpp:844
void copyAsImage(QPixmap *&pix)
Definition: umlscene.cpp:2899
Non-graphical information for a UMLCanvasObject.
Definition: umlcanvasobject.h:31
Definition: basictypes.h:74
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:978
void toggleSnapComponentSizeToGrid()
Definition: umlscene.cpp:3551
MessageWidgetList messageList() const
Definition: umlscene.cpp:637
void selectWidgets(qreal px, qreal py, qreal qx, qreal qy)
Definition: umlscene.cpp:1794
static bool s_showDocumentationIndicator
Status of documentation indicator.
Definition: umlscene.h:401
void selectionUseFillColor(bool useFC)
Definition: umlscene.cpp:1506
void setSnapSpacing(int x, int y)
Definition: umlscene.cpp:3619
void selectionSetVisualProperty(ClassifierWidget::VisualProperty property, bool value)
Definition: umlscene.cpp:1591
Definition: basictypes.h:70
Definition: optionstate.h:310
WidgetType
Definition: widgetbase.h:106
void alignVerticalMiddle()
Definition: umlscene.cpp:4447
void setOptionState(const Settings::OptionState &options)
Definition: umlscene.cpp:585
void updateContainment(UMLCanvasObject *self)
Definition: umlscene.cpp:2393
void selectionSetFillColor(const QColor &color)
Definition: umlscene.cpp:1576
void hideEvent(QHideEvent *he)
Definition: umlscene.cpp:781
const QColor & textColor() const
Definition: umlscene.cpp:537
QString m_Name
The name of the diagram.
Definition: umlscene.h:347
void setAutoIncrementSequence(bool state)
Definition: umlscene.cpp:383
void setID(Uml::ID::Type id)
Definition: umlscene.cpp:456
int x
Definition: cxx11-lambda-functions-and-expressions.h:4
void setFillColor(const QColor &color)
Definition: umlscene.cpp:490
const QColor & backgroundColor() const
Definition: umlscene.cpp:1382
void setupNewWidget(UMLWidget *w, bool setPosition=true)
Definition: umlscene.cpp:723
bool isShowDocumentationIndicator() const
Definition: umlscene.cpp:3680
ToolBar_Buttons
Definition: worktoolbar.h:52
void dragMoveEvent(QGraphicsSceneDragDropEvent *moveEvent)
Definition: umlscene.cpp:906
void alignRight()
Definition: umlscene.cpp:4395
void slotCutSuccessful()
Definition: umlscene.cpp:3402
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:27
void slotObjectCreated(UMLObject *o)
Definition: umlscene.cpp:803
qreal m_fixX
Compensate for QGraphicsScene offsets, https://bugs.kde.org/show_bug.cgi?id=449622.
Definition: umlscene.h:416
bool m_isActivated
True if the view was activated after the deserialization(load).
Definition: umlscene.h:407
The base class for UML objects.
Definition: umlobject.h:69
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde.org or https://bugs.kde.org.
Definition: associationwidget.h:46
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: umlscene.cpp:3790
bool isObjectDiagram() const
Definition: umlscene.h:319
int snapX() const
Definition: umlscene.cpp:3603
void removeAssociations(UMLWidget *pWidget)
Definition: umlscene.cpp:2312
qreal fixY() const
Definition: umlscene.cpp:4621
qreal maxCanvasSize()
Definition: umlscene.h:324
bool getCreateObject() const
Definition: umlscene.cpp:752
QDebug operator<<(QDebug dbg, UMLScene *item)
Definition: umlscene.cpp:4565
void setIsOpen(bool isOpen)
Definition: umlscene.cpp:669
void slotToolBarChanged(int c)
Definition: umlscene.cpp:794
void dropEvent(QGraphicsSceneDragDropEvent *dropEvent)
Definition: umlscene.cpp:914
Uml::DiagramType::Enum type() const
Definition: umlscene.cpp:432
Definition: basictypes.h:69
Definition: basictypes.h:72
void setShowOpSig(bool bShowOpSig)
Definition: umlscene.cpp:3704
void sigSnapComponentSizeToGridToggled(bool)
Definition: moc_umlscene.cpp:405
VisualProperty
Definition: classifierwidget.h:37
bool snapComponentSizeToGrid() const
Definition: umlscene.cpp:3585
AssociationWidgetList selectedAssocs()
Definition: umlscene.cpp:2075
bool loadWidgetsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4115
void setFolder(UMLFolder *folder)
Definition: umlscene.cpp:346
void sigResetToolBar()
Definition: moc_umlscene.cpp:357
UMLDoc * m_doc
Pointer to the UMLDoc.
Definition: umlscene.h:410
bool isCollaborationDiagram() const
Definition: umlscene.h:313
Definition: basictypes.h:73
UMLView * m_view
The view to which this scene is related.
Definition: umlscene.h:403
virtual ~UMLScene()
Definition: umlscene.cpp:314
Displays a message.
Definition: messagewidget.h:35
Enum
Definition: basictypes.h:63
bool addAssociation(AssociationWidget *pAssoc, bool isPasteOperation=false)
Definition: umlscene.cpp:2129
bool showOpSig() const
Definition: umlscene.cpp:3696
void showEvent(QShowEvent *se)
Definition: umlscene.cpp:768
qreal m_maxY
Gather data for estimating required canvas size (used during loadFromXMI)
Definition: umlscene.h:415
UMLWidgetList selectedWidgetsExt(bool filterText=true)
Definition: umlscene.cpp:2056
void resizeSelection()
Definition: umlscene.cpp:1685
static const qreal s_defaultCanvasWidth
The default width of a diagram in pixels.
Definition: umlscene.h:398
void setDocumentation(const QString &doc)
Definition: umlscene.cpp:370
void selectWidgetsOfAssoc(AssociationWidget *a)
Definition: umlscene.cpp:1774
int generateCollaborationId()
Definition: umlscene.cpp:651
UMLWidget * widgetAt(const QPointF &p)
Definition: umlscene.cpp:1086
AssociationWidgetList associationList() const
Definition: umlscene.cpp:595
bool m_bUseSnapToGrid
Flag to use snap to grid. The default is off.
Definition: umlscene.h:351
Definition: basictypes.h:75
QRectF diagramRect()
Definition: umlscene.cpp:1408
void checkMessages(ObjectWidget *w)
Definition: umlscene.cpp:1131
Enum
Definition: basictypes.h:92
QString m_Documentation
The documentation of the diagram.
Definition: umlscene.h:348
qreal fixX() const
Definition: umlscene.cpp:4613
void setLineWidth(uint width)
Definition: umlscene.cpp:528
qreal m_minX
Definition: umlscene.h:414
UMLSceneItemList collisions(const QPointF &p, int delta=3)
Definition: umlscene.cpp:1751
void triggerToolbarButton(WorkToolBar::ToolBar_Buttons button)
Definition: umlscene.cpp:2978
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:1014
UMLWidget * findWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1196
QList< QPointer< UMLWidget > > UMLWidgetList
Definition: umlwidgetlist.h:13
bool autoIncrementSequence() const
Definition: umlscene.cpp:378
Settings::OptionState & optionState()
Definition: umlscene.cpp:577
Definition: diagramproxywidget.h:25
Non-graphical management of objects and diagrams of a Folder.
Definition: folder.h:29
void updateCanvasSizeEstimate(qreal x, qreal y, qreal w, qreal h)
Definition: umlscene.cpp:4598
bool loadAssociationsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4190
bool isDeploymentDiagram() const
Definition: umlscene.h:317
void unselectChildrenOfSelectedWidgets()
Definition: umlscene.cpp:1606
void addWidgetCmd(UMLWidget *widget)
Definition: umlscene.cpp:620
void sigTextColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:384
AssociationWidget * findAssocWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1225
void setSnapToGrid(bool bSnap)
Definition: umlscene.cpp:3576
void getDiagram(QPixmap &diagram, const QRectF &rect)
Definition: umlscene.cpp:1900
UMLScene(UMLFolder *parentFolder, UMLView *view=0)
Definition: umlscene.cpp:265
void activate()
Definition: umlscene.cpp:1978
bool m_bDrawSelectedOnly
Definition: umlscene.h:392
UMLWidgetList selectedWidgets() const
Definition: umlscene.cpp:1418
bool loadUisDiagramPresentation(QDomElement &qElement)
Definition: umlscene.cpp:4237
void sigAssociationRemoved(AssociationWidget *)
Definition: moc_umlscene.cpp:419
UMLFolder * folder() const
Definition: umlscene.cpp:338
Definition: basictypes.h:71
void deleteSelection()
Definition: umlscene.cpp:1623
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:997
bool snapToGrid() const
Definition: umlscene.cpp:3568
void setUseFillColor(bool ufc)
Definition: umlscene.cpp:1398
QList< QPointer< MessageWidget > > MessageWidgetList
Definition: messagewidgetlist.h:13
UMLViewImageExporter * m_pImageExporter
Used to export the view.
Definition: umlscene.h:411
bool m_autoIncrementSequence
state of auto increment sequence
Definition: umlscene.h:413
QFont font() const
Definition: umlscene.cpp:3452
void selectionSetFont(const QFont &font)
Definition: umlscene.cpp:1524
void selectionSetLineColor(const QColor &color)
Definition: umlscene.cpp:1538
void slotMenuSelection(QAction *action)
Definition: umlscene.cpp:3020
Definition: basictypes.h:68
std::string Type
Definition: basictypes.h:371
void alignLeft()
Definition: umlscene.cpp:4377
void removeWidget(UMLWidget *o)
Definition: umlscene.cpp:1301
Definition: layoutgrid.h:22
bool loadUISDiagram(QDomElement &qElement)
Definition: umlscene.cpp:4338
void createAutoConstraintAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2764
Definition: umlscene.cpp:116
Uml::DiagramType::Enum m_Type
The type of diagram to represent.
Definition: umlscene.h:346
void alignHorizontalMiddle()
Definition: umlscene.cpp:4475
void activateAfterLoad(bool bUseLog=false)
Definition: umlscene.cpp:2220
void forceUpdateWidgetFontMetrics(QPainter *painter)
Definition: umlscene.cpp:3739
void setPaste(bool paste)
Definition: umlscene.cpp:3011
void setShowDocumentationIndicator(bool bShow)
Definition: umlscene.cpp:3688
int snapY() const
Definition: umlscene.cpp:3611
bool isComponentDiagram() const
Definition: umlscene.h:316
Definition: basictypes.h:67
void getWidgetAssocs(UMLObject *Obj, AssociationWidgetList &Associations)
Definition: umlscene.cpp:2344
QPointF m_pos
Definition: umlscene.h:390
Definition: umlviewimageexportermodel.h:28
UMLView * activeView() const
Definition: umlscene.cpp:354
static const qreal s_maxCanvasSize
The maximum supported canvas size.
Definition: umlscene.h:400
Definition: umlviewimageexporter.h:28
void setGridDotColor(const QColor &color)
Definition: umlscene.cpp:568
UMLFolder * m_pFolder
The folder in which this UMLView is contained.
Definition: umlscene.h:404
Displays a line of text or an operation.
Definition: floatingtextwidget.h:31
Definition: toolbarstatefactory.h:28
void makeSelected(UMLWidget *uw)
Definition: umlscene.cpp:1764
bool isActivityDiagram() const
Definition: umlscene.h:315
void clearSelected()
Definition: umlscene.cpp:1473
ObjectWidget * onWidgetLine(const QPointF &point) const
Definition: umlscene.cpp:1026
void setCreateObject(bool bCreate)
Definition: umlscene.cpp:760
void applyLayout(const QString &actionText)
Definition: umlscene.cpp:3529
void sigLineWidthChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:391
WidgetBase::WidgetType getUniqueSelectionType()
Definition: umlscene.cpp:3495
void beginPartialWidgetPaste()
Definition: umlscene.cpp:2239
void setWidgetLink(WidgetBase *w)
Definition: umlscene.cpp:4574
void setSnapComponentSizeToGrid(bool bSnap)
Definition: umlscene.cpp:3593
AssociationWidgetList selectedAssociationWidgets() const
Definition: umlscene.cpp:1435
void dragEnterEvent(QGraphicsSceneDragDropEvent *enterEvent)
Definition: umlscene.cpp:860
void removeAllAssociations()
Definition: umlscene.cpp:2360
void resetPastePoint()
Definition: umlscene.cpp:3435
void setTextColor(const QColor &color)
Definition: umlscene.cpp:547
IDChangeLog * m_pIDChangesLog
LocalID Changes Log for paste actions.
Definition: umlscene.h:406
bool isEntityRelationshipDiagram() const
Definition: umlscene.h:318
Settings::OptionState m_Options
Options used by view.
Definition: umlscene.h:349
void selectionSetLineWidth(uint width)
Definition: umlscene.cpp:1556
bool getPaste() const
Definition: umlscene.cpp:3003
QString autoIncrementSequenceValue()
Definition: umlscene.cpp:391
Uml::ID::Type m_nLocalID
Definition: umlscene.h:343
bool isSnapGridVisible() const
Definition: umlscene.cpp:3663
void sigWidgetRemoved(UMLWidget *)
Definition: moc_umlscene.cpp:426
void alignTop()
Definition: umlscene.cpp:4412
qreal snappedY(qreal y)
Definition: umlscene.cpp:3645
bool isSequenceDiagram() const
Definition: umlscene.h:312
void createAutoAttributeAssociation(UMLClassifier *type, UMLAttribute *attr, UMLWidget *widget)
Definition: umlscene.cpp:2702
void toggleShowGrid()
Definition: umlscene.cpp:3560
void setFont(QFont font, bool changeAllWidgets=false)
Definition: umlscene.cpp:3460
void selectWidget(UMLWidget *widget, QRectF *rect=0)
Definition: umlscene.cpp:1845
const QColor & lineColor() const
Definition: umlscene.cpp:499
UMLScenePrivate * m_d
Definition: umlscene.h:397
const QColor & gridDotColor() const
Definition: umlscene.cpp:558
void createAutoAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2445
void toggleSnapToGrid()
Definition: umlscene.cpp:3542
UMLViewImageExporter * getImageExporter()
Definition: umlscene.cpp:1962
QList< QPointer< AssociationWidget > > AssociationWidgetList
Definition: associationwidgetlist.h:15
QPointF getPastePoint()
Definition: umlscene.cpp:3424
void clearDiagram()
Definition: umlscene.cpp:3519
void removeOwnedWidgets(UMLWidget *o)
Definition: umlscene.cpp:1367
Definition: toolbarstate.h:64
void resetToolbar()
Definition: umlscene.cpp:2973
bool loadMessagesFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4162
void addFloatingTextWidget(FloatingTextWidget *pWidget)
Definition: umlscene.cpp:2089
QPointF pos() const
Definition: umlscene.cpp:464
UMLWidget * getFirstMultiSelectedWidget() const
Definition: umlscene.cpp:1072
bool m_bPaste
Definition: umlscene.h:393
QPointF m_PastePoint
The offset at which to paste the clipboard.
Definition: umlscene.h:409
void setClassWidgetOptions(ClassOptionsPage *page)
Definition: umlscene.cpp:3474
void setPos(const QPointF &pos)
Definition: umlscene.cpp:472
UMLWidget * loadWidgetFromXMI(QDomElement &widgetElement)
Definition: umlscene.cpp:4141
void createAutoConstraintAssociation(UMLEntity *refEntity, UMLForeignKeyConstraint *fkConstraint, UMLWidget *widget)
Definition: umlscene.cpp:2813
void alignVerticalDistribute()
Definition: umlscene.cpp:4503
void print(QPrinter *pPrinter, QPainter &pPainter)
Definition: umlscene.cpp:677
Uml::ID::Type m_nID
The ID of the view. Allocated by UMLDoc.
Definition: umlscene.h:345
bool m_bUseSnapComponentSizeToGrid
Flag to use snap to grid for component size. The default is off.
Definition: umlscene.h:352
void sigLineColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:377
void setSnapGridVisible(bool bShow)
Definition: umlscene.cpp:3671
void setName(const QString &name)
Definition: umlscene.cpp:424
Definition: umlscene.h:64
ObjectWidget * onWidgetDestructionBox(const QPointF &point) const
Definition: umlscene.cpp:1051
Non-graphical Information for an Entity.
Definition: entity.h:29
void moveSelectedBy(qreal dX, qreal dY)
Definition: umlscene.cpp:1493
Uml::ID::Type ID() const
Definition: umlscene.cpp:448
static const qreal s_defaultCanvasHeight
The default height of a diagram in pixels.
Definition: umlscene.h:399
Definition: umldoc.h:69
The base class for graphical UML objects.
Definition: umlwidget.h:35