umbrello  2.32.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-2020 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 addClassifier(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
UMLEntity
Non-graphical Information for an Entity.
Definition: entity.h:29
template.h
UMLObject::asUMLEnumLiteral
UMLEnumLiteral * asUMLEnumLiteral()
Definition: umlobject.cpp:1397
UMLClassifier::takeItem
int takeItem(UMLClassifierListItem *item)
Definition: classifier.cpp:1164
UMLObject::ObjectType
ObjectType
Definition: umlobject.h:75
UMLObject::ot_EntityConstraint
@ ot_EntityConstraint
Definition: umlobject.h:100
DialogsPopupMenu::tt_New_EntityAttribute
@ tt_New_EntityAttribute
Definition: dialogspopupmenu.h:27
ClassifierListPage::setupDocumentationGroup
void setupDocumentationGroup(int margin)
Definition: classifierlistpage.cpp:229
ListPopupMenu::mt_Properties
@ mt_Properties
Definition: listpopupmenu.h:177
ListPopupMenu::mt_New_Template
@ mt_New_Template
Definition: listpopupmenu.h:136
UMLObject::asUMLOperation
UMLOperation * asUMLOperation()
Definition: umlobject.cpp:1404
UMLObject::name
QString name() const
Definition: umlobject.cpp:206
UMLObject::asUMLClassifierListItem
UMLClassifierListItem * asUMLClassifierListItem()
Definition: umlobject.cpp:1390
DialogsPopupMenu::tt_New_Template
@ tt_New_Template
Definition: dialogspopupmenu.h:32
ClassifierListPage::m_pLastObjectCreated
UMLClassifierListItem * m_pLastObjectCreated
Definition: classifierlistpage.h:91
DialogsPopupMenu
Definition: dialogspopupmenu.h:11
entity.h
ClassifierListPage::m_pPropertiesButton
QPushButton * m_pPropertiesButton
Definition: classifierlistpage.h:95
UMLClassifier::getFilteredList
virtual UMLClassifierListItemList getFilteredList(UMLObject::ObjectType ot) const
Definition: classifier.cpp:994
UMLObject::asUMLAttribute
UMLAttribute * asUMLAttribute()
Definition: umlobject.cpp:1385
UMLDoc::removeUMLObject
void removeUMLObject(UMLObject *umlobject, bool deleteObject=false)
Definition: umldoc.cpp:1884
ClassifierListPage::slotRightButtonPressed
void slotRightButtonPressed(const QPoint &p)
Definition: classifierlistpage.cpp:443
DialogsPopupMenu::tt_InstanceAttribute_Selected
@ tt_InstanceAttribute_Selected
Definition: dialogspopupmenu.h:24
operation.h
ClassifierListPage::slotActivateItem
void slotActivateItem(QListWidgetItem *item)
Definition: classifierlistpage.cpp:331
UMLObject::showPropertiesDialog
virtual bool showPropertiesDialog(QWidget *parent=0)
Definition: umlobject.cpp:140
ClassifierListPage::m_pItemListGB
QGroupBox * m_pItemListGB
Definition: classifierlistpage.h:70
DialogsPopupMenu::tt_EntityAttribute_Selected
@ tt_EntityAttribute_Selected
Definition: dialogspopupmenu.h:22
ClassifierListPage::m_pOldListItem
UMLClassifierListItem * m_pOldListItem
Definition: classifierlistpage.h:81
ClassifierListPage::slotDoubleClick
void slotDoubleClick(QListWidgetItem *item)
Definition: classifierlistpage.cpp:693
ClassifierListPage::slotUpClicked
void slotUpClicked()
Definition: classifierlistpage.cpp:586
UMLObject::ot_Attribute
@ ot_Attribute
Definition: umlobject.h:88
CodeTextEdit
Definition: codetextedit.h:25
object_factory.h
UMLEnumLiteral
Sets up attribute information.
Definition: enumliteral.h:20
Uml::SignatureType::SigNoVis
@ SigNoVis
Definition: basictypes.h:163
ListPopupMenu::mt_New_EnumLiteral
@ mt_New_EnumLiteral
Definition: listpopupmenu.h:132
ClassifierListPage::m_pNewClassifierListItemButton
QPushButton * m_pNewClassifierListItemButton
Definition: classifierlistpage.h:93
ClassifierListPage::slotMenuSelection
void slotMenuSelection(QAction *action)
Definition: classifierlistpage.cpp:488
UMLClassifierListItemListIt
QListIterator< UMLClassifierListItem * > UMLClassifierListItemListIt
Definition: umlclassifierlistitemlist.h:12
ClassifierListPage::m_pItemListLB
QListWidget * m_pItemListLB
Definition: classifierlistpage.h:73
Object_Factory::createChildObject
UMLClassifierListItem * createChildObject(UMLClassifier *parent, UMLObject::ObjectType type, const QString &name)
Definition: object_factory.cpp:300
ClassifierListPage::m_itemType
UMLObject::ObjectType m_itemType
Definition: classifierlistpage.h:89
ClassifierListPage::ClassifierListPage
ClassifierListPage(QWidget *parent, UMLClassifier *classifier, UMLDoc *doc, UMLObject::ObjectType type)
Definition: classifierlistpage.cpp:49
UMLDoc::renameChildUMLObject
void renameChildUMLObject(UMLObject *o)
Definition: umldoc.cpp:1741
ClassifierListPage::takeItem
bool takeItem(UMLClassifierListItem *listitem, bool seekPeerBefore, int &peerIndex)
Definition: classifierlistpage.cpp:878
ClassifierListPage::setupActionButtons
void setupActionButtons(const QString &itemType, QVBoxLayout *parentLayout)
Definition: classifierlistpage.cpp:204
ClassifierListPage::slotTopClicked
void slotTopClicked()
Definition: classifierlistpage.cpp:552
dialogpagebase.h
codetextedit.h
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
ClassifierListPage::slotBottomClicked
void slotBottomClicked()
Definition: classifierlistpage.cpp:659
UMLObject::asUMLEntityAttribute
UMLEntityAttribute * asUMLEntityAttribute()
Definition: umlobject.cpp:1394
UMLObject::ot_InstanceAttribute
@ ot_InstanceAttribute
Definition: umlobject.h:106
UMLObject::asUMLEnum
UMLEnum * asUMLEnum()
Definition: umlobject.cpp:1396
UMLObject::baseType
ObjectType baseType() const
Definition: umlobject.cpp:392
ListPopupMenu::mt_New_InstanceAttribute
@ mt_New_InstanceAttribute
Definition: listpopupmenu.h:133
ClassifierListPage::printItemList
void printItemList(const QString &prologue)
Definition: classifierlistpage.cpp:533
UMLObject::ot_EnumLiteral
@ ot_EnumLiteral
Definition: umlobject.h:90
UMLObject::asUMLEntity
UMLEntity * asUMLEntity()
Definition: umlobject.cpp:1393
ClassifierListPage
A dialog page to display classifier properties.
Definition: classifierlistpage.h:34
umlclassifierlistitemlist.h
ClassifierListPage::getItemList
virtual UMLClassifierListItemList getItemList()
Definition: classifierlistpage.cpp:789
DialogsPopupMenu::tt_Template_Selected
@ tt_Template_Selected
Definition: dialogspopupmenu.h:35
ClassifierListPage::m_doc
UMLDoc * m_doc
Definition: classifierlistpage.h:80
ClassifierListPage::slotListItemModified
void slotListItemModified()
Definition: classifierlistpage.cpp:429
ClassifierListPage::hideArrowButtons
void hideArrowButtons(bool hide)
Definition: classifierlistpage.cpp:911
DialogsPopupMenu::tt_Attribute_Selected
@ tt_Attribute_Selected
Definition: dialogspopupmenu.h:21
UMLOperation::setSourceCode
void setSourceCode(const QString &code)
Definition: operation.cpp:494
classifierlistitem.h
entityattribute.h
it
and that you know you can do these things To protect your we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the or if you modify it For if you distribute copies of such a whether gratis or for a you must give the recipients all the rights that you have You must make sure that receive or can get the source code And you must show them these terms so they know their rights We protect your rights with two distribute and or modify the software for each author s protection and we want to make certain that everyone understands that there is no warranty for this free software If the software is modified by someone else and passed we want its recipients to know that what they have is not the so that any problems introduced by others will not reflect on the original authors reputations any free program is threatened constantly by software patents We wish to avoid the danger that redistributors of a free program will individually obtain patent in effect making the program proprietary To prevent we have made it clear that any patent must be licensed for everyone s free use or not licensed at all The precise terms and conditions for distribution and modification follow TERMS AND CONDITIONS FOR DISTRIBUTION AND MODIFICATION This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License The refers to any such program or and a work based on the Program means either the Program or any derivative work under copyright a work containing the Program or a portion of it
Definition: GPL-2.0-only.txt:64
ClassifierListPage::m_pDownArrowB
QToolButton * m_pDownArrowB
Definition: classifierlistpage.h:77
attribute.h
DialogsPopupMenu::tt_New_EnumLiteral
@ tt_New_EnumLiteral
Definition: dialogspopupmenu.h:28
a
QString a
Definition: petalnode.cpp:13
UMLClassifier::addOperation
bool addOperation(UMLOperation *op, int position=-1)
Definition: classifier.cpp:305
uWarning
#define uWarning()
Definition: debug_utils.h:110
ClassifierListPage::slotNewListItem
void slotNewListItem()
Definition: classifierlistpage.cpp:754
ClassifierListPage::m_pCodeTE
CodeTextEdit * m_pCodeTE
Definition: classifierlistpage.h:72
ListPopupMenu::MenuType
MenuType
< This type hosts all possible menu entry types
Definition: listpopupmenu.h:38
DialogPageBase
Definition: dialogpagebase.h:19
i18n
#define i18n
Definition: main.cpp:34
ClassifierListPage::setupPage
void setupPage()
Definition: classifierlistpage.cpp:71
DialogsPopupMenu::tt_New_InstanceAttribute
@ tt_New_InstanceAttribute
Definition: dialogspopupmenu.h:29
ListPopupMenu::toString
static QString toString(MenuType menu)
Definition: listpopupmenu.cpp:608
ClassifierListPage::m_docGB
QGroupBox * m_docGB
Definition: classifierlistpage.h:69
UMLObject::ot_EntityAttribute
@ ot_EntityAttribute
Definition: umlobject.h:98
basictypes.h
uDebug
#define uDebug()
Definition: debug_utils.h:108
ClassifierListPage::slotDownClicked
void slotDownClicked()
Definition: classifierlistpage.cpp:623
MyProject\connect
connect()
Definition: namespaces-multiple.php:5
c
type show c for details The hypothetical commands show w and show c should show the appropriate parts of the General Public License Of the commands you use may be called something other than show w and show c
Definition: GPL-2.0-only.txt:301
UMLObject::doc
QString doc() const
Definition: umlobject.cpp:430
UMLDoc
Definition: umldoc.h:69
UMLAttribute
Sets up attribute information.
Definition: attribute.h:22
ClassifierListPage::addClassifier
bool addClassifier(UMLClassifierListItem *classifier, int position=-1)
Definition: classifierlistpage.cpp:801
DialogsPopupMenu::tt_Operation_Selected
@ tt_Operation_Selected
Definition: dialogspopupmenu.h:33
UMLCanvasObject::subordinates
UMLObjectList & subordinates() const
Definition: umlcanvasobject.h:77
classifierlistpage.h
DialogsPopupMenu::tt_New_Attribute
@ tt_New_Attribute
Definition: dialogspopupmenu.h:26
ClassifierListPage::m_pDeleteListItemButton
QPushButton * m_pDeleteListItemButton
Definition: classifierlistpage.h:94
UMLObject::setDoc
void setDoc(const QString &d)
Definition: umlobject.cpp:450
DialogsPopupMenu::TriggerType
TriggerType
< This type hosts all possible menu types.
Definition: dialogspopupmenu.h:16
ListPopupMenu::mt_Delete
@ mt_Delete
Definition: listpopupmenu.h:181
UMLClassifierListItemList
Definition: umlclassifierlistitemlist.h:21
ClassifierListPage::apply
void apply()
Definition: classifierlistpage.cpp:390
UMLObject::asUMLTemplate
UMLTemplate * asUMLTemplate()
Definition: umlobject.cpp:1409
classifier.h
UMLClassifierListItem::toString
virtual QString toString(Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig, bool withStereotype=false) const
Definition: classifierlistitem.cpp:85
uError
#define uError()
Definition: debug_utils.h:109
UMLOperation
Definition: operation.h:19
ClassifierListPage::m_docTE
KTextEdit * m_docTE
Definition: classifierlistpage.h:71
enumliteral.h
ClassifierListPage::deleteMenu
void deleteMenu()
ClassifierListPage::enableWidgets
void enableWidgets(bool state)
Definition: classifierlistpage.cpp:275
DialogsPopupMenu::tt_Undefined
@ tt_Undefined
Definition: dialogspopupmenu.h:36
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:34
debug_utils.h
dialogspopupmenu.h
ListPopupMenu::typeFromAction
static MenuType typeFromAction(QAction *action)
Definition: listpopupmenu.cpp:406
umlobject.h
DialogsPopupMenu::tt_EnumLiteral_Selected
@ tt_EnumLiteral_Selected
Definition: dialogspopupmenu.h:23
ClassifierListPage::slotProperties
void slotProperties()
Definition: classifierlistpage.cpp:745
UMLObject::ot_Template
@ ot_Template
Definition: umlobject.h:91
ClassifierListPage::m_pClassifier
UMLClassifier * m_pClassifier
Definition: classifierlistpage.h:90
ListPopupMenu::mt_Rename
@ mt_Rename
Definition: listpopupmenu.h:178
ClassifierListPage::setupListGroup
void setupListGroup(int margin)
Definition: classifierlistpage.cpp:107
ClassifierListPage::m_pUpArrowB
QToolButton * m_pUpArrowB
Definition: classifierlistpage.h:76
DialogsPopupMenu::tt_New_Operation
@ tt_New_Operation
Definition: dialogspopupmenu.h:30
UMLTemplate
Sets up template information.
Definition: template.h:21
UMLObject::ot_Operation
@ ot_Operation
Definition: umlobject.h:89
ListPopupMenu::mt_New_Attribute
@ mt_New_Attribute
Definition: listpopupmenu.h:130
ClassifierListPage::setupMoveButtons
void setupMoveButtons(QHBoxLayout *parentLayout)
Definition: classifierlistpage.cpp:169
ClassifierListPage::m_bSigWaiting
bool m_bSigWaiting
Definition: classifierlistpage.h:97
UMLEntityAttribute
Sets up entityattribute information.
Definition: entityattribute.h:20
ClassifierListPage::slotListItemCreated
void slotListItemCreated(UMLObject *object)
Definition: classifierlistpage.cpp:397
ClassifierListPage::saveCurrentItemDocumentation
void saveCurrentItemDocumentation()
Definition: classifierlistpage.cpp:768
ClassifierListPage::~ClassifierListPage
virtual ~ClassifierListPage()
Definition: classifierlistpage.cpp:64
UMLObjectList
Definition: umlobjectlist.h:24
ClassifierListPage::reloadItemListBox
void reloadItemListBox()
Definition: classifierlistpage.cpp:256
ClassifierListPage::m_pTopArrowB
QToolButton * m_pTopArrowB
Definition: classifierlistpage.h:75
UMLClassifierListItem
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:24
UMLEnum
Non-graphical Information for an Enum.
Definition: enum.h:23
ClassifierListPage::slotDelete
void slotDelete()
Definition: classifierlistpage.cpp:723
ListPopupMenu::mt_New_EntityAttribute
@ mt_New_EntityAttribute
Definition: listpopupmenu.h:131
umldoc.h
ListPopupMenu::mt_New_Operation
@ mt_New_Operation
Definition: listpopupmenu.h:134
UMLClassifier::addTemplate
UMLTemplate * addTemplate(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: classifier.cpp:1020
UMLOperation::getSourceCode
QString getSourceCode() const
Definition: operation.cpp:502
UMLClassifier::addAttribute
UMLAttribute * addAttribute(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: classifier.cpp:806
enum.h
ClassifierListPage::m_pBottomArrowB
QToolButton * m_pBottomArrowB
Definition: classifierlistpage.h:78