umbrello  2.31.70
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  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2002-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #ifndef UMLLISTVIEWITEM_H
12 #define UMLLISTVIEWITEM_H
13 
14 #include "basictypes.h"
15 #include "icon_utils.h"
16 
17 #include <QDomDocument>
18 #include <QDomElement>
19 #include <QMap>
20 #include <QPointer>
21 #include <QTreeWidget>
22 
23 // forward declarations
24 class UMLListView;
25 class UMLObject;
27 
28 typedef QTreeWidgetItemIterator UMLListViewItemIterator;
29 
39 class UMLListViewItem : public QTreeWidgetItem
40 {
41 public:
43  {
44  //the values in this enum are saved out to the file
45  //for file compatibility, only add new values to the end
46  lvt_Min = 799,
47  lvt_View = 800,
70  lvt_Diagrams, // currently unused
106  // enter new values above
109  };
110 
111  static QString toString(ListViewType type);
112 
113  UMLListViewItem(UMLListView * parent, const QString &name, ListViewType t, UMLObject* o = 0);
114  explicit UMLListViewItem(UMLListView * parent);
115  explicit UMLListViewItem(UMLListViewItem * parent);
116  UMLListViewItem(UMLListViewItem * parent, const QString &name, ListViewType t, UMLObject* o = 0);
117  UMLListViewItem(UMLListViewItem * parent, const QString &name, ListViewType t, Uml::ID::Type id);
119 
120  ListViewType type() const;
121 
122  void setID(Uml::ID::Type id);
123  Uml::ID::Type ID() const;
124 
125  void setUMLObject(UMLObject * obj);
126  UMLObject * umlObject() const;
127 
128  bool isOwnParent(Uml::ID::Type listViewItemID);
129 
130  void updateObject();
131  void updateFolder();
132 
133  void setText(int column, const QString &text);
134  void setText(const QString &text);
135  QString getSavedText() const;
136  void setVisible(bool state);
137 
138  QString toolTip();
139 
140  void setIcon(Icon_Utils::IconType iconType);
141 
143 
145 
146  //virtual int compare(UMLListViewItem *other, int col, bool ascending) const;
147 
149 
153 
154  UMLListViewItem* childItem(int i);
155 
156  void saveToXMI1(QDomDocument& qDoc, QDomElement& qElement);
157  bool loadFromXMI1(QDomElement& qElement);
158 
159  bool isOpen() { return isExpanded(); }
160  void setOpen(bool state);
161 
162 public slots:
163  void slotEditFinished(const QString &newText);
164 
165 protected:
166  void init();
167 
168  void cancelRenameWithMsg();
169 
176  typedef QMap<UMLClassifierListItem*, UMLListViewItem*> ChildObjectMap;
177 
180  QPointer<UMLObject> m_object;
181  QString m_label;
182  ChildObjectMap m_comap;
183 
184 };
185 
186 QDebug operator<<(QDebug dbg, const UMLListViewItem& item);
187 
188 #endif
UMLListViewItem * childItem(int i)
Definition: umllistviewitem.cpp:959
void setText(int column, const QString &text)
Definition: umllistviewitem.cpp:451
Definition: umllistviewitem.h:96
UMLListViewItem * deepCopy(UMLListViewItem *newParent)
Definition: umllistviewitem.cpp:815
Definition: umllistviewitem.h:49
Items used by UMLListView.
Definition: umllistviewitem.h:39
Definition: umllistviewitem.h:81
Definition: umllistviewitem.h:90
void setOpen(bool state)
Definition: umllistviewitem.cpp:434
Definition: umllistviewitem.h:65
Uml::ID::Type m_id
Definition: umllistviewitem.h:179
Definition: umllistviewitem.h:82
QString m_label
Definition: umllistviewitem.h:181
Definition: umllistviewitem.h:85
Definition: umllistviewitem.h:100
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:29
void updateFolder()
Definition: umllistviewitem.cpp:418
QMap< UMLClassifierListItem *, UMLListViewItem * > ChildObjectMap
Definition: umllistviewitem.h:176
ListViewType type() const
Definition: umllistviewitem.cpp:234
Definition: umllistviewitem.h:77
Definition: umllistviewitem.h:51
Definition: umllistviewitem.h:64
bool isOwnParent(Uml::ID::Type listViewItemID)
Definition: umllistviewitem.cpp:321
Definition: umllistviewitem.h:84
Definition: umllistviewitem.h:75
Definition: umllistviewitem.h:74
QTreeWidgetItemIterator UMLListViewItemIterator
Definition: umllistviewitem.h:26
Definition: umllistviewitem.h:102
Definition: umllistviewitem.h:108
void slotEditFinished(const QString &newText)
Definition: umllistviewitem.cpp:479
UMLListViewItem * findUMLObject(const UMLObject *o)
Definition: umllistviewitem.cpp:837
Definition: umllistviewitem.h:71
QString toolTip()
Definition: umllistviewitem.cpp:203
Definition: umllistviewitem.h:53
Definition: umllistviewitem.h:59
Definition: umllistviewitem.h:101
Definition: umllistviewitem.h:54
Definition: umllistviewitem.h:57
Definition: umllistviewitem.h:63
Definition: umllistviewitem.h:61
Definition: umllistviewitem.h:58
Definition: umllistviewitem.h:89
Definition: umllistviewitem.h:94
Definition: umllistviewitem.h:78
void deleteChildItem(UMLClassifierListItem *child)
Definition: umllistviewitem.cpp:250
UMLListViewItem(UMLListView *parent, const QString &name, ListViewType t, UMLObject *o=0)
Definition: umllistviewitem.cpp:58
The base class for UML objects.
Definition: umlobject.h:73
void setUMLObject(UMLObject *obj)
Definition: umllistviewitem.cpp:302
Definition: umllistviewitem.h:50
Displays the list view for the program.
Definition: umllistview.h:46
Definition: umllistviewitem.h:92
Definition: umllistviewitem.h:46
Definition: umllistviewitem.h:79
Definition: umllistviewitem.h:97
QString getSavedText() const
Definition: umllistviewitem.cpp:460
Definition: umllistviewitem.h:105
Definition: umllistviewitem.h:80
Definition: umllistviewitem.h:72
Definition: umllistviewitem.h:52
static QString toString(ListViewType type)
Definition: umllistviewitem.cpp:964
Uml::ID::Type ID() const
Definition: umllistviewitem.cpp:271
void setID(Uml::ID::Type id)
Definition: umllistviewitem.cpp:285
Definition: umllistviewitem.h:62
Definition: umllistviewitem.h:103
ChildObjectMap m_comap
Definition: umllistviewitem.h:182
Definition: umllistviewitem.h:87
QDebug operator<<(QDebug dbg, const UMLListViewItem &item)
Definition: umllistviewitem.cpp:1079
Definition: umllistviewitem.h:69
Definition: umllistviewitem.h:98
~UMLListViewItem()
Definition: umllistviewitem.cpp:185
bool isOpen()
Definition: umllistviewitem.h:159
Definition: umllistviewitem.h:48
void cancelRenameWithMsg()
Definition: umllistviewitem.cpp:707
Definition: umllistviewitem.h:68
std::string Type
Definition: basictypes.h:351
UMLObject * umlObject() const
Definition: umllistviewitem.cpp:312
Definition: umllistviewitem.h:47
Definition: umllistviewitem.h:70
Definition: umllistviewitem.h:76
Definition: umllistviewitem.h:83
Definition: umllistviewitem.h:73
Definition: umllistviewitem.h:55
void updateObject()
Definition: umllistviewitem.cpp:339
Definition: umllistviewitem.h:91
Definition: umllistviewitem.h:86
ListViewType m_type
Definition: umllistviewitem.h:178
Definition: umllistviewitem.h:95
Definition: umllistviewitem.h:107
void addClassifierListItem(UMLClassifierListItem *child, UMLListViewItem *childItem)
Definition: umllistviewitem.cpp:242
Definition: umllistviewitem.h:88
UMLListViewItem * findItem(Uml::ID::Type id)
Definition: umllistviewitem.cpp:873
UMLListViewItem * findChildObject(UMLClassifierListItem *cli)
Definition: umllistviewitem.cpp:856
Definition: umllistviewitem.h:60
Definition: umllistviewitem.h:67
Definition: umllistviewitem.h:56
void setIcon(Icon_Utils::IconType iconType)
Definition: umllistviewitem.cpp:468
ListViewType
Definition: umllistviewitem.h:42
IconType
Definition: icon_utils.h:46
void saveToXMI1(QDomDocument &qDoc, QDomElement &qElement)
Definition: umllistviewitem.cpp:891
QString newText(UMLObject::ObjectType type)
Definition: model_utils.cpp:620
QPointer< UMLObject > m_object
Definition: umllistviewitem.h:180
void init()
Definition: umllistviewitem.cpp:192
void setVisible(bool state)
Definition: umllistviewitem.cpp:261
bool loadFromXMI1(QDomElement &qElement)
Definition: umllistviewitem.cpp:934
Definition: umllistviewitem.h:93
Definition: umllistviewitem.h:99
Definition: umllistviewitem.h:66
Definition: umllistviewitem.h:104