22 #include <QDomDocument>
23 #include <QGraphicsScene>
24 #include <QGraphicsItem>
25 #include <QGraphicsSceneMouseEvent>
26 #include <QGraphicsPolygonItem>
28 #include <QMouseEvent>
30 #include <QXmlStreamWriter>
139 void setFont(QFont
font,
bool changeAllWidgets =
false);
159 void print(QPrinter *pPrinter, QPainter & pPainter);
172 UMLWidget *pWidgetB,
const QString& roleNameB);
238 void getDiagram(QPixmap & diagram,
const QRectF &rect);
239 void getDiagram(QPainter &painter,
const QRectF &source,
const QRectF &target = QRectF());
279 virtual void saveToXMI(QXmlStreamWriter& writer);
375 qreal& px, qreal& py, qreal& qx, qreal& qy);
378 virtual void drawBackground(QPainter *painter,
const QRectF &rect);
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();
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:406
AssociationWidget * associationAt(const QPointF &p)
Definition: umlscene.cpp:1112
void sigFillColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:363
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Definition: umlscene.cpp:2996
void setMenu(const QPoint &pos)
UMLWidgetList widgetList() const
Definition: umlscene.cpp:619
bool m_bCreateObject
Definition: umlscene.h:389
bool useFillColor() const
Definition: umlscene.cpp:1400
qreal m_fixY
Compensate for QGraphicsScene offsets, https://bugs.kde.org/show_bug.cgi?id=449622.
Definition: umlscene.h:415
void slotShowView()
Definition: umlscene.cpp:3423
void fileLoaded()
Definition: umlscene.cpp:3723
Information for a non-graphical Concept/Class.
Definition: classifier.h:34
bool m_bStartedCut
Flag if view/children started cut operation.
Definition: umlscene.h:392
void removeAllWidgets()
Definition: umlscene.cpp:2381
void removeWidgetCmd(UMLWidget *o)
Definition: umlscene.cpp:1331
int selectedCount(bool filterText=false) const
Definition: umlscene.cpp:2041
UMLWidgetList selectedMessageWidgets() const
Definition: umlscene.cpp:1462
void setStartedCut()
Definition: umlscene.cpp:3454
A dialog page to display the class related options.
Definition: classoptionspage.h:34
void createAutoAttributeAssociations2(UMLWidget *widget)
Definition: umlscene.cpp:2855
Definition: basictypes.h:76
qreal m_minY
Gather data for estimating required canvas size (used during loadFromXMI)
Definition: umlscene.h:412
qreal snappedX(qreal x)
Definition: umlscene.cpp:3637
uint lineWidth() const
Definition: umlscene.cpp:528
void updateComponentSizes()
Definition: umlscene.cpp:3731
void selectAll()
Definition: umlscene.cpp:1718
void findMaxBoundingRectangle(const FloatingTextWidget *ft, qreal &px, qreal &py, qreal &qx, qreal &qy)
Definition: umlscene.cpp:2886
void removeAssocInViewAndDoc(AssociationWidget *assoc)
Definition: umlscene.cpp:2289
QList< QGraphicsItem * > UMLSceneItemList
Definition: umlscene.h:54
void createAutoAttributeAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2644
bool isSavedInSeparateFile()
Definition: umlscene.cpp:1727
bool isOpen() const
Definition: umlscene.cpp:670
void endPartialWidgetPaste()
Definition: umlscene.cpp:2258
void slotActivate()
Definition: umlscene.cpp:1980
QString name() const
Definition: umlscene.cpp:426
const QColor & fillColor() const
Definition: umlscene.cpp:490
void addObject(UMLObject *object)
Definition: umlscene.cpp:4238
UMLWidget * widgetOnDiagram(Uml::ID::Type id)
Definition: umlscene.cpp:1161
WidgetBase * widgetLink()
Definition: umlscene.cpp:4589
void setLineColor(const QColor &color)
Definition: umlscene.cpp:519
bool isClassDiagram() const
Definition: umlscene.h:310
int m_nCollaborationId
Used for creating unique name of collaboration messages.
Definition: umlscene.h:387
MessageWidget * messageAt(const QPointF &p)
Definition: umlscene.cpp:1127
qreal m_maxX
Definition: umlscene.h:413
void sigGridColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:370
Definition: idchangelog.h:21
void selectAssociations(bool bSelect)
Definition: umlscene.cpp:2336
QString a
Definition: petalnode.cpp:13
bool isStateDiagram() const
Definition: umlscene.h:314
void setType(Uml::DiagramType::Enum type)
Definition: umlscene.cpp:450
void alignBottom()
Definition: umlscene.cpp:4440
void sigShowGridToggled(bool)
Definition: moc_umlscene.cpp:412
virtual bool loadFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:3874
void alignHorizontalDistribute()
Definition: umlscene.cpp:4544
virtual void drawBackground(QPainter *painter, const QRectF &rect)
Definition: umlscene.cpp:3760
Sets up attribute information.
Definition: attribute.h:22
LayoutGrid * m_layoutGrid
layout grid in the background
Definition: umlscene.h:410
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:975
bool isUseCaseDiagram() const
Definition: umlscene.h:311
QString documentation() const
Definition: umlscene.cpp:372
void sigSnapToGridToggled(bool)
Definition: moc_umlscene.cpp:398
void slotObjectRemoved(UMLObject *o)
Definition: umlscene.cpp:854
void copyAsImage(QPixmap *&pix)
Definition: umlscene.cpp:2909
Non-graphical information for a UMLCanvasObject.
Definition: umlcanvasobject.h:31
Definition: basictypes.h:74
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:988
void toggleSnapComponentSizeToGrid()
Definition: umlscene.cpp:3561
MessageWidgetList messageList() const
Definition: umlscene.cpp:647
void selectWidgets(qreal px, qreal py, qreal qx, qreal qy)
Definition: umlscene.cpp:1804
static bool s_showDocumentationIndicator
Status of documentation indicator.
Definition: umlscene.h:399
void selectionUseFillColor(bool useFC)
Definition: umlscene.cpp:1516
void setSnapSpacing(int x, int y)
Definition: umlscene.cpp:3629
void selectionSetVisualProperty(ClassifierWidget::VisualProperty property, bool value)
Definition: umlscene.cpp:1601
Definition: basictypes.h:70
Definition: optionstate.h:308
void alignVerticalMiddle()
Definition: umlscene.cpp:4457
void setOptionState(const Settings::OptionState &options)
Definition: umlscene.cpp:595
void updateContainment(UMLCanvasObject *self)
Definition: umlscene.cpp:2403
void selectionSetFillColor(const QColor &color)
Definition: umlscene.cpp:1586
void hideEvent(QHideEvent *he)
Definition: umlscene.cpp:791
const QColor & textColor() const
Definition: umlscene.cpp:547
QString m_Name
The name of the diagram.
Definition: umlscene.h:347
void setAutoIncrementSequence(bool state)
Definition: umlscene.cpp:393
void setID(Uml::ID::Type id)
Definition: umlscene.cpp:466
int x
Definition: cxx11-lambda-functions-and-expressions.h:4
void setFillColor(const QColor &color)
Definition: umlscene.cpp:500
const QColor & backgroundColor() const
Definition: umlscene.cpp:1392
void setupNewWidget(UMLWidget *w, bool setPosition=true)
Definition: umlscene.cpp:733
bool isShowDocumentationIndicator() const
Definition: umlscene.cpp:3690
void dragMoveEvent(QGraphicsSceneDragDropEvent *moveEvent)
Definition: umlscene.cpp:916
void alignRight()
Definition: umlscene.cpp:4405
void slotCutSuccessful()
Definition: umlscene.cpp:3412
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:27
void slotObjectCreated(UMLObject *o)
Definition: umlscene.cpp:813
qreal m_fixX
Compensate for QGraphicsScene offsets, https://bugs.kde.org/show_bug.cgi?id=449622.
Definition: umlscene.h:414
bool m_isActivated
True if the view was activated after the deserialization(load).
Definition: umlscene.h:405
The base class for UML objects.
Definition: umlobject.h:69
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: umlscene.cpp:3800
bool isObjectDiagram() const
Definition: umlscene.h:319
int snapX() const
Definition: umlscene.cpp:3613
void removeAssociations(UMLWidget *pWidget)
Definition: umlscene.cpp:2322
qreal fixY() const
Definition: umlscene.cpp:4631
static qreal maxCanvasSize()
Definition: umlscene.cpp:341
bool getCreateObject() const
Definition: umlscene.cpp:762
QDebug operator<<(QDebug dbg, UMLScene *item)
Definition: umlscene.cpp:4575
void setIsOpen(bool isOpen)
Definition: umlscene.cpp:679
void slotToolBarChanged(int c)
Definition: umlscene.cpp:804
void dropEvent(QGraphicsSceneDragDropEvent *dropEvent)
Definition: umlscene.cpp:924
Uml::DiagramType::Enum type() const
Definition: umlscene.cpp:442
Definition: basictypes.h:69
Definition: basictypes.h:72
void setShowOpSig(bool bShowOpSig)
Definition: umlscene.cpp:3714
void sigSnapComponentSizeToGridToggled(bool)
Definition: moc_umlscene.cpp:405
bool snapComponentSizeToGrid() const
Definition: umlscene.cpp:3595
AssociationWidgetList selectedAssocs()
Definition: umlscene.cpp:2085
bool loadWidgetsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4125
void setFolder(UMLFolder *folder)
Definition: umlscene.cpp:356
void sigResetToolBar()
Definition: moc_umlscene.cpp:357
UMLDoc * m_doc
Pointer to the UMLDoc.
Definition: umlscene.h:408
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:401
virtual ~UMLScene()
Definition: umlscene.cpp:310
Enum
Definition: basictypes.h:63
bool addAssociation(AssociationWidget *pAssoc, bool isPasteOperation=false)
Definition: umlscene.cpp:2139
bool showOpSig() const
Definition: umlscene.cpp:3706
void showEvent(QShowEvent *se)
Definition: umlscene.cpp:778
qreal m_maxY
Gather data for estimating required canvas size (used during loadFromXMI)
Definition: umlscene.h:413
UMLWidgetList selectedWidgetsExt(bool filterText=true)
Definition: umlscene.cpp:2066
void resizeSelection()
Definition: umlscene.cpp:1695
static const qreal s_defaultCanvasWidth
The default width of a diagram in pixels.
Definition: umlscene.h:396
void setDocumentation(const QString &doc)
Definition: umlscene.cpp:380
void selectWidgetsOfAssoc(AssociationWidget *a)
Definition: umlscene.cpp:1784
int generateCollaborationId()
Definition: umlscene.cpp:661
UMLWidget * widgetAt(const QPointF &p)
Definition: umlscene.cpp:1096
AssociationWidgetList associationList() const
Definition: umlscene.cpp:605
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:1418
void checkMessages(ObjectWidget *w)
Definition: umlscene.cpp:1141
Enum
Definition: basictypes.h:92
QString m_Documentation
The documentation of the diagram.
Definition: umlscene.h:348
qreal fixX() const
Definition: umlscene.cpp:4623
void setLineWidth(uint width)
Definition: umlscene.cpp:538
qreal m_minX
Definition: umlscene.h:412
UMLSceneItemList collisions(const QPointF &p, int delta=3)
Definition: umlscene.cpp:1761
void triggerToolbarButton(WorkToolBar::ToolBar_Buttons button)
Definition: umlscene.cpp:2988
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:1024
UMLWidget * findWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1206
bool autoIncrementSequence() const
Definition: umlscene.cpp:388
Settings::OptionState & optionState()
Definition: umlscene.cpp:587
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:4608
bool loadAssociationsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4200
bool isDeploymentDiagram() const
Definition: umlscene.h:317
void unselectChildrenOfSelectedWidgets()
Definition: umlscene.cpp:1616
void addWidgetCmd(UMLWidget *widget)
Definition: umlscene.cpp:630
void sigTextColorChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:384
AssociationWidget * findAssocWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1235
void setSnapToGrid(bool bSnap)
Definition: umlscene.cpp:3586
void getDiagram(QPixmap &diagram, const QRectF &rect)
Definition: umlscene.cpp:1910
UMLScene(UMLFolder *parentFolder, UMLView *view=0)
Definition: umlscene.cpp:261
void activate()
Definition: umlscene.cpp:1988
bool m_bDrawSelectedOnly
Definition: umlscene.h:390
UMLWidgetList selectedWidgets() const
Definition: umlscene.cpp:1428
bool loadUisDiagramPresentation(QDomElement &qElement)
Definition: umlscene.cpp:4247
void sigAssociationRemoved(AssociationWidget *)
Definition: moc_umlscene.cpp:419
UMLFolder * folder() const
Definition: umlscene.cpp:348
Definition: basictypes.h:71
void deleteSelection()
Definition: umlscene.cpp:1633
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:1007
bool snapToGrid() const
Definition: umlscene.cpp:3578
void setUseFillColor(bool ufc)
Definition: umlscene.cpp:1408
UMLViewImageExporter * m_pImageExporter
Used to export the view.
Definition: umlscene.h:409
bool m_autoIncrementSequence
state of auto increment sequence
Definition: umlscene.h:411
QFont font() const
Definition: umlscene.cpp:3462
void selectionSetFont(const QFont &font)
Definition: umlscene.cpp:1534
void selectionSetLineColor(const QColor &color)
Definition: umlscene.cpp:1548
void slotMenuSelection(QAction *action)
Definition: umlscene.cpp:3030
Definition: basictypes.h:68
std::string Type
Definition: basictypes.h:371
void alignLeft()
Definition: umlscene.cpp:4387
void removeWidget(UMLWidget *o)
Definition: umlscene.cpp:1311
QGraphicsItem * itemAt(const QPointF &position) const
Definition: umlscene.h:381
Definition: layoutgrid.h:22
bool loadUISDiagram(QDomElement &qElement)
Definition: umlscene.cpp:4348
void createAutoConstraintAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2774
Definition: umlscene.cpp:112
Uml::DiagramType::Enum m_Type
The type of diagram to represent.
Definition: umlscene.h:346
void alignHorizontalMiddle()
Definition: umlscene.cpp:4485
void activateAfterLoad(bool bUseLog=false)
Definition: umlscene.cpp:2230
void forceUpdateWidgetFontMetrics(QPainter *painter)
Definition: umlscene.cpp:3749
void setPaste(bool paste)
Definition: umlscene.cpp:3021
void setShowDocumentationIndicator(bool bShow)
Definition: umlscene.cpp:3698
int snapY() const
Definition: umlscene.cpp:3621
bool isComponentDiagram() const
Definition: umlscene.h:316
Definition: basictypes.h:67
void getWidgetAssocs(UMLObject *Obj, AssociationWidgetList &Associations)
Definition: umlscene.cpp:2354
QPointF m_pos
Definition: umlscene.h:388
Definition: umlviewimageexportermodel.h:28
UMLView * activeView() const
Definition: umlscene.cpp:364
static const qreal s_maxCanvasSize
The maximum supported canvas size.
Definition: umlscene.h:398
Definition: umlviewimageexporter.h:22
void setGridDotColor(const QColor &color)
Definition: umlscene.cpp:578
UMLFolder * m_pFolder
The folder in which this UMLView is contained.
Definition: umlscene.h:402
Displays a line of text or an operation.
Definition: floatingtextwidget.h:31
void makeSelected(UMLWidget *uw)
Definition: umlscene.cpp:1774
bool isActivityDiagram() const
Definition: umlscene.h:315
void clearSelected()
Definition: umlscene.cpp:1483
ObjectWidget * onWidgetLine(const QPointF &point) const
Definition: umlscene.cpp:1036
void setCreateObject(bool bCreate)
Definition: umlscene.cpp:770
void applyLayout(const QString &actionText)
Definition: umlscene.cpp:3539
void sigLineWidthChanged(Uml::ID::Type)
Definition: moc_umlscene.cpp:391
WidgetBase::WidgetType getUniqueSelectionType()
Definition: umlscene.cpp:3505
void beginPartialWidgetPaste()
Definition: umlscene.cpp:2249
void setWidgetLink(WidgetBase *w)
Definition: umlscene.cpp:4584
void setSnapComponentSizeToGrid(bool bSnap)
Definition: umlscene.cpp:3603
AssociationWidgetList selectedAssociationWidgets() const
Definition: umlscene.cpp:1445
void dragEnterEvent(QGraphicsSceneDragDropEvent *enterEvent)
Definition: umlscene.cpp:870
void removeAllAssociations()
Definition: umlscene.cpp:2370
void resetPastePoint()
Definition: umlscene.cpp:3445
void setTextColor(const QColor &color)
Definition: umlscene.cpp:557
IDChangeLog * m_pIDChangesLog
LocalID Changes Log for paste actions.
Definition: umlscene.h:404
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:1566
bool getPaste() const
Definition: umlscene.cpp:3013
QString autoIncrementSequenceValue()
Definition: umlscene.cpp:401
Uml::ID::Type m_nLocalID
Definition: umlscene.h:343
bool isSnapGridVisible() const
Definition: umlscene.cpp:3673
void sigWidgetRemoved(UMLWidget *)
Definition: moc_umlscene.cpp:426
void alignTop()
Definition: umlscene.cpp:4422
qreal snappedY(qreal y)
Definition: umlscene.cpp:3655
bool isSequenceDiagram() const
Definition: umlscene.h:312
void createAutoAttributeAssociation(UMLClassifier *type, UMLAttribute *attr, UMLWidget *widget)
Definition: umlscene.cpp:2712
void toggleShowGrid()
Definition: umlscene.cpp:3570
void setFont(QFont font, bool changeAllWidgets=false)
Definition: umlscene.cpp:3470
void selectWidget(UMLWidget *widget, QRectF *rect=0)
Definition: umlscene.cpp:1855
const QColor & lineColor() const
Definition: umlscene.cpp:509
UMLScenePrivate * m_d
Definition: umlscene.h:395
const QColor & gridDotColor() const
Definition: umlscene.cpp:568
void createAutoAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2455
void toggleSnapToGrid()
Definition: umlscene.cpp:3552
UMLViewImageExporter * getImageExporter()
Definition: umlscene.cpp:1972
QPointF getPastePoint()
Definition: umlscene.cpp:3434
void clearDiagram()
Definition: umlscene.cpp:3529
void removeOwnedWidgets(UMLWidget *o)
Definition: umlscene.cpp:1377
void resetToolbar()
Definition: umlscene.cpp:2983
bool loadMessagesFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4172
void addFloatingTextWidget(FloatingTextWidget *pWidget)
Definition: umlscene.cpp:2099
QPointF pos() const
Definition: umlscene.cpp:474
UMLWidget * getFirstMultiSelectedWidget() const
Definition: umlscene.cpp:1082
bool m_bPaste
Definition: umlscene.h:391
QPointF m_PastePoint
The offset at which to paste the clipboard.
Definition: umlscene.h:407
void setClassWidgetOptions(ClassOptionsPage *page)
Definition: umlscene.cpp:3484
void setPos(const QPointF &pos)
Definition: umlscene.cpp:482
UMLWidget * loadWidgetFromXMI(QDomElement &widgetElement)
Definition: umlscene.cpp:4151
void createAutoConstraintAssociation(UMLEntity *refEntity, UMLForeignKeyConstraint *fkConstraint, UMLWidget *widget)
Definition: umlscene.cpp:2823
void alignVerticalDistribute()
Definition: umlscene.cpp:4513
void print(QPrinter *pPrinter, QPainter &pPainter)
Definition: umlscene.cpp:687
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:3681
void setName(const QString &name)
Definition: umlscene.cpp:434
Definition: umlscene.h:64
ObjectWidget * onWidgetDestructionBox(const QPointF &point) const
Definition: umlscene.cpp:1061
Non-graphical Information for an Entity.
Definition: entity.h:29
void moveSelectedBy(qreal dX, qreal dY)
Definition: umlscene.cpp:1503
Uml::ID::Type ID() const
Definition: umlscene.cpp:458
static const qreal s_defaultCanvasHeight
The default height of a diagram in pixels.
Definition: umlscene.h:397