umbrello 25.04.1
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
14class CodeTextEdit;
15class UMLClassifier;
16class UMLDoc;
17class QTextEdit;
18class QGroupBox;
19class QHBoxLayout;
20class QListWidget;
21class QListWidgetItem;
22class QPushButton;
23class QToolButton;
24class QVBoxLayout;
25
35{
36 Q_OBJECT
37public:
38
39 ClassifierListPage(QWidget* parent,
40 UMLClassifier* classifier, UMLDoc* doc, UMLObject::ObjectType type);
41 virtual ~ClassifierListPage();
42
43 void apply();
44
45private:
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 QTextEdit* 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
83protected:
84
85 void reloadItemListBox();
86
87 void hideArrowButtons(bool hide);
88
92
95 QPushButton* m_pPropertiesButton;
96
98
99protected Q_SLOTS:
100
101 void slotActivateItem(QListWidgetItem* item);
102
103 void slotMenuSelection(QAction* action);
104
105 void slotListItemCreated(UMLObject* object);
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
QTextEdit * m_docTE
Definition classifierlistpage.h:71
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
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
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