umbrello  2.39.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
classifierlistpage.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2003-2022 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef CLASSIFIERLISTPAGE_H
7 #define CLASSIFIERLISTPAGE_H
8 
9 //app includes
10 #include "dialogpagebase.h"
12 #include "umlobject.h"
13 
14 class CodeTextEdit;
15 class UMLClassifier;
16 class UMLDoc;
17 class KTextEdit;
18 class QGroupBox;
19 class QHBoxLayout;
20 class QListWidget;
21 class QListWidgetItem;
22 class QPushButton;
23 class QToolButton;
24 class QVBoxLayout;
25 
35 {
36  Q_OBJECT
37 public:
38 
39  ClassifierListPage(QWidget* parent,
40  UMLClassifier* classifier, UMLDoc* doc, UMLObject::ObjectType type);
41  virtual ~ClassifierListPage();
42 
43  void apply();
44 
45 private:
46 
47  void setupPage();
48 
49  void setupListGroup(int margin);
50  void setupDocumentationGroup(int margin);
51  void setupMoveButtons(QHBoxLayout* parentLayout);
52  void setupActionButtons(const QString& itemType, QVBoxLayout* parentLayout);
53 
54  void enableWidgets(bool state);
55 
57 
59 
60  bool addToClassifier(UMLClassifierListItem* classifier, int position = -1);
61 
62  bool takeItem(UMLClassifierListItem* listItem,
63  bool seekPeerBefore, int &peerIndex);
64 
65  void deleteMenu();
66 
67  void printItemList(const QString &prologue);
68 
69  QGroupBox* m_docGB;
70  QGroupBox* m_pItemListGB;
71  KTextEdit* m_docTE;
73  QListWidget* m_pItemListLB;
74 
75  QToolButton* m_pTopArrowB;
76  QToolButton* m_pUpArrowB;
77  QToolButton* m_pDownArrowB;
78  QToolButton* m_pBottomArrowB;
79 
82 
83 protected:
84 
85  void reloadItemListBox();
86 
87  void hideArrowButtons(bool hide);
88 
92 
95  QPushButton* m_pPropertiesButton;
96 
98 
99 protected slots:
100 
101  void slotActivateItem(QListWidgetItem* item);
102 
103  void slotMenuSelection(QAction* action);
104 
105  void slotListItemCreated(UMLObject* object);
106  void slotListItemModified();
107  void slotRightButtonPressed(const QPoint& p);
108 
109  void slotDoubleClick(QListWidgetItem* item);
110 
111  void slotTopClicked();
112  void slotUpClicked();
113  void slotDownClicked();
114  void slotBottomClicked();
115 
116  void slotNewListItem();
117 
118  void slotDelete();
119 
120  void slotProperties();
121 };
122 
123 #endif
A dialog page to display classifier properties.
Definition: classifierlistpage.h:35
QPushButton * m_pNewClassifierListItemButton
Definition: classifierlistpage.h:93
void apply()
Definition: classifierlistpage.cpp:377
UMLObject::ObjectType m_itemType
Definition: classifierlistpage.h:89
void setupPage()
Definition: classifierlistpage.cpp:69
void setupMoveButtons(QHBoxLayout *parentLayout)
Definition: classifierlistpage.cpp:168
bool addToClassifier(UMLClassifierListItem *classifier, int position=-1)
Definition: classifierlistpage.cpp:795
void slotTopClicked()
Definition: classifierlistpage.cpp:540
QToolButton * m_pDownArrowB
Definition: classifierlistpage.h:77
UMLClassifierListItem * m_pOldListItem
Definition: classifierlistpage.h:81
QPushButton * m_pDeleteListItemButton
Definition: classifierlistpage.h:94
void setupListGroup(int margin)
Definition: classifierlistpage.cpp:105
QListWidget * m_pItemListLB
Definition: classifierlistpage.h:73
void slotProperties()
Definition: classifierlistpage.cpp:739
ClassifierListPage(QWidget *parent, UMLClassifier *classifier, UMLDoc *doc, UMLObject::ObjectType type)
Definition: classifierlistpage.cpp:47
void saveCurrentItemDocumentation()
Definition: classifierlistpage.cpp:762
void slotRightButtonPressed(const QPoint &p)
Definition: classifierlistpage.cpp:430
QToolButton * m_pBottomArrowB
Definition: classifierlistpage.h:78
void slotNewListItem()
Definition: classifierlistpage.cpp:748
void slotDoubleClick(QListWidgetItem *item)
Definition: classifierlistpage.cpp:685
virtual ~ClassifierListPage()
Definition: classifierlistpage.cpp:62
UMLDoc * m_doc
Definition: classifierlistpage.h:80
QPushButton * m_pPropertiesButton
Definition: classifierlistpage.h:95
void slotDownClicked()
Definition: classifierlistpage.cpp:613
KTextEdit * m_docTE
Definition: classifierlistpage.h:71
void enableWidgets(bool state)
Definition: classifierlistpage.cpp:261
QToolButton * m_pTopArrowB
Definition: classifierlistpage.h:75
void printItemList(const QString &prologue)
Definition: classifierlistpage.cpp:521
void slotListItemCreated(UMLObject *object)
Definition: classifierlistpage.cpp:384
virtual UMLClassifierListItemList getItemList()
Definition: classifierlistpage.cpp:783
bool m_bSigWaiting
Definition: classifierlistpage.h:97
void slotActivateItem(QListWidgetItem *item)
Definition: classifierlistpage.cpp:317
void reloadItemListBox()
Definition: classifierlistpage.cpp:242
void slotListItemModified()
Definition: classifierlistpage.cpp:416
UMLClassifier * m_pClassifier
Definition: classifierlistpage.h:90
void hideArrowButtons(bool hide)
Definition: classifierlistpage.cpp:912
UMLClassifierListItem * m_pLastObjectCreated
Definition: classifierlistpage.h:91
void slotUpClicked()
Definition: classifierlistpage.cpp:575
void slotDelete()
Definition: classifierlistpage.cpp:717
QToolButton * m_pUpArrowB
Definition: classifierlistpage.h:76
void setupDocumentationGroup(int margin)
Definition: classifierlistpage.cpp:219
void slotMenuSelection(QAction *action)
Definition: classifierlistpage.cpp:475
bool takeItem(UMLClassifierListItem *listItem, bool seekPeerBefore, int &peerIndex)
Definition: classifierlistpage.cpp:879
CodeTextEdit * m_pCodeTE
Definition: classifierlistpage.h:72
QGroupBox * m_docGB
Definition: classifierlistpage.h:69
QGroupBox * m_pItemListGB
Definition: classifierlistpage.h:70
void setupActionButtons(const QString &itemType, QVBoxLayout *parentLayout)
Definition: classifierlistpage.cpp:203
void slotBottomClicked()
Definition: classifierlistpage.cpp:650
Definition: codetextedit.h:26
Definition: dialogpagebase.h:20
Definition: umlclassifierlistitemlist.h:22
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:63
The base class for UML objects.
Definition: umlobject.h:70
ObjectType
Definition: umlobject.h:76