umbrello 2.32.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
umllistview.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2002-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef UMLLISTVIEW_H
7#define UMLLISTVIEW_H
8
9#include "basictypes.h"
10#include "umllistviewitem.h"
11#include "umllistviewitemlist.h"
12#include "icon_utils.h"
13#include "umlobject.h"
14
15#include <QDomDocument>
16#include <QDomElement>
17#include <QTreeWidget>
18#include <QTreeWidgetItem>
19#include <QXmlStreamWriter>
20
21class QEvent;
22class QMouseEvent;
23class QFocusEvent;
24class QKeyEvent;
25class QDropEvent;
26class UMLClassifier;
27class UMLDoc;
28class UMLView;
30class UMLDragData;
31
42class UMLListView : public QTreeWidget
43{
44 Q_OBJECT
45public:
46 explicit UMLListView(QWidget *parent = 0);
48
49 void setDocument(UMLDoc * doc);
50 UMLDoc * document() const;
51
52 void init();
53 void clean();
54
55 void setView(UMLView* view);
56
57 void setTitle(int column, const QString &text);
58
62
64
66
68
71
73
75
76 UMLListViewItem * findUMLObject(const UMLObject *p) const;
79
81
83
84 bool isUnique(UMLListViewItem * item, const QString &name);
85
86 void setStartedCut(bool startedCut);
87 void setStartedCopy(bool startedCopy);
88 bool startedCopy() const;
89
91 UMLListViewItem *newParent);
92
94
101
103
104 void saveToXMI1(QXmlStreamWriter& writer);
105 bool loadFromXMI1(QDomElement & element);
106 bool loadChildrenFromXMI(UMLListViewItem * parent, QDomElement & element);
107
108 friend QDebug operator<<(QDebug out, const UMLListView& view);
109
110protected:
111 bool event(QEvent *e);
112 void mouseReleaseEvent(QMouseEvent *me);
113 void mousePressEvent(QMouseEvent *me);
114 void mouseMoveEvent(QMouseEvent *me);
115 void mouseDoubleClickEvent(QMouseEvent *me);
116 void focusOutEvent (QFocusEvent *fe);
117 void contextMenuEvent(QContextMenuEvent *event);
119
120 bool acceptDrag(QDropEvent* event) const;
121 void keyPressEvent(QKeyEvent* ke);
122 void dragEnterEvent(QDragEnterEvent* event);
123 void dragMoveEvent(QDragMoveEvent* event);
124 void dropEvent(QDropEvent* event);
125 void commitData(QWidget *editor);
126
128
130
131 void deleteChildrenOf(UMLListViewItem *parent);
132
133 bool deleteItem(UMLListViewItem *temp);
134
136
138
139public slots:
143 void slotObjectCreated(UMLObject* object);
144 void slotObjectRemoved(UMLObject* object);
145
146 void connectNewObjectsSlots(UMLObject* object);
147
150
151 void slotObjectChanged();
152
153 void slotMenuSelection(QAction* action, const QPoint &position = QPoint());
154
155 void slotDropped(QDropEvent* de, UMLListViewItem* target);
156
157 void expandAll(UMLListViewItem *item);
158 void collapseAll(UMLListViewItem *item);
159
160 void slotCutSuccessful();
162
163protected slots:
165 void slotExpanded(QTreeWidgetItem* item);
166 void slotCollapsed(QTreeWidgetItem* item);
167
168private:
171
172 void setBackgroundColor(const QColor & color);
173
183 QMimeData* m_dragCopyData;
184 QList<QTreeWidgetItem*> m_findItems;
185};
186
187#endif
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:25
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
Definition: umldoc.h:70
Definition: umldragdata.h:33
Items used by UMLListView.
Definition: umllistviewitem.h:36
ListViewType
Definition: umllistviewitem.h:39
Displays the list view for the program.
Definition: umllistview.h:43
void setDocument(UMLDoc *doc)
Definition: umllistview.cpp:1212
void slotDropped(QDropEvent *de, UMLListViewItem *target)
Definition: umllistview.cpp:1931
void slotExpanded(QTreeWidgetItem *item)
Definition: umllistview.cpp:2175
void setBackgroundColor(const QColor &color)
Definition: umllistview.cpp:2929
void dragEnterEvent(QDragEnterEvent *event)
Definition: umllistview.cpp:2859
UMLListViewItem * findView(UMLView *v)
Definition: umllistview.cpp:1349
bool loadFromXMI1(QDomElement &element)
Definition: umllistview.cpp:2446
UMLDoc * document() const
Definition: umllistview.cpp:2089
void slotCutSuccessful()
Definition: umllistview.cpp:2202
void init()
Definition: umllistview.cpp:1430
UMLListViewItem * moveObject(Uml::ID::Type srcId, UMLListViewItem::ListViewType srcType, UMLListViewItem *newParent)
Definition: umllistview.cpp:1641
void slotItemSelectionChanged()
Definition: umllistview.cpp:163
UMLListViewItem * theDeploymentView()
Definition: umllistview.h:99
UMLListViewItem * theUseCaseView()
Definition: umllistview.h:97
UMLListViewItem * m_settingsFolder
settings root
Definition: umllistview.h:177
void slotObjectRemoved(UMLObject *object)
Definition: umllistview.cpp:1230
void slotDiagramRemoved(Uml::ID::Type id)
Definition: umllistview.cpp:1245
void addNewItem(UMLListViewItem *parent, UMLListViewItem::ListViewType type)
Definition: umllistview.cpp:2228
void dropEvent(QDropEvent *event)
Definition: umllistview.cpp:2881
UMLListViewItem * findFolderForDiagram(Uml::DiagramType::Enum dt)
Definition: umllistview.cpp:821
void slotDiagramRenamed(Uml::ID::Type id)
Definition: umllistview.cpp:1195
static bool mayHaveChildItems(UMLObject::ObjectType type)
Definition: umllistview.cpp:938
bool loadChildrenFromXMI(UMLListViewItem *parent, QDomElement &element)
Definition: umllistview.cpp:2473
bool m_bStartedCopy
Definition: umllistview.h:180
void mousePressEvent(QMouseEvent *me)
Definition: umllistview.cpp:205
bool deleteItem(UMLListViewItem *temp)
Definition: umllistview.cpp:2797
UMLListViewItemList selectedItemsRoot()
Definition: umllistview.cpp:1985
bool event(QEvent *e)
Definition: umllistview.cpp:185
static bool isExpandable(UMLListViewItem::ListViewType lvt)
Definition: umllistview.cpp:2156
void keyPressEvent(QKeyEvent *ke)
Definition: umllistview.cpp:306
UMLListViewItem * createDiagramItem(UMLView *view)
Definition: umllistview.cpp:2011
bool acceptDrag(QDropEvent *event) const
Definition: umllistview.cpp:1543
void contextMenuEvent(QContextMenuEvent *event)
Definition: umllistview.cpp:2110
void focusOutEvent(QFocusEvent *fe)
Definition: umllistview.cpp:2098
UMLListViewItem * theLogicalView()
Definition: umllistview.h:96
void slotDeleteSelectedItems()
Definition: umllistview.cpp:2215
void slotCollapsed(QTreeWidgetItem *item)
Definition: umllistview.cpp:2188
bool startedCopy() const
Definition: umllistview.cpp:2727
UMLListViewItem * recursiveSearchForView(UMLListViewItem *folder, UMLListViewItem::ListViewType type, Uml::ID::Type id)
Definition: umllistview.cpp:1389
void deleteChildrenOf(UMLListViewItem *parent)
Definition: umllistview.cpp:2771
UMLListViewItem * findItem(Uml::ID::Type id)
Definition: umllistview.cpp:1415
UMLListViewItem * m_datatypeFolder
Definition: umllistview.h:176
void setView(UMLView *view)
Definition: umllistview.cpp:1495
bool m_bCreatingChildObject
when creating an attribute or an operation to stop it adding a second listViewItem
Definition: umllistview.h:181
~UMLListView()
Definition: umllistview.cpp:142
void childObjectAdded(UMLClassifierListItem *child, UMLClassifier *parent)
Definition: umllistview.cpp:1147
void connectNewObjectsSlots(UMLObject *object)
Definition: umllistview.cpp:1032
UMLListViewItem * findUMLObjectInFolder(UMLListViewItem *folder, UMLObject *obj)
Definition: umllistview.cpp:1280
void commitData(QWidget *editor)
Definition: umllistview.cpp:2897
UMLListViewItem * theRootView()
Definition: umllistview.h:95
void expandAll(UMLListViewItem *item)
Definition: umllistview.cpp:2683
void childObjectRemoved(UMLClassifierListItem *obj)
Definition: umllistview.cpp:1180
UMLListViewItemList selectedItems()
Definition: umllistview.cpp:1965
void clean()
Definition: umllistview.cpp:1482
UMLListViewItem::ListViewType rootViewType(UMLListViewItem *item)
Definition: umllistview.cpp:2133
void mouseDoubleClickEvent(QMouseEvent *me)
Definition: umllistview.cpp:1507
bool createItem(UMLListViewItem *item)
UMLListViewItem * theComponentView()
Definition: umllistview.h:98
void dragMoveEvent(QDragMoveEvent *event)
Definition: umllistview.cpp:2867
UMLListViewItem * determineParentItem(UMLObject *object) const
Definition: umllistview.cpp:880
UMLDoc * m_doc
Definition: umllistview.h:178
void slotObjectCreated(UMLObject *object)
Definition: umllistview.cpp:961
friend QDebug operator<<(QDebug out, const UMLListView &view)
Definition: umllistview.cpp:2939
UMLDragData * getDragData()
Definition: umllistview.cpp:1255
bool isUnique(UMLListViewItem *item, const QString &name)
Definition: umllistview.cpp:2326
QPoint m_dragStartPosition
Definition: umllistview.h:182
void setStartedCopy(bool startedCopy)
Definition: umllistview.cpp:2719
void setStartedCut(bool startedCut)
Definition: umllistview.cpp:2709
UMLListViewItem * m_rv
root view (home)
Definition: umllistview.h:174
UMLListView(QWidget *parent=0)
Definition: umllistview.cpp:97
QMimeData * m_dragCopyData
Definition: umllistview.h:183
void saveToXMI1(QXmlStreamWriter &writer)
Definition: umllistview.cpp:2436
void addAtContainer(UMLListViewItem *item, UMLListViewItem *parent)
Definition: umllistview.cpp:1612
UMLListViewItem * m_lv[Uml::ModelType::N_MODELTYPES]
predefined list view roots
Definition: umllistview.h:175
void closeDatatypesFolder()
Definition: umllistview.cpp:2787
QList< QTreeWidgetItem * > m_findItems
Definition: umllistview.h:184
UMLListViewItem * theDatatypeFolder()
Definition: umllistview.h:100
void slotObjectChanged()
Definition: umllistview.cpp:1119
void setTitle(int column, const QString &text)
Definition: umllistview.cpp:155
UMLListViewItem * rootView(UMLListViewItem::ListViewType type)
Definition: umllistview.cpp:2736
void mouseReleaseEvent(QMouseEvent *me)
Definition: umllistview.cpp:282
void slotDiagramCreated(Uml::ID::Type id)
Definition: umllistview.cpp:852
void slotMenuSelection(QAction *action, const QPoint &position=QPoint())
Definition: umllistview.cpp:326
void collapseAll(UMLListViewItem *item)
Definition: umllistview.cpp:2695
int selectedItemsCount()
Definition: umllistview.cpp:2080
void changeIconOf(UMLObject *o, Icon_Utils::IconType to)
Definition: umllistview.cpp:1337
bool m_bStartedCut
Definition: umllistview.h:179
UMLListViewItem * findUMLObject(const UMLObject *p) const
Definition: umllistview.cpp:1325
void mouseMoveEvent(QMouseEvent *me)
Definition: umllistview.cpp:248
The base class for UML objects.
Definition: umlobject.h:70
ObjectType
Definition: umlobject.h:76
Definition: umlview.h:30
std::vector< std::string > v
Definition: cxx11-initializer-lists.h:19
IconType
Definition: icon_utils.h:33
Enum
Definition: basictypes.h:63
std::string Type
Definition: basictypes.h:371
@ N_MODELTYPES
Definition: basictypes.h:33
@ Logical
Definition: basictypes.h:28
@ UseCase
Definition: basictypes.h:29
@ Deployment
Definition: basictypes.h:31
@ Component
Definition: basictypes.h:30
QList< UMLListViewItem * > UMLListViewItemList
Definition: umllistviewitemlist.h:12