umbrello  2.31.3
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 
36 // forward declarations
37 class ClassOptionsPage;
38 class IDChangeLog;
39 class LayoutGrid;
40 class FloatingTextWidget;
41 class ObjectWidget;
42 class ToolBarState;
44 class UMLFolder;
45 class UMLDoc;
46 class UMLAttribute;
47 class UMLCanvasObject;
48 class UMLClassifier;
51 class UMLEntity;
52 class UMLView;
53 
54 class QHideEvent;
55 class QMouseEvent;
56 class QPrinter;
57 class QShowEvent;
59 
60 // migration wrapper for QGraphicsScene items
61 typedef QList<QGraphicsItem*> UMLSceneItemList;
62 
68 class UMLScene : public QGraphicsScene
69 {
70  Q_OBJECT
71 public:
73 
74  explicit UMLScene(UMLFolder *parentFolder, UMLView *view = 0);
75  virtual ~UMLScene();
76 
77  UMLView* activeView() const;
78 
79  // Accessors and other methods dealing with loaded/saved data
80 
81  UMLFolder* folder() const;
82  void setFolder(UMLFolder *folder);
83 
84  QString documentation() const;
85  void setDocumentation(const QString &doc);
86 
87  bool autoIncrementSequence() const;
88  void setAutoIncrementSequence(bool state);
90 
91  QString name() const;
92  void setName(const QString &name);
93 
96 
97  Uml::ID::Type ID() const;
98  void setID(Uml::ID::Type id);
99 
100  QPointF pos() const;
101  void setPos(const QPointF &pos);
102 
103  const QColor& fillColor() const;
104  void setFillColor(const QColor &color);
105 
106  const QColor& lineColor() const;
107  void setLineColor(const QColor &color);
108 
109  uint lineWidth() const;
110  void setLineWidth(uint width);
111 
112  const QColor& textColor() const;
113  void setTextColor(const QColor& color);
114 
115  const QColor& gridDotColor() const;
116  void setGridDotColor(const QColor& color);
117 
118  const QColor& backgroundColor() const;
119 
120  bool snapToGrid() const;
121  void setSnapToGrid(bool bSnap);
122 
123  bool snapComponentSizeToGrid() const;
124  void setSnapComponentSizeToGrid(bool bSnap);
125 
126  int snapX() const;
127  int snapY() const;
128  void setSnapSpacing(int x, int y);
129 
130  qreal snappedX(qreal x);
131  qreal snappedY(qreal y);
132 
133  bool isSnapGridVisible() const;
134  void setSnapGridVisible(bool bShow);
135 
136  bool isShowDocumentationIndicator() const;
137  void setShowDocumentationIndicator(bool bShow);
138 
139  bool useFillColor() const;
140  void setUseFillColor(bool ufc);
141 
142  QFont font() const;
143  void setFont(QFont font, bool changeAllWidgets = false);
144 
145  bool showOpSig() const;
146  void setShowOpSig(bool bShowOpSig);
147 
149  void setOptionState(const Settings::OptionState& options);
150 
152  const MessageWidgetList messageList() const;
153  const UMLWidgetList widgetList() const;
154  void addWidgetCmd(UMLWidget* widget);
155  void addWidgetCmd(AssociationWidget *widget);
156 
157  bool isOpen() const;
158  void setIsOpen(bool isOpen);
159 
160  // End of accessors and methods that only deal with loaded/saved data
162 
163  void print(QPrinter *pPrinter, QPainter & pPainter);
164 
165  void hideEvent(QHideEvent *he);
166  void showEvent(QShowEvent *se);
167 
168  void checkMessages(ObjectWidget * w);
169 
171 
174  UMLWidget *pWidgetA, UMLWidget *pWidgetB);
176  UMLWidget *pWidgetB, const QString& roleNameB);
177 
178  void removeWidget(UMLWidget *o);
180  void removeWidgetCmd(UMLWidget *o);
181 private:
182  void removeOwnedWidgets(UMLWidget* o);
183 public:
184 
188  void clearSelected();
189 
190  void moveSelectedBy(qreal dX, qreal dY);
191 
192  int selectedCount(bool filterText = false) const;
193 
194  void selectionUseFillColor(bool useFC);
195  void selectionSetFont(const QFont &font);
196  void selectionSetLineColor(const QColor &color);
197  void selectionSetLineWidth(uint width);
198  void selectionSetFillColor(const QColor &color);
200 
201 private:
203 public:
204  void deleteSelection();
205  void resizeSelection();
206 
207  void selectAll();
208 
211 
212  bool isSavedInSeparateFile();
213 
214  void setMenu(const QPoint& pos);
215 
216  void resetToolbar();
218 
219  bool getPaste() const;
220  void setPaste(bool paste);
221 
222  void activate();
223 
225  UMLWidgetList selectedWidgetsExt(bool filterText = true);
226 
227  void activateAfterLoad(bool bUseLog = false);
228 
229  void endPartialWidgetPaste();
231 
232  void removeWidgetCmd(AssociationWidget* pAssoc);
233  void removeAssociations(UMLWidget* pWidget);
234  void selectAssociations(bool bSelect);
235 
236  void getWidgetAssocs(UMLObject* Obj, AssociationWidgetList & Associations);
237 
238  void removeAllAssociations();
239 
240  void removeAllWidgets();
241 
242  void getDiagram(QPixmap & diagram, const QRectF &rect);
243  void getDiagram(QPainter &painter, const QRectF &source, const QRectF &target = QRectF());
244 
245  void copyAsImage(QPixmap*& pix);
246 
248 
249  bool addAssociation(AssociationWidget* pAssoc, bool isPasteOperation = false);
250 
252 
254 
255  QPointF getPastePoint();
256  void resetPastePoint();
257 
258  void setStartedCut();
259 
260  void createAutoAssociations(UMLWidget * widget);
264 
266 
268 
270 
271  void clearDiagram();
272 
273  void applyLayout(const QString &actionText);
274 
275  void toggleSnapToGrid();
277  void toggleShowGrid();
278 
279  void fileLoaded();
280 
281  void resizeSceneToItems();
282 
283  // Load/Save interface:
284 
285  virtual void saveToXMI1(QDomDocument & qDoc, QDomElement & qElement);
286  virtual bool loadFromXMI1(QDomElement & qElement);
287 
288  bool loadUISDiagram(QDomElement & qElement);
289  UMLWidget* loadWidgetFromXMI(QDomElement& widgetElement);
290 
291  void addObject(UMLObject *object);
292 
293  void selectWidgets(qreal px, qreal py, qreal qx, qreal qy);
294  void selectWidgets(UMLWidgetList &widgets);
295  void selectWidget(UMLWidget* widget, QRectF* rect = 0);
297 
298  ObjectWidget * onWidgetLine(const QPointF &point) const;
299  ObjectWidget * onWidgetDestructionBox(const QPointF &point) const;
300 
302 
303  UMLWidget* widgetAt(const QPointF& p);
304  AssociationWidget* associationAt(const QPointF& p);
305  MessageWidget* messageAt(const QPointF& p);
306 
307  void setupNewWidget(UMLWidget *w, bool setPosition=true);
308 
309  bool getCreateObject() const;
310  void setCreateObject(bool bCreate);
311 
313 
314  UMLSceneItemList collisions(const QPointF &p, int delta = 3);
315 
326 
327  void setWidgetLink(WidgetBase *w);
329 
330 protected:
331  // Methods and members related to loading/saving
332 
333  bool loadWidgetsFromXMI(QDomElement & qElement);
334  bool loadMessagesFromXMI(QDomElement & qElement);
335  bool loadAssociationsFromXMI(QDomElement & qElement);
336  bool loadUisDiagramPresentation(QDomElement & qElement);
337 
343 
346  QString m_Name;
347  QString m_Documentation;
349 
352  bool m_isOpen;
353 
354  // End of methods and members related to loading/saving
356 
357  void dragEnterEvent(QGraphicsSceneDragDropEvent* enterEvent);
358  void dragMoveEvent(QGraphicsSceneDragDropEvent* moveEvent);
359  void dropEvent(QGraphicsSceneDragDropEvent* dropEvent);
360 
361  void mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent);
362  void mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent);
363  void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* mouseEvent);
364  void mouseReleaseEvent(QGraphicsSceneMouseEvent* mouseEvent);
365  virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent* event);
366 
367  QRectF diagramRect();
368 
369  void makeSelected(UMLWidget* uw);
370 
371  void updateComponentSizes();
372 
374  qreal& px, qreal& py, qreal& qx, qreal& qy);
375  void forceUpdateWidgetFontMetrics(QPainter *painter);
376 
377  virtual void drawBackground(QPainter *painter, const QRectF &rect);
378 
379 #if QT_VERSION >= 0x050000
380 #if !(QT_DEPRECATED_SINCE(5, 0))
381  inline QGraphicsItem *itemAt(const QPointF &position) const {
382  QList<QGraphicsItem *> itemsAtPoint = items(position);
383  return itemsAtPoint.isEmpty() ? 0 : itemsAtPoint.first();
384  }
385 #endif
386 #endif
387 
389  QPointF m_pos;
392  bool m_bPaste;
394 
395 private:
397  static const qreal defaultCanvasSize;
399 
402 
406  QPointF m_PastePoint;
411 
413  UMLAttribute *attr,
414  UMLWidget *widget);
416  UMLForeignKeyConstraint* fkConstraint,
417  UMLWidget* widget);
418 
419 public slots:
420  void slotToolBarChanged(int c);
421  void slotObjectCreated(UMLObject * o);
422  void slotObjectRemoved(UMLObject * o);
423  void slotMenuSelection(QAction* action);
424  void slotActivate();
425  void slotCutSuccessful();
426  void slotShowView();
427 
428  void alignLeft();
429  void alignRight();
430  void alignTop();
431  void alignBottom();
432  void alignVerticalMiddle();
433  void alignHorizontalMiddle();
436 
437 signals:
438  void sigResetToolBar();
439 
445  void sigSnapToGridToggled(bool);
447  void sigShowGridToggled(bool);
450 
451  friend class DiagramProxyWidget;
452 };
453 
454 QDebug operator<<(QDebug dbg, UMLScene *item);
455 
456 #endif // UMLSCENE_H
Displays an instance of a Concept.
Definition: objectwidget.h:32
bool m_isOpen
Flag is set to true when diagram is open, i.e. shown to the user.
Definition: umlscene.h:352
bool m_bPopupShowing
Status of a popupmenu on view. True - a popup is on view.
Definition: umlscene.h:405
AssociationWidget * associationAt(const QPointF &p)
Definition: umlscene.cpp:1090
void sigFillColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:363
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Definition: umlscene.cpp:2937
int snapY() const
Definition: umlscene.cpp:3562
void setMenu(const QPoint &pos)
UMLWidgetList selectedMessageWidgets() const
Definition: umlscene.cpp:1425
const QColor & gridDotColor() const
Definition: umlscene.cpp:552
bool m_bCreateObject
Definition: umlscene.h:390
bool autoIncrementSequence() const
Definition: umlscene.cpp:372
virtual bool loadFromXMI1(QDomElement &qElement)
Definition: umlscene.cpp:3811
void slotShowView()
Definition: umlscene.cpp:3363
void fileLoaded()
Definition: umlscene.cpp:3664
Information for a non-graphical Concept/Class.
Definition: classifier.h:39
bool m_bStartedCut
Flag if view/children started cut operation.
Definition: umlscene.h:393
UMLWidget * getFirstMultiSelectedWidget() const
Definition: umlscene.cpp:1060
void removeAllWidgets()
Definition: umlscene.cpp:2323
void removeWidgetCmd(UMLWidget *o)
Definition: umlscene.cpp:1309
void setStartedCut()
Definition: umlscene.cpp:3394
A dialog page to display the class related options.
Definition: classoptionspage.h:39
void resizeSceneToItems()
Definition: umlscene.cpp:3673
void createAutoAttributeAssociations2(UMLWidget *widget)
Definition: umlscene.cpp:2796
Definition: basictypes.h:90
qreal snappedX(qreal x)
Definition: umlscene.cpp:3578
bool isUseCaseDiagram()
Definition: umlscene.h:317
void updateComponentSizes()
Definition: umlscene.cpp:3682
void selectAll()
Definition: umlscene.cpp:1669
void findMaxBoundingRectangle(const FloatingTextWidget *ft, qreal &px, qreal &py, qreal &qx, qreal &qy)
Definition: umlscene.cpp:2827
void removeAssocInViewAndDoc(AssociationWidget *assoc)
Definition: umlscene.cpp:2230
QList< QGraphicsItem * > UMLSceneItemList
Definition: umlscene.h:58
static bool m_showDocumentationIndicator
Status of documentation indicator.
Definition: umlscene.h:398
void createAutoAttributeAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2587
bool isSavedInSeparateFile()
Definition: umlscene.cpp:1678
void endPartialWidgetPaste()
Definition: umlscene.cpp:2199
void slotActivate()
Definition: umlscene.cpp:1929
void addObject(UMLObject *object)
Definition: umlscene.cpp:4044
UMLWidget * widgetOnDiagram(Uml::ID::Type id)
Definition: umlscene.cpp:1139
WidgetBase * widgetLink()
Definition: umlscene.cpp:4392
void setLineColor(const QColor &color)
Definition: umlscene.cpp:503
int m_nCollaborationId
Used for creating unique name of collaboration messages.
Definition: umlscene.h:388
MessageWidget * messageAt(const QPointF &p)
Definition: umlscene.cpp:1105
void sigGridColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:370
Common base class for UMLWidget and AssociationWidget.
Definition: widgetbase.h:104
Definition: idchangelog.h:26
void selectAssociations(bool bSelect)
Definition: umlscene.cpp:2278
QString a
Definition: petalnode.cpp:18
void setType(Uml::DiagramType::Enum type)
Definition: umlscene.cpp:434
void alignBottom()
Definition: umlscene.cpp:4243
Definition: umlview.h:34
void sigShowGridToggled(bool)
Definition: moc_umlscene.cpp:412
void alignHorizontalDistribute()
Definition: umlscene.cpp:4347
virtual void drawBackground(QPainter *painter, const QRectF &rect)
Definition: umlscene.cpp:3711
Sets up attribute information.
Definition: attribute.h:27
LayoutGrid * m_layoutGrid
layout grid in the background
Definition: umlscene.h:409
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:949
void sigSnapToGridToggled(bool)
Definition: moc_umlscene.cpp:398
void slotObjectRemoved(UMLObject *o)
Definition: umlscene.cpp:832
bool isObjectDiagram()
Definition: umlscene.h:325
bool isActivityDiagram()
Definition: umlscene.h:321
void copyAsImage(QPixmap *&pix)
Definition: umlscene.cpp:2850
Uml::ID::Type ID() const
Definition: umlscene.cpp:442
Non-graphical information for a UMLCanvasObject.
Definition: umlcanvasobject.h:33
Definition: basictypes.h:88
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:966
AssociationWidgetList selectedAssociationWidgets() const
Definition: umlscene.cpp:1408
bool snapComponentSizeToGrid() const
Definition: umlscene.cpp:3536
void toggleSnapComponentSizeToGrid()
Definition: umlscene.cpp:3502
void selectWidgets(qreal px, qreal py, qreal qx, qreal qy)
Definition: umlscene.cpp:1755
void selectionUseFillColor(bool useFC)
Definition: umlscene.cpp:1467
void setSnapSpacing(int x, int y)
Definition: umlscene.cpp:3570
bool isSequenceDiagram()
Definition: umlscene.h:318
void selectionSetVisualProperty(ClassifierWidget::VisualProperty property, bool value)
Definition: umlscene.cpp:1552
Definition: basictypes.h:84
Definition: optionstate.h:314
WidgetType
Definition: widgetbase.h:110
void alignVerticalMiddle()
Definition: umlscene.cpp:4260
void setOptionState(const Settings::OptionState &options)
Definition: umlscene.cpp:579
void updateContainment(UMLCanvasObject *self)
Definition: umlscene.cpp:2345
void selectionSetFillColor(const QColor &color)
Definition: umlscene.cpp:1537
void hideEvent(QHideEvent *he)
Definition: umlscene.cpp:774
UMLWidgetList selectedWidgets() const
Definition: umlscene.cpp:1391
QString m_Name
The name of the diagram.
Definition: umlscene.h:346
void setAutoIncrementSequence(bool state)
Definition: umlscene.cpp:377
void setID(Uml::ID::Type id)
Definition: umlscene.cpp:450
int x
Definition: cxx11-lambda-functions-and-expressions.h:4
void setFillColor(const QColor &color)
Definition: umlscene.cpp:484
void setupNewWidget(UMLWidget *w, bool setPosition=true)
Definition: umlscene.cpp:715
bool isComponentDiagram()
Definition: umlscene.h:322
bool showOpSig() const
Definition: umlscene.cpp:3647
QFont font() const
Definition: umlscene.cpp:3402
ToolBar_Buttons
Definition: worktoolbar.h:57
void dragMoveEvent(QGraphicsSceneDragDropEvent *moveEvent)
Definition: umlscene.cpp:890
void alignRight()
Definition: umlscene.cpp:4208
void slotCutSuccessful()
Definition: umlscene.cpp:3352
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:32
bool isShowDocumentationIndicator() const
Definition: umlscene.cpp:3631
const UMLWidgetList widgetList() const
Definition: umlscene.cpp:603
void slotObjectCreated(UMLObject *o)
Definition: umlscene.cpp:796
bool m_isActivated
True if the view was activated after the serialization(load).
Definition: umlscene.h:404
The base class for UML objects.
Definition: umlobject.h:73
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde.org or https://bugs.kde.org.
Definition: associationwidget.h:51
bool getPaste() const
Definition: umlscene.cpp:2954
void removeAssociations(UMLWidget *pWidget)
Definition: umlscene.cpp:2264
UMLFolder * folder() const
Definition: umlscene.cpp:332
bool isClassDiagram()
Definition: umlscene.h:316
QDebug operator<<(QDebug dbg, UMLScene *item)
Definition: umlscene.cpp:4378
void setIsOpen(bool isOpen)
Definition: umlscene.cpp:661
void slotToolBarChanged(int c)
Definition: umlscene.cpp:787
void dropEvent(QGraphicsSceneDragDropEvent *dropEvent)
Definition: umlscene.cpp:898
Definition: basictypes.h:83
Definition: basictypes.h:86
void setShowOpSig(bool bShowOpSig)
Definition: umlscene.cpp:3655
void sigSnapComponentSizeToGridToggled(bool)
Definition: moc_umlscene.cpp:405
VisualProperty
Definition: classifierwidget.h:42
AssociationWidgetList selectedAssocs()
Definition: umlscene.cpp:2034
bool loadWidgetsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:3933
void setFolder(UMLFolder *folder)
Definition: umlscene.cpp:340
void sigResetToolBar()
Definition: moc_umlscene.cpp:357
UMLDoc * m_doc
Pointer to the UMLDoc.
Definition: umlscene.h:407
Definition: basictypes.h:87
QString documentation() const
Definition: umlscene.cpp:356
UMLView * m_view
The view to which this scene is related.
Definition: umlscene.h:400
virtual ~UMLScene()
Definition: umlscene.cpp:308
Displays a message.
Definition: messagewidget.h:40
Enum
Definition: basictypes.h:77
bool addAssociation(AssociationWidget *pAssoc, bool isPasteOperation=false)
Definition: umlscene.cpp:2080
void showEvent(QShowEvent *se)
Definition: umlscene.cpp:761
UMLWidgetList selectedWidgetsExt(bool filterText=true)
Definition: umlscene.cpp:2015
void resizeSelection()
Definition: umlscene.cpp:1646
void setDocumentation(const QString &doc)
Definition: umlscene.cpp:364
void selectWidgetsOfAssoc(AssociationWidget *a)
Definition: umlscene.cpp:1735
int generateCollaborationId()
Definition: umlscene.cpp:643
UMLWidget * widgetAt(const QPointF &p)
Definition: umlscene.cpp:1074
QString name() const
Definition: umlscene.cpp:410
bool m_bUseSnapToGrid
Flag to use snap to grid. The default is off.
Definition: umlscene.h:350
ObjectWidget * onWidgetDestructionBox(const QPointF &point) const
Definition: umlscene.cpp:1039
Definition: basictypes.h:89
QRectF diagramRect()
Definition: umlscene.cpp:1381
void checkMessages(ObjectWidget *w)
Definition: umlscene.cpp:1119
bool isEntityRelationshipDiagram()
Definition: umlscene.h:324
Enum
Definition: basictypes.h:106
const QColor & backgroundColor() const
Definition: umlscene.cpp:1355
QString m_Documentation
The documentation of the diagram.
Definition: umlscene.h:347
void setLineWidth(uint width)
Definition: umlscene.cpp:522
UMLSceneItemList collisions(const QPointF &p, int delta=3)
Definition: umlscene.cpp:1712
void triggerToolbarButton(WorkToolBar::ToolBar_Buttons button)
Definition: umlscene.cpp:2929
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:1002
UMLWidget * findWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1184
QList< QPointer< UMLWidget > > UMLWidgetList
Definition: umlwidgetlist.h:17
Settings::OptionState & optionState()
Definition: umlscene.cpp:571
Definition: diagramproxywidget.h:29
Non-graphical management of objects and diagrams of a Folder.
Definition: folder.h:34
bool loadAssociationsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4007
static const qreal defaultCanvasSize
The default size of a diagram in pixels.
Definition: umlscene.h:397
void unselectChildrenOfSelectedWidgets()
Definition: umlscene.cpp:1567
void addWidgetCmd(UMLWidget *widget)
Definition: umlscene.cpp:614
void sigTextColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:384
AssociationWidget * findAssocWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1213
void setSnapToGrid(bool bSnap)
Definition: umlscene.cpp:3527
void getDiagram(QPixmap &diagram, const QRectF &rect)
Definition: umlscene.cpp:1861
UMLScene(UMLFolder *parentFolder, UMLView *view=0)
Definition: umlscene.cpp:262
void activate()
Definition: umlscene.cpp:1937
bool isStateDiagram()
Definition: umlscene.h:320
bool m_bDrawSelectedOnly
Definition: umlscene.h:391
bool loadUisDiagramPresentation(QDomElement &qElement)
Definition: umlscene.cpp:4053
void sigAssociationRemoved(AssociationWidget *)
Definition: moc_umlscene.cpp:419
Definition: basictypes.h:85
void deleteSelection()
Definition: umlscene.cpp:1584
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:985
void setUseFillColor(bool ufc)
Definition: umlscene.cpp:1371
QList< QPointer< MessageWidget > > MessageWidgetList
Definition: messagewidgetlist.h:18
UMLViewImageExporter * m_pImageExporter
Used to export the view.
Definition: umlscene.h:408
bool m_autoIncrementSequence
state of auto increment sequence
Definition: umlscene.h:410
void selectionSetFont(const QFont &font)
Definition: umlscene.cpp:1485
void selectionSetLineColor(const QColor &color)
Definition: umlscene.cpp:1499
void slotMenuSelection(QAction *action)
Definition: umlscene.cpp:2971
Definition: basictypes.h:82
std::string Type
Definition: basictypes.h:351
void alignLeft()
Definition: umlscene.cpp:4190
void removeWidget(UMLWidget *o)
Definition: umlscene.cpp:1289
int snapX() const
Definition: umlscene.cpp:3554
Definition: layoutgrid.h:35
bool loadUISDiagram(QDomElement &qElement)
Definition: umlscene.cpp:4151
void createAutoConstraintAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2717
const QColor & textColor() const
Definition: umlscene.cpp:531
Definition: umlscene.cpp:116
Uml::DiagramType::Enum m_Type
The type of diagram to represent.
Definition: umlscene.h:345
void alignHorizontalMiddle()
Definition: umlscene.cpp:4288
void activateAfterLoad(bool bUseLog=false)
Definition: umlscene.cpp:2171
void forceUpdateWidgetFontMetrics(QPainter *painter)
Definition: umlscene.cpp:3700
const MessageWidgetList messageList() const
Definition: umlscene.cpp:629
Uml::DiagramType::Enum type() const
Definition: umlscene.cpp:426
void setPaste(bool paste)
Definition: umlscene.cpp:2962
uint lineWidth() const
Definition: umlscene.cpp:512
void setShowDocumentationIndicator(bool bShow)
Definition: umlscene.cpp:3639
Definition: basictypes.h:81
void getWidgetAssocs(UMLObject *Obj, AssociationWidgetList &Associations)
Definition: umlscene.cpp:2296
QPointF m_pos
Definition: umlscene.h:389
Definition: umlviewimageexportermodel.h:33
Definition: umlviewimageexporter.h:33
void setGridDotColor(const QColor &color)
Definition: umlscene.cpp:562
const AssociationWidgetList associationList() const
Definition: umlscene.cpp:589
UMLFolder * m_pFolder
The folder in which this UMLView is contained.
Definition: umlscene.h:401
Displays a line of text or an operation.
Definition: floatingtextwidget.h:36
Definition: toolbarstatefactory.h:33
void makeSelected(UMLWidget *uw)
Definition: umlscene.cpp:1725
void clearSelected()
Definition: umlscene.cpp:1441
void setCreateObject(bool bCreate)
Definition: umlscene.cpp:753
void applyLayout(const QString &actionText)
Definition: umlscene.cpp:3479
bool snapToGrid() const
Definition: umlscene.cpp:3519
int selectedCount(bool filterText=false) const
Definition: umlscene.cpp:1990
bool isDeploymentDiagram()
Definition: umlscene.h:323
void sigLineWidthChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:391
WidgetBase::WidgetType getUniqueSelectionType()
Definition: umlscene.cpp:3445
void beginPartialWidgetPaste()
Definition: umlscene.cpp:2190
void setWidgetLink(WidgetBase *w)
Definition: umlscene.cpp:4387
void setSnapComponentSizeToGrid(bool bSnap)
Definition: umlscene.cpp:3544
void dragEnterEvent(QGraphicsSceneDragDropEvent *enterEvent)
Definition: umlscene.cpp:848
void removeAllAssociations()
Definition: umlscene.cpp:2312
void resetPastePoint()
Definition: umlscene.cpp:3385
void setTextColor(const QColor &color)
Definition: umlscene.cpp:541
IDChangeLog * m_pIDChangesLog
LocalID Changes Log for paste actions.
Definition: umlscene.h:403
Settings::OptionState m_Options
Options used by view.
Definition: umlscene.h:348
void selectionSetLineWidth(uint width)
Definition: umlscene.cpp:1517
QString autoIncrementSequenceValue()
Definition: umlscene.cpp:385
Uml::ID::Type m_nLocalID
Definition: umlscene.h:342
void sigWidgetRemoved(UMLWidget *)
Definition: moc_umlscene.cpp:426
void alignTop()
Definition: umlscene.cpp:4225
qreal snappedY(qreal y)
Definition: umlscene.cpp:3596
void createAutoAttributeAssociation(UMLClassifier *type, UMLAttribute *attr, UMLWidget *widget)
Definition: umlscene.cpp:2655
void toggleShowGrid()
Definition: umlscene.cpp:3511
void setFont(QFont font, bool changeAllWidgets=false)
Definition: umlscene.cpp:3410
bool isCollaborationDiagram()
Definition: umlscene.h:319
void selectWidget(UMLWidget *widget, QRectF *rect=0)
Definition: umlscene.cpp:1806
UMLScenePrivate * m_d
Definition: umlscene.h:396
void createAutoAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2397
void toggleSnapToGrid()
Definition: umlscene.cpp:3493
bool useFillColor() const
Definition: umlscene.cpp:1363
UMLViewImageExporter * getImageExporter()
Definition: umlscene.cpp:1921
QList< QPointer< AssociationWidget > > AssociationWidgetList
Definition: associationwidgetlist.h:19
QPointF getPastePoint()
Definition: umlscene.cpp:3374
void clearDiagram()
Definition: umlscene.cpp:3469
void removeOwnedWidgets(UMLWidget *o)
Definition: umlscene.cpp:1340
Definition: toolbarstate.h:69
void resetToolbar()
Definition: umlscene.cpp:2924
bool loadMessagesFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:3980
void addFloatingTextWidget(FloatingTextWidget *pWidget)
Definition: umlscene.cpp:2048
bool m_bPaste
Definition: umlscene.h:392
const QColor & lineColor() const
Definition: umlscene.cpp:493
QPointF m_PastePoint
The offset at which to paste the clipboard.
Definition: umlscene.h:406
ObjectWidget * onWidgetLine(const QPointF &point) const
Definition: umlscene.cpp:1014
void setClassWidgetOptions(ClassOptionsPage *page)
Definition: umlscene.cpp:3424
virtual void saveToXMI1(QDomDocument &qDoc, QDomElement &qElement)
Definition: umlscene.cpp:3736
void setPos(const QPointF &pos)
Definition: umlscene.cpp:466
UMLWidget * loadWidgetFromXMI(QDomElement &widgetElement)
Definition: umlscene.cpp:3959
void createAutoConstraintAssociation(UMLEntity *refEntity, UMLForeignKeyConstraint *fkConstraint, UMLWidget *widget)
Definition: umlscene.cpp:2766
void alignVerticalDistribute()
Definition: umlscene.cpp:4316
void print(QPrinter *pPrinter, QPainter &pPainter)
Definition: umlscene.cpp:669
Uml::ID::Type m_nID
The ID of the view. Allocated by UMLDoc.
Definition: umlscene.h:344
bool isOpen() const
Definition: umlscene.cpp:652
bool m_bUseSnapComponentSizeToGrid
Flag to use snap to grid for component size. The default is off.
Definition: umlscene.h:351
bool isSnapGridVisible() const
Definition: umlscene.cpp:3614
void sigLineColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:377
void setSnapGridVisible(bool bShow)
Definition: umlscene.cpp:3622
void setName(const QString &name)
Definition: umlscene.cpp:418
Definition: umlscene.h:68
UMLView * activeView() const
Definition: umlscene.cpp:348
const QColor & fillColor() const
Definition: umlscene.cpp:474
Non-graphical Information for an Entity.
Definition: entity.h:34
bool getCreateObject() const
Definition: umlscene.cpp:745
void moveSelectedBy(qreal dX, qreal dY)
Definition: umlscene.cpp:1454
Definition: umldoc.h:74
QPointF pos() const
Definition: umlscene.cpp:458
The base class for graphical UML objects.
Definition: umlwidget.h:40