umbrello  2.31.90
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  * 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) 2003-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #ifndef CLASSIFIERLISTPAGE_H
12 #define CLASSIFIERLISTPAGE_H
13 
14 //app includes
15 #include "dialogpagebase.h"
17 #include "umlobject.h"
18 
19 class CodeTextEdit;
20 class UMLClassifier;
21 class UMLDoc;
22 class KTextEdit;
23 class QGroupBox;
24 class QHBoxLayout;
25 class QListWidget;
26 class QListWidgetItem;
27 class QPushButton;
28 class QToolButton;
29 class QVBoxLayout;
30 
40 {
41  Q_OBJECT
42 public:
43 
44  ClassifierListPage(QWidget* parent,
45  UMLClassifier* classifier, UMLDoc* doc, UMLObject::ObjectType type);
46  virtual ~ClassifierListPage();
47 
48  void apply();
49 
50 private:
51 
52  void setupPage();
53 
54  void setupListGroup(int margin);
55  void setupDocumentationGroup(int margin);
56  void setupMoveButtons(QHBoxLayout* parentLayout);
57  void setupActionButtons(const QString& itemType, QVBoxLayout* parentLayout);
58 
59  void enableWidgets(bool state);
60 
62 
64 
65  bool addClassifier(UMLClassifierListItem* classifier, int position = -1);
66 
67  bool takeItem(UMLClassifierListItem* listitem,
68  bool seekPeerBefore, int &peerIndex);
69 
70  void deleteMenu();
71 
72  void printItemList(const QString &prologue);
73 
74  QGroupBox* m_docGB;
75  QGroupBox* m_pItemListGB;
76  KTextEdit* m_docTE;
78  QListWidget* m_pItemListLB;
79 
80  QToolButton* m_pTopArrowB;
81  QToolButton* m_pUpArrowB;
82  QToolButton* m_pDownArrowB;
83  QToolButton* m_pBottomArrowB;
84 
87 
88 protected:
89 
90  void reloadItemListBox();
91 
92  void hideArrowButtons(bool hide);
93 
97 
100  QPushButton* m_pPropertiesButton;
101 
103 
104 protected slots:
105 
106  void slotActivateItem(QListWidgetItem* item);
107 
108  void slotMenuSelection(QAction* action);
109 
110  void slotListItemCreated(UMLObject* object);
111  void slotListItemModified();
112  void slotRightButtonPressed(const QPoint& p);
113 
114  void slotDoubleClick(QListWidgetItem* item);
115 
116  void slotTopClicked();
117  void slotUpClicked();
118  void slotDownClicked();
119  void slotBottomClicked();
120 
121  void slotNewListItem();
122 
123  void slotDelete();
124 
125  void slotProperties();
126 };
127 
128 #endif
A dialog page to display classifier properties.
Definition: classifierlistpage.h:40
QPushButton * m_pNewClassifierListItemButton
Definition: classifierlistpage.h:98
void apply()
Definition: classifierlistpage.cpp:395
UMLObject::ObjectType m_itemType
Definition: classifierlistpage.h:94
bool takeItem(UMLClassifierListItem *listitem, bool seekPeerBefore, int &peerIndex)
Definition: classifierlistpage.cpp:883
void setupPage()
Definition: classifierlistpage.cpp:76
void setupMoveButtons(QHBoxLayout *parentLayout)
Definition: classifierlistpage.cpp:174
void slotTopClicked()
Definition: classifierlistpage.cpp:557
QToolButton * m_pDownArrowB
Definition: classifierlistpage.h:82
UMLClassifierListItem * m_pOldListItem
Definition: classifierlistpage.h:86
QPushButton * m_pDeleteListItemButton
Definition: classifierlistpage.h:99
void setupListGroup(int margin)
Definition: classifierlistpage.cpp:112
QListWidget * m_pItemListLB
Definition: classifierlistpage.h:78
void slotProperties()
Definition: classifierlistpage.cpp:750
ClassifierListPage(QWidget *parent, UMLClassifier *classifier, UMLDoc *doc, UMLObject::ObjectType type)
Definition: classifierlistpage.cpp:54
void saveCurrentItemDocumentation()
Definition: classifierlistpage.cpp:773
void slotRightButtonPressed(const QPoint &p)
Definition: classifierlistpage.cpp:448
QToolButton * m_pBottomArrowB
Definition: classifierlistpage.h:83
void slotNewListItem()
Definition: classifierlistpage.cpp:759
void slotDoubleClick(QListWidgetItem *item)
Definition: classifierlistpage.cpp:698
virtual ~ClassifierListPage()
Definition: classifierlistpage.cpp:69
UMLDoc * m_doc
Definition: classifierlistpage.h:85
QPushButton * m_pPropertiesButton
Definition: classifierlistpage.h:100
void slotDownClicked()
Definition: classifierlistpage.cpp:628
KTextEdit * m_docTE
Definition: classifierlistpage.h:76
void enableWidgets(bool state)
Definition: classifierlistpage.cpp:280
QToolButton * m_pTopArrowB
Definition: classifierlistpage.h:80
void printItemList(const QString &prologue)
Definition: classifierlistpage.cpp:538
void slotListItemCreated(UMLObject *object)
Definition: classifierlistpage.cpp:402
virtual UMLClassifierListItemList getItemList()
Definition: classifierlistpage.cpp:794
bool m_bSigWaiting
Definition: classifierlistpage.h:102
void slotActivateItem(QListWidgetItem *item)
Definition: classifierlistpage.cpp:336
void reloadItemListBox()
Definition: classifierlistpage.cpp:261
void slotListItemModified()
Definition: classifierlistpage.cpp:434
UMLClassifier * m_pClassifier
Definition: classifierlistpage.h:95
void hideArrowButtons(bool hide)
Definition: classifierlistpage.cpp:916
UMLClassifierListItem * m_pLastObjectCreated
Definition: classifierlistpage.h:96
void slotUpClicked()
Definition: classifierlistpage.cpp:591
void slotDelete()
Definition: classifierlistpage.cpp:728
bool addClassifier(UMLClassifierListItem *classifier, int position=-1)
Definition: classifierlistpage.cpp:806
QToolButton * m_pUpArrowB
Definition: classifierlistpage.h:81
void setupDocumentationGroup(int margin)
Definition: classifierlistpage.cpp:234
void slotMenuSelection(QAction *action)
Definition: classifierlistpage.cpp:493
CodeTextEdit * m_pCodeTE
Definition: classifierlistpage.h:77
QGroupBox * m_docGB
Definition: classifierlistpage.h:74
QGroupBox * m_pItemListGB
Definition: classifierlistpage.h:75
void setupActionButtons(const QString &itemType, QVBoxLayout *parentLayout)
Definition: classifierlistpage.cpp:209
void slotBottomClicked()
Definition: classifierlistpage.cpp:664
Definition: codetextedit.h:40
Definition: dialogpagebase.h:25
Definition: umlclassifierlistitemlist.h:27
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:30
Information for a non-graphical Concept/Class.
Definition: classifier.h:40
Definition: umldoc.h:75
The base class for UML objects.
Definition: umlobject.h:75
ObjectType
Definition: umlobject.h:81