22#include <QDomDocument>
23#include <QGraphicsScene>
24#include <QGraphicsItem>
25#include <QGraphicsSceneMouseEvent>
26#include <QGraphicsPolygonItem>
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);
376 qreal& px, qreal& py, qreal& qx, qreal& qy);
379 virtual void drawBackground(QPainter *painter,
const QRectF &rect);
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() ? nullptr : itemsAtPoint.first();
A dialog page to display the class related options.
Definition classoptionspage.h:35
Displays a line of text or an operation.
Definition floatingtextwidget.h:32
Definition idchangelog.h:22
Definition layoutgrid.h:23
Definition optionstate.h:309
Sets up attribute information.
Definition attribute.h:23
Non-graphical information for a UMLCanvasObject.
Definition umlcanvasobject.h:32
Information for a non-graphical Concept/Class.
Definition classifier.h:35
Non-graphical Information for an Entity.
Definition entity.h:30
Non-graphical management of objects and diagrams of a Folder.
Definition folder.h:30
Sets up Foreign Key entity constraint information.
Definition foreignkeyconstraint.h:28
The base class for UML objects.
Definition umlobject.h:70
Definition umlscene.cpp:113
void removeWidget(UMLWidget *o)
Definition umlscene.cpp:1313
bool isComponentDiagram() const
Definition umlscene.h:316
void alignHorizontalMiddle()
Definition umlscene.cpp:4488
void createAutoAttributeAssociations(UMLWidget *widget)
Definition umlscene.cpp:2646
virtual bool loadFromXMI(QDomElement &qElement)
Definition umlscene.cpp:3876
ObjectWidget * onWidgetDestructionBox(const QPointF &point) const
Definition umlscene.cpp:1063
void setIsOpen(bool isOpen)
Definition umlscene.cpp:681
void toggleSnapComponentSizeToGrid()
Definition umlscene.cpp:3563
void endPartialWidgetPaste()
Definition umlscene.cpp:2260
bool snapComponentSizeToGrid() const
Definition umlscene.cpp:3597
void setPos(const QPointF &pos)
Definition umlscene.cpp:483
void setSnapGridVisible(bool bShow)
Definition umlscene.cpp:3683
void setupNewWidget(UMLWidget *w, bool setPosition=true)
Definition umlscene.cpp:735
static const qreal s_defaultCanvasWidth
The default width of a diagram in pixels.
Definition umlscene.h:397
qreal m_maxY
Gather data for estimating required canvas size (used during loadFromXMI)
Definition umlscene.h:415
static bool s_showDocumentationIndicator
Status of documentation indicator.
Definition umlscene.h:401
bool isClassDiagram() const
Definition umlscene.h:310
QFont font() const
Definition umlscene.cpp:3464
void setOptionState(const Settings::OptionState &options)
Definition umlscene.cpp:596
static const qreal s_sceneBorder
A border around the bounding rectangle of the elements in the scene.
Definition umlscene.h:400
void alignRight()
Definition umlscene.cpp:4408
UMLScenePrivate * m_d
Definition umlscene.h:396
void setMenu(const QPoint &pos)
bool loadUISDiagram(QDomElement &qElement)
Definition umlscene.cpp:4351
int snapY() const
Definition umlscene.cpp:3623
void triggerToolbarButton(WorkToolBar::ToolBar_Buttons button)
Definition umlscene.cpp:2990
bool snapToGrid() const
Definition umlscene.cpp:3580
bool isObjectDiagram() const
Definition umlscene.h:319
void checkMessages(ObjectWidget *w)
Definition umlscene.cpp:1143
void copyAsImage(QPixmap *&pix)
Definition umlscene.cpp:2911
void selectWidgets(qreal px, qreal py, qreal qx, qreal qy)
Definition umlscene.cpp:1806
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition umlscene.cpp:1026
void setShowDocumentationIndicator(bool bShow)
Definition umlscene.cpp:3700
MessageWidget * messageAt(const QPointF &p)
Definition umlscene.cpp:1129
Uml::ID::Type m_nID
The ID of the view. Allocated by UMLDoc.
Definition umlscene.h:346
qreal snappedX(qreal x)
Definition umlscene.cpp:3639
void selectWidget(UMLWidget *widget, QRectF *rect=nullptr)
Definition umlscene.cpp:1857
void setFolder(UMLFolder *folder)
Definition umlscene.cpp:357
UMLViewImageExporter * getImageExporter()
Definition umlscene.cpp:1974
UMLWidget * widgetOnDiagram(Uml::ID::Type id)
Definition umlscene.cpp:1163
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Definition umlscene.cpp:2998
bool m_bDrawSelectedOnly
Definition umlscene.h:391
void createAutoConstraintAssociations(UMLWidget *widget)
Definition umlscene.cpp:2776
UMLFolder * m_pFolder
The folder in which this UMLView is contained.
Definition umlscene.h:404
AssociationWidgetList selectedAssociationWidgets() const
Definition umlscene.cpp:1447
void setLineColor(const QColor &color)
Definition umlscene.cpp:520
void setStartedCut()
Definition umlscene.cpp:3456
bool autoIncrementSequence() const
Definition umlscene.cpp:389
void sigTextColorChanged(Uml::ID::Type)
Definition moc_umlscene.cpp:384
void dragMoveEvent(QGraphicsSceneDragDropEvent *moveEvent)
Definition umlscene.cpp:918
void hideEvent(QHideEvent *he)
Definition umlscene.cpp:793
static qreal maxCanvasSize()
Definition umlscene.cpp:342
void sigLineWidthChanged(Uml::ID::Type)
Definition moc_umlscene.cpp:391
void removeAllAssociations()
Definition umlscene.cpp:2372
bool getPaste() const
Definition umlscene.cpp:3015
void sigSnapComponentSizeToGridToggled(bool)
Definition moc_umlscene.cpp:405
qreal snappedY(qreal y)
Definition umlscene.cpp:3657
UMLFolder * folder() const
Definition umlscene.cpp:349
void forceUpdateWidgetFontMetrics(QPainter *painter)
Definition umlscene.cpp:3751
void selectionSetLineWidth(uint width)
Definition umlscene.cpp:1568
void updateSceneRect()
Definition umlscene.cpp:4626
void getWidgetAssocs(UMLObject *Obj, AssociationWidgetList &Associations)
Definition umlscene.cpp:2356
void selectWidgetsOfAssoc(AssociationWidget *a)
Definition umlscene.cpp:1786
UMLView * m_view
The view to which this scene is related.
Definition umlscene.h:403
void dropEvent(QGraphicsSceneDragDropEvent *dropEvent)
Definition umlscene.cpp:926
const QColor & fillColor() const
Definition umlscene.cpp:491
bool loadUisDiagramPresentation(QDomElement &qElement)
Definition umlscene.cpp:4250
void removeAllWidgets()
Definition umlscene.cpp:2383
void selectAssociations(bool bSelect)
Definition umlscene.cpp:2338
void selectionSetFillColor(const QColor &color)
Definition umlscene.cpp:1588
void toggleSnapToGrid()
Definition umlscene.cpp:3554
UMLWidget * findWidget(Uml::ID::Type id)
Definition umlscene.cpp:1208
bool isEntityRelationshipDiagram() const
Definition umlscene.h:318
void setTextColor(const QColor &color)
Definition umlscene.cpp:558
Uml::DiagramType::Enum type() const
Definition umlscene.cpp:443
void setShowOpSig(bool bShowOpSig)
Definition umlscene.cpp:3716
void resetToolbar()
Definition umlscene.cpp:2985
bool isShowDocumentationIndicator() const
Definition umlscene.cpp:3692
static const qreal s_maxCanvasSize
The maximum supported canvas size.
Definition umlscene.h:399
UMLWidgetList selectedWidgets() const
Definition umlscene.cpp:1430
void createAutoAssociations(UMLWidget *widget)
Definition umlscene.cpp:2457
Uml::DiagramType::Enum m_Type
The type of diagram to represent.
Definition umlscene.h:347
void slotCutSuccessful()
Definition umlscene.cpp:3414
static const qreal s_defaultCanvasHeight
The default height of a diagram in pixels.
Definition umlscene.h:398
void activateAfterLoad(bool bUseLog=false)
Definition umlscene.cpp:2232
AssociationWidget * findAssocWidget(Uml::ID::Type id)
Definition umlscene.cpp:1237
bool m_bPaste
Definition umlscene.h:392
void setFont(QFont font, bool changeAllWidgets=false)
Definition umlscene.cpp:3472
void activate()
Definition umlscene.cpp:1990
void addWidgetCmd(UMLWidget *widget)
Definition umlscene.cpp:632
qreal fixY() const
Definition umlscene.cpp:4643
void unselectChildrenOfSelectedWidgets()
Definition umlscene.cpp:1618
void getDiagram(QPixmap &diagram, const QRectF &rect)
Definition umlscene.cpp:1912
void beginPartialWidgetPaste()
Definition umlscene.cpp:2251
IDChangeLog * m_pIDChangesLog
LocalID Changes Log for paste actions.
Definition umlscene.h:406
void alignLeft()
Definition umlscene.cpp:4390
void setAutoIncrementSequence(bool state)
Definition umlscene.cpp:394
void setType(Uml::DiagramType::Enum type)
Definition umlscene.cpp:451
void removeAssocInViewAndDoc(AssociationWidget *assoc)
Definition umlscene.cpp:2291
bool m_isOpen
Flag is set to true when diagram is open, i.e. shown to the user.
Definition umlscene.h:354
void alignBottom()
Definition umlscene.cpp:4443
void sigAssociationRemoved(AssociationWidget *)
Definition moc_umlscene.cpp:419
void createAutoConstraintAssociation(UMLEntity *refEntity, UMLForeignKeyConstraint *fkConstraint, UMLWidget *widget)
Definition umlscene.cpp:2825
void sigSnapToGridToggled(bool)
Definition moc_umlscene.cpp:398
void setWidgetLink(WidgetBase *w)
Definition umlscene.cpp:4587
UMLWidgetList widgetList() const
Definition umlscene.cpp:621
virtual void drawBackground(QPainter *painter, const QRectF &rect)
Definition umlscene.cpp:3762
qreal m_minY
Gather data for estimating required canvas size (used during loadFromXMI)
Definition umlscene.h:414
QRectF diagramRect()
Definition umlscene.cpp:1420
bool addAssociation(AssociationWidget *pAssoc, bool isPasteOperation=false)
Definition umlscene.cpp:2141
bool isSequenceDiagram() const
Definition umlscene.h:312
void resizeSelection()
Definition umlscene.cpp:1697
void selectAll()
Definition umlscene.cpp:1720
qreal m_fixY
Compensate for QGraphicsScene offsets, https://bugs.kde.org/show_bug.cgi?id=449622.
Definition umlscene.h:417
void setDocumentation(const QString &doc)
Definition umlscene.cpp:381
const QColor & textColor() const
Definition umlscene.cpp:548
const QColor & backgroundColor() const
Definition umlscene.cpp:1394
int snapX() const
Definition umlscene.cpp:3615
void updateContainment(UMLCanvasObject *self)
Definition umlscene.cpp:2405
void findMaxBoundingRectangle(const FloatingTextWidget *ft, qreal &px, qreal &py, qreal &qx, qreal &qy)
Definition umlscene.cpp:2888
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:501
UMLWidgetList selectedWidgetsExt(bool filterText=true)
Definition umlscene.cpp:2068
bool loadMessagesFromXMI(QDomElement &qElement)
Definition umlscene.cpp:4175
ObjectWidget * onWidgetLine(const QPointF &point) const
Definition umlscene.cpp:1038
AssociationWidgetList selectedAssocs()
Definition umlscene.cpp:2087
void clearDiagram()
Definition umlscene.cpp:3531
void setSnapToGrid(bool bSnap)
Definition umlscene.cpp:3588
void setGridDotColor(const QColor &color)
Definition umlscene.cpp:579
UMLSceneItemList collisions(const QPointF &p, int delta=3)
Definition umlscene.cpp:1763
QString name() const
Definition umlscene.cpp:427
void moveSelectedBy(qreal dX, qreal dY)
Definition umlscene.cpp:1505
const QColor & lineColor() const
Definition umlscene.cpp:510
uint lineWidth() const
Definition umlscene.cpp:529
qreal m_minX
Definition umlscene.h:414
bool isSnapGridVisible() const
Definition umlscene.cpp:3675
void slotShowView()
Definition umlscene.cpp:3425
void resetPastePoint()
Definition umlscene.cpp:3447
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition umlscene.cpp:977
void deleteSelection()
Definition umlscene.cpp:1635
QGraphicsItem * itemAt(const QPointF &position) const
Definition umlscene.h:382
qreal fixX() const
Definition umlscene.cpp:4635
void setClassWidgetOptions(ClassOptionsPage *page)
Definition umlscene.cpp:3486
bool m_bPopupShowing
Status of a popupmenu on view. True - a popup is on view.
Definition umlscene.h:408
QString documentation() const
Definition umlscene.cpp:373
void sigGridColorChanged(Uml::ID::Type)
Definition moc_umlscene.cpp:370
void sigWidgetRemoved(UMLWidget *)
Definition moc_umlscene.cpp:426
bool isDeploymentDiagram() const
Definition umlscene.h:317
Settings::OptionState m_Options
Options used by view.
Definition umlscene.h:350
void setLineWidth(uint width)
Definition umlscene.cpp:539
Uml::ID::Type m_nLocalID
Definition umlscene.h:344
qreal m_fixX
Compensate for QGraphicsScene offsets, https://bugs.kde.org/show_bug.cgi?id=449622.
Definition umlscene.h:416
void slotObjectCreated(UMLObject *o)
Definition umlscene.cpp:815
bool isStateDiagram() const
Definition umlscene.h:314
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition umlscene.cpp:990
bool isOpen() const
Definition umlscene.cpp:672
QPointF m_PastePoint
The offset at which to paste the clipboard.
Definition umlscene.h:409
void setSnapSpacing(int x, int y)
Definition umlscene.cpp:3631
void alignVerticalMiddle()
Definition umlscene.cpp:4460
void dragEnterEvent(QGraphicsSceneDragDropEvent *enterEvent)
Definition umlscene.cpp:872
void print(QPrinter *pPrinter, QPainter &pPainter)
Definition umlscene.cpp:689
void showEvent(QShowEvent *se)
Definition umlscene.cpp:780
bool loadWidgetsFromXMI(QDomElement &qElement)
Definition umlscene.cpp:4128
bool m_bStartedCut
Flag if view/children started cut operation.
Definition umlscene.h:393
QPointF pos() const
Definition umlscene.cpp:475
QString autoIncrementSequenceValue()
Definition umlscene.cpp:402
void setCreateObject(bool bCreate)
Definition umlscene.cpp:772
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition umlscene.cpp:1009
void slotToolBarChanged(int c)
Definition umlscene.cpp:806
void alignTop()
Definition umlscene.cpp:4425
bool isSavedInSeparateFile()
Definition umlscene.cpp:1729
UMLDoc * m_doc
Pointer to the UMLDoc.
Definition umlscene.h:410
UMLViewImageExporter * m_pImageExporter
Used to export the view.
Definition umlscene.h:411
void applyLayout(const QString &actionText)
Definition umlscene.cpp:3541
bool m_bUseSnapToGrid
Flag to use snap to grid. The default is off.
Definition umlscene.h:352
void selectionSetFont(const QFont &font)
Definition umlscene.cpp:1536
WidgetBase::WidgetType getUniqueSelectionType()
Definition umlscene.cpp:3507
QString m_Documentation
The documentation of the diagram.
Definition umlscene.h:349
QPointF m_pos
Definition umlscene.h:389
WidgetBase * widgetLink()
Definition umlscene.cpp:4592
void updateCanvasSizeEstimate(qreal x, qreal y, qreal w, qreal h)
Definition umlscene.cpp:4611
void createAutoAttributeAssociation(UMLClassifier *type, UMLAttribute *attr, UMLWidget *widget)
Definition umlscene.cpp:2714
AssociationWidgetList associationList() const
Definition umlscene.cpp:607
QString m_Name
The name of the diagram.
Definition umlscene.h:348
UMLWidget * getFirstMultiSelectedWidget() const
Definition umlscene.cpp:1084
void slotActivate()
Definition umlscene.cpp:1982
void toggleShowGrid()
Definition umlscene.cpp:3572
bool getCreateObject() const
Definition umlscene.cpp:764
bool showOpSig() const
Definition umlscene.cpp:3708
void slotObjectRemoved(UMLObject *o)
Definition umlscene.cpp:856
bool m_autoIncrementSequence
state of auto increment sequence
Definition umlscene.h:413
int generateCollaborationId()
Definition umlscene.cpp:663
virtual ~UMLScene()
Definition umlscene.cpp:311
void setPaste(bool paste)
Definition umlscene.cpp:3023
MessageWidgetList messageList() const
Definition umlscene.cpp:649
bool isUseCaseDiagram() const
Definition umlscene.h:311
void createAutoAttributeAssociations2(UMLWidget *widget)
Definition umlscene.cpp:2857
QPointF getPastePoint()
Definition umlscene.cpp:3436
void sigFillColorChanged(Uml::ID::Type)
Definition moc_umlscene.cpp:363
void fileLoaded()
Definition umlscene.cpp:3725
void addObject(UMLObject *object)
Definition umlscene.cpp:4241
bool useFillColor() const
Definition umlscene.cpp:1402
void clearSelected()
Definition umlscene.cpp:1485
bool m_bUseSnapComponentSizeToGrid
Flag to use snap to grid for component size. The default is off.
Definition umlscene.h:353
void alignHorizontalDistribute()
Definition umlscene.cpp:4547
bool isCollaborationDiagram() const
Definition umlscene.h:313
void slotMenuSelection(QAction *action)
Definition umlscene.cpp:3032
AssociationWidget * associationAt(const QPointF &p)
Definition umlscene.cpp:1114
void makeSelected(UMLWidget *uw)
Definition umlscene.cpp:1776
int selectedCount(bool filterText=false) const
Definition umlscene.cpp:2043
void removeAssociations(UMLWidget *pWidget)
Definition umlscene.cpp:2324
void selectionSetVisualProperty(ClassifierWidget::VisualProperty property, bool value)
Definition umlscene.cpp:1603
int m_nCollaborationId
Used for creating unique name of collaboration messages.
Definition umlscene.h:388
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition umlscene.cpp:3802
UMLWidgetList selectedMessageWidgets() const
Definition umlscene.cpp:1464
void selectionUseFillColor(bool useFC)
Definition umlscene.cpp:1518
void setUseFillColor(bool ufc)
Definition umlscene.cpp:1410
Settings::OptionState & optionState()
Definition umlscene.cpp:588
bool m_isActivated
True if the view was activated after the deserialization(load).
Definition umlscene.h:407
UMLView * activeView() const
Definition umlscene.cpp:365
bool loadAssociationsFromXMI(QDomElement &qElement)
Definition umlscene.cpp:4203
void addFloatingTextWidget(FloatingTextWidget *pWidget)
Definition umlscene.cpp:2101
void setName(const QString &name)
Definition umlscene.cpp:435
UMLWidget * widgetAt(const QPointF &p)
Definition umlscene.cpp:1098
void removeWidgetCmd(UMLWidget *o)
Definition umlscene.cpp:1333
bool m_bCreateObject
Definition umlscene.h:390
bool isActivityDiagram() const
Definition umlscene.h:315
LayoutGrid * m_layoutGrid
layout grid in the background
Definition umlscene.h:412
void alignVerticalDistribute()
Definition umlscene.cpp:4516
void removeOwnedWidgets(UMLWidget *o)
Definition umlscene.cpp:1379
void setID(Uml::ID::Type id)
Definition umlscene.cpp:467
const QColor & gridDotColor() const
Definition umlscene.cpp:569
void selectionSetLineColor(const QColor &color)
Definition umlscene.cpp:1550
void updateComponentSizes()
Definition umlscene.cpp:3733
qreal m_maxX
Definition umlscene.h:415
void setSnapComponentSizeToGrid(bool bSnap)
Definition umlscene.cpp:3605
Uml::ID::Type ID() const
Definition umlscene.cpp:459
UMLWidget * loadWidgetFromXMI(QDomElement &widgetElement)
Definition umlscene.cpp:4154
Definition umlviewimageexportermodel.h:29
Definition umlviewimageexporter.h:23
int x
Definition cxx11-lambda-functions-and-expressions.h:4
Enum
Definition basictypes.h:92
Enum
Definition basictypes.h:63
@ Component
Definition basictypes.h:73
@ Collaboration
Definition basictypes.h:70
@ Activity
Definition basictypes.h:72
@ State
Definition basictypes.h:71
@ Object
Definition basictypes.h:76
@ UseCase
Definition basictypes.h:68
@ Sequence
Definition basictypes.h:69
@ Class
Definition basictypes.h:67
@ EntityRelationship
Definition basictypes.h:75
@ Deployment
Definition basictypes.h:74
std::string Type
Definition basictypes.h:371
QString a
Definition petalnode.cpp:13
QList< QGraphicsItem * > UMLSceneItemList
Definition umlscene.h:57
QDebug operator<<(QDebug dbg, UMLScene *item)
Definition umlscene.cpp:4578