umbrello  2.35.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
umllistviewitem.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2002-2022 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef UMLLISTVIEWITEM_H
7 #define UMLLISTVIEWITEM_H
8 
9 #include "basictypes.h"
10 #include "icon_utils.h"
11 
12 #include <QDomDocument>
13 #include <QDomElement>
14 #include <QHash>
15 #include <QPointer>
16 #include <QTreeWidget>
17 #include <QXmlStreamWriter>
18 
19 // forward declarations
20 class UMLListView;
21 class UMLObject;
23 
24 typedef QTreeWidgetItemIterator UMLListViewItemIterator;
25 
35 class UMLListViewItem : public QTreeWidgetItem
36 {
37 public:
39  {
40  //the values in this enum are saved out to the file
41  //for file compatibility, only add new values to the end
42  lvt_Min = 799,
43  lvt_View = 800,
66  lvt_Diagrams, // currently unused
102  // enter new values above
105  };
106 
107  static QString toString(ListViewType type);
108 
109  UMLListViewItem(UMLListView * parent, const QString &name, ListViewType t, UMLObject* o = 0);
110  explicit UMLListViewItem(UMLListView * parent);
111  explicit UMLListViewItem(UMLListViewItem * parent);
112  UMLListViewItem(UMLListViewItem * parent, const QString &name, ListViewType t, UMLObject* o = 0);
113  UMLListViewItem(UMLListViewItem * parent, const QString &name, ListViewType t, Uml::ID::Type id);
114 
115  ListViewType type() const;
116 
117  void setID(Uml::ID::Type id);
118  Uml::ID::Type ID() const;
119 
120  void setUMLObject(UMLObject * obj);
121  UMLObject * umlObject() const;
122 
123  bool isOwnParent(Uml::ID::Type listViewItemID);
124 
125  void updateObject();
126  void updateFolder();
127 
128  void setText(int column, const QString &text);
129  void setText(const QString &text);
130  QString getSavedText() const;
131  void setVisible(bool state);
132 
133  QString toolTip() const;
134 
135  void setIcon(Icon_Utils::IconType iconType);
136 
138 
139  void deleteChildItem(UMLObject *child);
140  static void deleteItem(UMLListViewItem *childItem);
141 
142  //virtual int compare(UMLListViewItem *other, int col, bool ascending) const;
143 
145 
149 
150  UMLListViewItem* childItem(int i);
151 
152  void saveToXMI(QXmlStreamWriter& writer);
153  bool loadFromXMI(QDomElement& qElement);
154 
155  bool isOpen() const { return isExpanded(); }
156  void setOpen(bool state);
157 
158 public slots:
159  void slotEditFinished(const QString &newText);
160 
161 protected:
162  void init();
163 
164  void cancelRenameWithMsg();
165 
167 
174  typedef QHash<const UMLObject*, UMLListViewItem*> ChildObjectMap;
175 
178  QPointer<UMLObject> m_object;
179  QString m_label;
180  static ChildObjectMap *s_comap;
181 
182 };
183 
184 QDebug operator<<(QDebug dbg, const UMLListViewItem& item);
185 
186 #endif
UMLListViewItem * childItem(int i)
Definition: umllistviewitem.cpp:1007
void setText(int column, const QString &text)
Definition: umllistviewitem.cpp:473
Definition: umllistviewitem.h:92
UMLListViewItem * deepCopy(UMLListViewItem *newParent)
Definition: umllistviewitem.cpp:838
Definition: umllistviewitem.h:45
Items used by UMLListView.
Definition: umllistviewitem.h:35
Definition: umllistviewitem.h:77
Definition: umllistviewitem.h:86
void setOpen(bool state)
Definition: umllistviewitem.cpp:456
Definition: umllistviewitem.h:61
UMLObject * umlObject() const
Definition: umllistviewitem.cpp:329
Uml::ID::Type m_id
Definition: umllistviewitem.h:177
Definition: umllistviewitem.h:78
QString m_label
Definition: umllistviewitem.h:179
Definition: umllistviewitem.h:81
Definition: umllistviewitem.h:96
void deleteChildItem(UMLObject *child)
Definition: umllistviewitem.cpp:249
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:24
void updateFolder()
Definition: umllistviewitem.cpp:440
Definition: umllistviewitem.h:73
Definition: umllistviewitem.h:47
Definition: umllistviewitem.h:60
bool isOwnParent(Uml::ID::Type listViewItemID)
Definition: umllistviewitem.cpp:338
Definition: umllistviewitem.h:80
Definition: umllistviewitem.h:71
Definition: umllistviewitem.h:70
QTreeWidgetItemIterator UMLListViewItemIterator
Definition: umllistviewitem.h:22
Definition: umllistviewitem.h:98
Definition: umllistviewitem.h:104
void slotEditFinished(const QString &newText)
Definition: umllistviewitem.cpp:501
UMLListViewItem * findUMLObject(const UMLObject *o)
Definition: umllistviewitem.cpp:862
Definition: umllistviewitem.h:67
void saveToXMI(QXmlStreamWriter &writer)
Definition: umllistviewitem.cpp:940
Definition: umllistviewitem.h:49
Definition: umllistviewitem.h:55
Definition: umllistviewitem.h:97
Definition: umllistviewitem.h:50
Definition: umllistviewitem.h:53
Definition: umllistviewitem.h:101
Definition: umllistviewitem.h:59
Definition: umllistviewitem.h:57
Definition: umllistviewitem.h:54
Definition: umllistviewitem.h:85
Definition: umllistviewitem.h:90
Definition: umllistviewitem.h:74
QString toolTip() const
Definition: umllistviewitem.cpp:196
UMLListViewItem(UMLListView *parent, const QString &name, ListViewType t, UMLObject *o=0)
Definition: umllistviewitem.cpp:58
Uml::ID::Type ID() const
Definition: umllistviewitem.cpp:288
The base class for UML objects.
Definition: umlobject.h:69
static ChildObjectMap * s_comap
Definition: umllistviewitem.h:180
void addChildItem(UMLObject *child, UMLListViewItem *childItem)
Definition: umllistviewitem.cpp:237
void setUMLObject(UMLObject *obj)
Definition: umllistviewitem.cpp:319
Definition: umllistviewitem.h:46
Displays the list view for the program.
Definition: umllistview.h:42
ListViewType type() const
Definition: umllistviewitem.cpp:227
Definition: umllistviewitem.h:88
Definition: umllistviewitem.h:42
Definition: umllistviewitem.h:75
Definition: umllistviewitem.h:93
Definition: umllistviewitem.h:76
Definition: umllistviewitem.h:68
Definition: umllistviewitem.h:48
UMLListViewItem * findUMLObject_r(const UMLObject *o)
Definition: umllistviewitem.cpp:882
static QString toString(ListViewType type)
Definition: umllistviewitem.cpp:1012
QString getSavedText() const
Definition: umllistviewitem.cpp:482
void setID(Uml::ID::Type id)
Definition: umllistviewitem.cpp:302
Definition: umllistviewitem.h:58
Definition: umllistviewitem.h:99
Definition: umllistviewitem.h:83
QDebug operator<<(QDebug dbg, const UMLListViewItem &item)
Definition: umllistviewitem.cpp:1127
Definition: umllistviewitem.h:65
Definition: umllistviewitem.h:94
Definition: umllistviewitem.h:44
void cancelRenameWithMsg()
Definition: umllistviewitem.cpp:729
Definition: umllistviewitem.h:64
std::string Type
Definition: basictypes.h:371
bool isOpen() const
Definition: umllistviewitem.h:155
Definition: umllistviewitem.h:43
Definition: umllistviewitem.h:66
Definition: umllistviewitem.h:72
Definition: umllistviewitem.h:79
Definition: umllistviewitem.h:69
Definition: umllistviewitem.h:51
void updateObject()
Definition: umllistviewitem.cpp:357
Definition: umllistviewitem.h:87
Definition: umllistviewitem.h:82
ListViewType m_type
Definition: umllistviewitem.h:176
Definition: umllistviewitem.h:91
Definition: umllistviewitem.h:103
Definition: umllistviewitem.h:84
UMLListViewItem * findItem(Uml::ID::Type id)
Definition: umllistviewitem.cpp:922
Definition: umllistviewitem.h:56
bool loadFromXMI(QDomElement &qElement)
Definition: umllistviewitem.cpp:982
QHash< const UMLObject *, UMLListViewItem * > ChildObjectMap
Definition: umllistviewitem.h:174
Definition: umllistviewitem.h:63
Definition: umllistviewitem.h:52
void setIcon(Icon_Utils::IconType iconType)
Definition: umllistviewitem.cpp:490
ListViewType
Definition: umllistviewitem.h:38
IconType
Definition: icon_utils.h:29
QString newText(UMLObject::ObjectType type)
Definition: model_utils.cpp:648
UMLListViewItem * findChildObject(const UMLObject *child)
Definition: umllistviewitem.cpp:905
QPointer< UMLObject > m_object
Definition: umllistviewitem.h:178
void init()
Definition: umllistviewitem.cpp:183
void setVisible(bool state)
Definition: umllistviewitem.cpp:278
static void deleteItem(UMLListViewItem *childItem)
Definition: umllistviewitem.cpp:268
Definition: umllistviewitem.h:89
Definition: umllistviewitem.h:95
Definition: umllistviewitem.h:62
Definition: umllistviewitem.h:100