27 #include <QDomDocument>
28 #include <QGraphicsScene>
29 #include <QGraphicsItem>
30 #include <QGraphicsSceneMouseEvent>
31 #include <QGraphicsPolygonItem>
33 #include <QMouseEvent>
143 void setFont(QFont
font,
bool changeAllWidgets =
false);
163 void print(QPrinter *pPrinter, QPainter & pPainter);
176 UMLWidget *pWidgetB,
const QString& roleNameB);
242 void getDiagram(QPixmap & diagram,
const QRectF &rect);
243 void getDiagram(QPainter &painter,
const QRectF &source,
const QRectF &target = QRectF());
285 virtual void saveToXMI1(QDomDocument & qDoc, QDomElement & qElement);
374 qreal& px, qreal& py, qreal& qx, qreal& qy);
377 virtual void drawBackground(QPainter *painter,
const QRectF &rect);
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();
A dialog page to display the class related options.
Definition: classoptionspage.h:40
Displays a line of text or an operation.
Definition: floatingtextwidget.h:37
Definition: idchangelog.h:27
Definition: layoutgrid.h:36
Definition: optionstate.h:314
Sets up attribute information.
Definition: attribute.h:28
Non-graphical information for a UMLCanvasObject.
Definition: umlcanvasobject.h:34
Information for a non-graphical Concept/Class.
Definition: classifier.h:40
Non-graphical Information for an Entity.
Definition: entity.h:35
Non-graphical management of objects and diagrams of a Folder.
Definition: folder.h:35
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:33
The base class for UML objects.
Definition: umlobject.h:74
Definition: umlscene.cpp:116
Definition: umlscene.h:69
void removeWidget(UMLWidget *o)
Definition: umlscene.cpp:1289
void alignHorizontalMiddle()
Definition: umlscene.cpp:4305
void createAutoAttributeAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2602
ObjectWidget * onWidgetDestructionBox(const QPointF &point) const
Definition: umlscene.cpp:1039
void setIsOpen(bool isOpen)
Definition: umlscene.cpp:661
void toggleSnapComponentSizeToGrid()
Definition: umlscene.cpp:3519
void endPartialWidgetPaste()
Definition: umlscene.cpp:2214
bool snapComponentSizeToGrid() const
Definition: umlscene.cpp:3553
bool isDeploymentDiagram()
Definition: umlscene.h:323
void setPos(const QPointF &pos)
Definition: umlscene.cpp:466
void setSnapGridVisible(bool bShow)
Definition: umlscene.cpp:3639
void setupNewWidget(UMLWidget *w, bool setPosition=true)
Definition: umlscene.cpp:715
bool isUseCaseDiagram()
Definition: umlscene.h:317
QFont font() const
Definition: umlscene.cpp:3419
void setOptionState(const Settings::OptionState &options)
Definition: umlscene.cpp:579
void alignRight()
Definition: umlscene.cpp:4225
static bool m_showDocumentationIndicator
Status of documentation indicator.
Definition: umlscene.h:398
UMLScenePrivate * m_d
Definition: umlscene.h:396
void setMenu(const QPoint &pos)
bool loadUISDiagram(QDomElement &qElement)
Definition: umlscene.cpp:4168
int snapY() const
Definition: umlscene.cpp:3579
const AssociationWidgetList associationList() const
Definition: umlscene.cpp:589
void triggerToolbarButton(WorkToolBar::ToolBar_Buttons button)
Definition: umlscene.cpp:2946
bool snapToGrid() const
Definition: umlscene.cpp:3536
void checkMessages(ObjectWidget *w)
Definition: umlscene.cpp:1119
void copyAsImage(QPixmap *&pix)
Definition: umlscene.cpp:2867
void selectWidgets(qreal px, qreal py, qreal qx, qreal qy)
Definition: umlscene.cpp:1770
virtual bool loadFromXMI1(QDomElement &qElement)
Definition: umlscene.cpp:3828
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:1002
void setShowDocumentationIndicator(bool bShow)
Definition: umlscene.cpp:3656
MessageWidget * messageAt(const QPointF &p)
Definition: umlscene.cpp:1105
Uml::ID::Type m_nID
The ID of the view. Allocated by UMLDoc.
Definition: umlscene.h:344
qreal snappedX(qreal x)
Definition: umlscene.cpp:3595
void setFolder(UMLFolder *folder)
Definition: umlscene.cpp:340
UMLViewImageExporter * getImageExporter()
Definition: umlscene.cpp:1936
UMLWidget * widgetOnDiagram(Uml::ID::Type id)
Definition: umlscene.cpp:1139
virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
Definition: umlscene.cpp:2954
bool m_bDrawSelectedOnly
Definition: umlscene.h:391
void createAutoConstraintAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2732
UMLFolder * m_pFolder
The folder in which this UMLView is contained.
Definition: umlscene.h:401
AssociationWidgetList selectedAssociationWidgets() const
Definition: umlscene.cpp:1423
void setLineColor(const QColor &color)
Definition: umlscene.cpp:503
void setStartedCut()
Definition: umlscene.cpp:3411
bool autoIncrementSequence() const
Definition: umlscene.cpp:372
void sigTextColorChanged(Uml::ID::Type)
void dragMoveEvent(QGraphicsSceneDragDropEvent *moveEvent)
Definition: umlscene.cpp:890
void hideEvent(QHideEvent *he)
Definition: umlscene.cpp:774
void sigLineWidthChanged(Uml::ID::Type)
void removeAllAssociations()
Definition: umlscene.cpp:2327
bool getPaste() const
Definition: umlscene.cpp:2971
void sigSnapComponentSizeToGridToggled(bool)
qreal snappedY(qreal y)
Definition: umlscene.cpp:3613
UMLFolder * folder() const
Definition: umlscene.cpp:332
void forceUpdateWidgetFontMetrics(QPainter *painter)
Definition: umlscene.cpp:3717
void selectionSetLineWidth(uint width)
Definition: umlscene.cpp:1532
void getWidgetAssocs(UMLObject *Obj, AssociationWidgetList &Associations)
Definition: umlscene.cpp:2311
void selectWidgetsOfAssoc(AssociationWidget *a)
Definition: umlscene.cpp:1750
UMLScene(UMLFolder *parentFolder, UMLView *view=0)
Definition: umlscene.cpp:262
UMLView * m_view
The view to which this scene is related.
Definition: umlscene.h:400
bool isObjectDiagram()
Definition: umlscene.h:325
void dropEvent(QGraphicsSceneDragDropEvent *dropEvent)
Definition: umlscene.cpp:898
const QColor & fillColor() const
Definition: umlscene.cpp:474
bool loadUisDiagramPresentation(QDomElement &qElement)
Definition: umlscene.cpp:4070
void removeAllWidgets()
Definition: umlscene.cpp:2338
void selectAssociations(bool bSelect)
Definition: umlscene.cpp:2293
void selectionSetFillColor(const QColor &color)
Definition: umlscene.cpp:1552
void toggleSnapToGrid()
Definition: umlscene.cpp:3510
UMLWidget * findWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1184
void setTextColor(const QColor &color)
Definition: umlscene.cpp:541
Uml::DiagramType::Enum type() const
Definition: umlscene.cpp:426
void setShowOpSig(bool bShowOpSig)
Definition: umlscene.cpp:3672
void resetToolbar()
Definition: umlscene.cpp:2941
bool isShowDocumentationIndicator() const
Definition: umlscene.cpp:3648
UMLWidgetList selectedWidgets() const
Definition: umlscene.cpp:1406
void createAutoAssociations(UMLWidget *widget)
Definition: umlscene.cpp:2412
Uml::DiagramType::Enum m_Type
The type of diagram to represent.
Definition: umlscene.h:345
void slotCutSuccessful()
Definition: umlscene.cpp:3369
void activateAfterLoad(bool bUseLog=false)
Definition: umlscene.cpp:2186
AssociationWidget * findAssocWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1213
bool m_bPaste
Definition: umlscene.h:392
void setFont(QFont font, bool changeAllWidgets=false)
Definition: umlscene.cpp:3427
void activate()
Definition: umlscene.cpp:1952
void addWidgetCmd(UMLWidget *widget)
Definition: umlscene.cpp:614
void unselectChildrenOfSelectedWidgets()
Definition: umlscene.cpp:1582
void getDiagram(QPixmap &diagram, const QRectF &rect)
Definition: umlscene.cpp:1876
void beginPartialWidgetPaste()
Definition: umlscene.cpp:2205
IDChangeLog * m_pIDChangesLog
LocalID Changes Log for paste actions.
Definition: umlscene.h:403
void alignLeft()
Definition: umlscene.cpp:4207
void setAutoIncrementSequence(bool state)
Definition: umlscene.cpp:377
void setType(Uml::DiagramType::Enum type)
Definition: umlscene.cpp:434
void removeAssocInViewAndDoc(AssociationWidget *assoc)
Definition: umlscene.cpp:2245
bool m_isOpen
Flag is set to true when diagram is open, i.e. shown to the user.
Definition: umlscene.h:352
void alignBottom()
Definition: umlscene.cpp:4260
void sigAssociationRemoved(AssociationWidget *)
void createAutoConstraintAssociation(UMLEntity *refEntity, UMLForeignKeyConstraint *fkConstraint, UMLWidget *widget)
Definition: umlscene.cpp:2781
void sigSnapToGridToggled(bool)
void setWidgetLink(WidgetBase *w)
Definition: umlscene.cpp:4404
virtual void drawBackground(QPainter *painter, const QRectF &rect)
Definition: umlscene.cpp:3728
QRectF diagramRect()
Definition: umlscene.cpp:1396
void selectWidget(UMLWidget *widget, QRectF *rect=0)
Definition: umlscene.cpp:1821
bool addAssociation(AssociationWidget *pAssoc, bool isPasteOperation=false)
Definition: umlscene.cpp:2095
void resizeSelection()
Definition: umlscene.cpp:1661
bool isComponentDiagram()
Definition: umlscene.h:322
void selectAll()
Definition: umlscene.cpp:1684
void setDocumentation(const QString &doc)
Definition: umlscene.cpp:364
const QColor & textColor() const
Definition: umlscene.cpp:531
const QColor & backgroundColor() const
Definition: umlscene.cpp:1370
int snapX() const
Definition: umlscene.cpp:3571
void updateContainment(UMLCanvasObject *self)
Definition: umlscene.cpp:2360
void findMaxBoundingRectangle(const FloatingTextWidget *ft, qreal &px, qreal &py, qreal &qx, qreal &qy)
Definition: umlscene.cpp:2844
void sigLineColorChanged(Uml::ID::Type)
void sigShowGridToggled(bool)
void setFillColor(const QColor &color)
Definition: umlscene.cpp:484
UMLWidgetList selectedWidgetsExt(bool filterText=true)
Definition: umlscene.cpp:2030
bool loadMessagesFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:3997
ObjectWidget * onWidgetLine(const QPointF &point) const
Definition: umlscene.cpp:1014
AssociationWidgetList selectedAssocs()
Definition: umlscene.cpp:2049
void clearDiagram()
Definition: umlscene.cpp:3486
void setSnapToGrid(bool bSnap)
Definition: umlscene.cpp:3544
void setGridDotColor(const QColor &color)
Definition: umlscene.cpp:562
UMLSceneItemList collisions(const QPointF &p, int delta=3)
Definition: umlscene.cpp:1727
QString name() const
Definition: umlscene.cpp:410
void moveSelectedBy(qreal dX, qreal dY)
Definition: umlscene.cpp:1469
void resizeSceneToItems()
Definition: umlscene.cpp:3690
const QColor & lineColor() const
Definition: umlscene.cpp:493
bool isClassDiagram()
Definition: umlscene.h:316
uint lineWidth() const
Definition: umlscene.cpp:512
bool isSnapGridVisible() const
Definition: umlscene.cpp:3631
void slotShowView()
Definition: umlscene.cpp:3380
void resetPastePoint()
Definition: umlscene.cpp:3402
const MessageWidgetList messageList() const
Definition: umlscene.cpp:629
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:949
void deleteSelection()
Definition: umlscene.cpp:1599
void setClassWidgetOptions(ClassOptionsPage *page)
Definition: umlscene.cpp:3441
bool m_bPopupShowing
Status of a popupmenu on view. True - a popup is on view.
Definition: umlscene.h:405
bool isCollaborationDiagram()
Definition: umlscene.h:319
QString documentation() const
Definition: umlscene.cpp:356
void sigGridColorChanged(Uml::ID::Type)
void sigWidgetRemoved(UMLWidget *)
Settings::OptionState m_Options
Options used by view.
Definition: umlscene.h:348
void setLineWidth(uint width)
Definition: umlscene.cpp:522
Uml::ID::Type m_nLocalID
Definition: umlscene.h:342
void slotObjectCreated(UMLObject *o)
Definition: umlscene.cpp:796
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:966
bool isOpen() const
Definition: umlscene.cpp:652
QPointF m_PastePoint
The offset at which to paste the clipboard.
Definition: umlscene.h:406
void setSnapSpacing(int x, int y)
Definition: umlscene.cpp:3587
void alignVerticalMiddle()
Definition: umlscene.cpp:4277
void dragEnterEvent(QGraphicsSceneDragDropEvent *enterEvent)
Definition: umlscene.cpp:848
void print(QPrinter *pPrinter, QPainter &pPainter)
Definition: umlscene.cpp:669
void showEvent(QShowEvent *se)
Definition: umlscene.cpp:761
bool loadWidgetsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:3950
bool m_bStartedCut
Flag if view/children started cut operation.
Definition: umlscene.h:393
QPointF pos() const
Definition: umlscene.cpp:458
QString autoIncrementSequenceValue()
Definition: umlscene.cpp:385
void setCreateObject(bool bCreate)
Definition: umlscene.cpp:753
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *mouseEvent)
Definition: umlscene.cpp:985
bool isStateDiagram()
Definition: umlscene.h:320
void slotToolBarChanged(int c)
Definition: umlscene.cpp:787
void alignTop()
Definition: umlscene.cpp:4242
bool isSavedInSeparateFile()
Definition: umlscene.cpp:1693
UMLDoc * m_doc
Pointer to the UMLDoc.
Definition: umlscene.h:407
UMLViewImageExporter * m_pImageExporter
Used to export the view.
Definition: umlscene.h:408
void applyLayout(const QString &actionText)
Definition: umlscene.cpp:3496
bool m_bUseSnapToGrid
Flag to use snap to grid. The default is off.
Definition: umlscene.h:350
void selectionSetFont(const QFont &font)
Definition: umlscene.cpp:1500
WidgetBase::WidgetType getUniqueSelectionType()
Definition: umlscene.cpp:3462
QString m_Documentation
The documentation of the diagram.
Definition: umlscene.h:347
QPointF m_pos
Definition: umlscene.h:389
WidgetBase * widgetLink()
Definition: umlscene.cpp:4409
void createAutoAttributeAssociation(UMLClassifier *type, UMLAttribute *attr, UMLWidget *widget)
Definition: umlscene.cpp:2670
QString m_Name
The name of the diagram.
Definition: umlscene.h:346
UMLWidget * getFirstMultiSelectedWidget() const
Definition: umlscene.cpp:1060
void slotActivate()
Definition: umlscene.cpp:1944
void toggleShowGrid()
Definition: umlscene.cpp:3528
bool getCreateObject() const
Definition: umlscene.cpp:745
bool showOpSig() const
Definition: umlscene.cpp:3664
void slotObjectRemoved(UMLObject *o)
Definition: umlscene.cpp:832
bool m_autoIncrementSequence
state of auto increment sequence
Definition: umlscene.h:410
int generateCollaborationId()
Definition: umlscene.cpp:643
virtual ~UMLScene()
Definition: umlscene.cpp:308
void setPaste(bool paste)
Definition: umlscene.cpp:2979
bool isEntityRelationshipDiagram()
Definition: umlscene.h:324
void createAutoAttributeAssociations2(UMLWidget *widget)
Definition: umlscene.cpp:2813
QPointF getPastePoint()
Definition: umlscene.cpp:3391
void sigFillColorChanged(Uml::ID::Type)
void fileLoaded()
Definition: umlscene.cpp:3681
void addObject(UMLObject *object)
Definition: umlscene.cpp:4061
bool useFillColor() const
Definition: umlscene.cpp:1378
void clearSelected()
Definition: umlscene.cpp:1456
virtual void saveToXMI1(QDomDocument &qDoc, QDomElement &qElement)
Definition: umlscene.cpp:3753
bool m_bUseSnapComponentSizeToGrid
Flag to use snap to grid for component size. The default is off.
Definition: umlscene.h:351
void alignHorizontalDistribute()
Definition: umlscene.cpp:4364
void slotMenuSelection(QAction *action)
Definition: umlscene.cpp:2988
AssociationWidget * associationAt(const QPointF &p)
Definition: umlscene.cpp:1090
void makeSelected(UMLWidget *uw)
Definition: umlscene.cpp:1740
int selectedCount(bool filterText=false) const
Definition: umlscene.cpp:2005
void removeAssociations(UMLWidget *pWidget)
Definition: umlscene.cpp:2279
void selectionSetVisualProperty(ClassifierWidget::VisualProperty property, bool value)
Definition: umlscene.cpp:1567
int m_nCollaborationId
Used for creating unique name of collaboration messages.
Definition: umlscene.h:388
UMLWidgetList selectedMessageWidgets() const
Definition: umlscene.cpp:1440
void selectionUseFillColor(bool useFC)
Definition: umlscene.cpp:1482
void setUseFillColor(bool ufc)
Definition: umlscene.cpp:1386
Settings::OptionState & optionState()
Definition: umlscene.cpp:571
bool m_isActivated
True if the view was activated after the serialization(load).
Definition: umlscene.h:404
UMLView * activeView() const
Definition: umlscene.cpp:348
bool loadAssociationsFromXMI(QDomElement &qElement)
Definition: umlscene.cpp:4024
void addFloatingTextWidget(FloatingTextWidget *pWidget)
Definition: umlscene.cpp:2063
void setName(const QString &name)
Definition: umlscene.cpp:418
UMLWidget * widgetAt(const QPointF &p)
Definition: umlscene.cpp:1074
void removeWidgetCmd(UMLWidget *o)
Definition: umlscene.cpp:1309
const UMLWidgetList widgetList() const
Definition: umlscene.cpp:603
bool isActivityDiagram()
Definition: umlscene.h:321
bool m_bCreateObject
Definition: umlscene.h:390
bool isSequenceDiagram()
Definition: umlscene.h:318
LayoutGrid * m_layoutGrid
layout grid in the background
Definition: umlscene.h:409
void alignVerticalDistribute()
Definition: umlscene.cpp:4333
void removeOwnedWidgets(UMLWidget *o)
Definition: umlscene.cpp:1355
void setID(Uml::ID::Type id)
Definition: umlscene.cpp:450
static const qreal defaultCanvasSize
The default size of a diagram in pixels.
Definition: umlscene.h:397
const QColor & gridDotColor() const
Definition: umlscene.cpp:552
void selectionSetLineColor(const QColor &color)
Definition: umlscene.cpp:1514
void updateComponentSizes()
Definition: umlscene.cpp:3699
void setSnapComponentSizeToGrid(bool bSnap)
Definition: umlscene.cpp:3561
Uml::ID::Type ID() const
Definition: umlscene.cpp:442
UMLWidget * loadWidgetFromXMI(QDomElement &widgetElement)
Definition: umlscene.cpp:3976
Definition: umlviewimageexportermodel.h:34
Definition: umlviewimageexporter.h:34
int x
Definition: cxx11-lambda-functions-and-expressions.h:4
Enum
Definition: basictypes.h:106
Enum
Definition: basictypes.h:77
@ Component
Definition: basictypes.h:87
@ Collaboration
Definition: basictypes.h:84
@ Activity
Definition: basictypes.h:86
@ State
Definition: basictypes.h:85
@ Object
Definition: basictypes.h:90
@ UseCase
Definition: basictypes.h:82
@ Sequence
Definition: basictypes.h:83
@ Class
Definition: basictypes.h:81
@ EntityRelationship
Definition: basictypes.h:89
@ Deployment
Definition: basictypes.h:88
std::string Type
Definition: basictypes.h:351
QString a
Definition: petalnode.cpp:18
QList< QGraphicsItem * > UMLSceneItemList
Definition: umlscene.h:58
QDebug operator<<(QDebug dbg, UMLScene *item)
Definition: umlscene.cpp:4395