umbrello  2.35.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 
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
UMLEntity
Non-graphical Information for an Entity.
Definition: entity.h:29
template.h
DEBUG_REGISTER
#define DEBUG_REGISTER(src)
Definition: debug_utils.h:129
UMLClassifier::takeItem
int takeItem(UMLClassifierListItem *item)
Definition: classifier.cpp:1169
UMLObject::asUMLEntityAttribute
UMLEntityAttribute * asUMLEntityAttribute()
Definition: umlobject.cpp:1427
UMLObject::ObjectType
ObjectType
Definition: umlobject.h:75
UMLObject::ot_EntityConstraint
@ ot_EntityConstraint
Definition: umlobject.h:100
logDebug1
#define logDebug1(s, a)
Definition: uml.h:541
DialogsPopupMenu::tt_New_EntityAttribute
@ tt_New_EntityAttribute
Definition: dialogspopupmenu.h:27
ClassifierListPage::setupDocumentationGroup
void setupDocumentationGroup(int margin)
Definition: classifierlistpage.cpp:234
ListPopupMenu::mt_Properties
@ mt_Properties
Definition: listpopupmenu.h:177
ListPopupMenu::mt_New_Template
@ mt_New_Template
Definition: listpopupmenu.h:136
UMLObject::name
QString name() const
Definition: umlobject.cpp:207
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
UMLObject::asUMLEntity
UMLEntity * asUMLEntity()
Definition: umlobject.cpp:1426
entity.h
ClassifierListPage::m_pPropertiesButton
QPushButton * m_pPropertiesButton
Definition: classifierlistpage.h:95
UMLClassifier::getFilteredList
virtual UMLClassifierListItemList getFilteredList(UMLObject::ObjectType ot) const
Definition: classifier.cpp:999
UMLDoc::removeUMLObject
void removeUMLObject(UMLObject *umlobject, bool deleteObject=false)
Definition: umldoc.cpp:1939
ClassifierListPage::slotRightButtonPressed
void slotRightButtonPressed(const QPoint &p)
Definition: classifierlistpage.cpp:449
DialogsPopupMenu::tt_InstanceAttribute_Selected
@ tt_InstanceAttribute_Selected
Definition: dialogspopupmenu.h:24
operation.h
ClassifierListPage::slotActivateItem
void slotActivateItem(QListWidgetItem *item)
Definition: classifierlistpage.cpp:336
UMLObject::showPropertiesDialog
virtual bool showPropertiesDialog(QWidget *parent=0)
Definition: umlobject.cpp:141
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:704
ClassifierListPage::slotUpClicked
void slotUpClicked()
Definition: classifierlistpage.cpp:594
logError0
#define logError0(s)
Definition: uml.h:539
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
logError1
#define logError1(s, a)
Definition: uml.h:545
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:494
ClassifierListPage::takeItem
bool takeItem(UMLClassifierListItem *listItem, bool seekPeerBefore, int &peerIndex)
Definition: classifierlistpage.cpp:898
UMLClassifierListItemListIt
QListIterator< UMLClassifierListItem * > UMLClassifierListItemListIt
Definition: umlclassifierlistitemlist.h:12
ClassifierListPage::m_pItemListLB
QListWidget * m_pItemListLB
Definition: classifierlistpage.h:73
UMLObject::asUMLAttribute
UMLAttribute * asUMLAttribute()
Definition: umlobject.cpp:1418
Object_Factory::createChildObject
UMLClassifierListItem * createChildObject(UMLClassifier *parent, UMLObject::ObjectType type, const QString &name)
Definition: object_factory.cpp:304
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:53
UMLDoc::renameChildUMLObject
void renameChildUMLObject(UMLObject *o)
Definition: umldoc.cpp:1795
ClassifierListPage::setupActionButtons
void setupActionButtons(const QString &itemType, QVBoxLayout *parentLayout)
Definition: classifierlistpage.cpp:209
ClassifierListPage::slotTopClicked
void slotTopClicked()
Definition: classifierlistpage.cpp:559
dialogpagebase.h
codetextedit.h
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
ClassifierListPage::slotBottomClicked
void slotBottomClicked()
Definition: classifierlistpage.cpp:669
UMLObject::asUMLOperation
UMLOperation * asUMLOperation()
Definition: umlobject.cpp:1437
UMLObject::ot_InstanceAttribute
@ ot_InstanceAttribute
Definition: umlobject.h:106
UMLObject::baseType
ObjectType baseType() const
Definition: umlobject.cpp:393
ListPopupMenu::mt_New_InstanceAttribute
@ mt_New_InstanceAttribute
Definition: listpopupmenu.h:133
UMLObject::asUMLClassifierListItem
UMLClassifierListItem * asUMLClassifierListItem()
Definition: umlobject.cpp:1423
ClassifierListPage::printItemList
void printItemList(const QString &prologue)
Definition: classifierlistpage.cpp:540
UMLObject::ot_EnumLiteral
@ ot_EnumLiteral
Definition: umlobject.h:90
ClassifierListPage
A dialog page to display classifier properties.
Definition: classifierlistpage.h:34
umlclassifierlistitemlist.h
ClassifierListPage::getItemList
virtual UMLClassifierListItemList getItemList()
Definition: classifierlistpage.cpp:802
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:435
ClassifierListPage::hideArrowButtons
void hideArrowButtons(bool hide)
Definition: classifierlistpage.cpp:931
UMLObject::asUMLEnum
UMLEnum * asUMLEnum()
Definition: umlobject.cpp:1429
DialogsPopupMenu::tt_Attribute_Selected
@ tt_Attribute_Selected
Definition: dialogspopupmenu.h:21
UMLOperation::setSourceCode
void setSourceCode(const QString &code)
Definition: operation.cpp:515
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:308
ClassifierListPage::slotNewListItem
void slotNewListItem()
Definition: classifierlistpage.cpp:767
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
logDebug2
#define logDebug2(s, a, b)
Definition: uml.h:547
i18n
#define i18n
Definition: main.cpp:35
UMLObject::asUMLTemplate
UMLTemplate * asUMLTemplate()
Definition: umlobject.cpp:1442
ClassifierListPage::setupPage
void setupPage()
Definition: classifierlistpage.cpp:75
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
ClassifierListPage::slotDownClicked
void slotDownClicked()
Definition: classifierlistpage.cpp:632
UMLObject::toString
static QString toString(ObjectType ot)
Definition: umlobject.cpp:1214
MyProject\connect
connect()
Definition: namespaces-multiple.php:5
logWarn1
#define logWarn1(s, a)
Definition: uml.h:544
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:431
UMLDoc
Definition: umldoc.h:69
UMLAttribute
Sets up attribute information.
Definition: attribute.h:22
DialogsPopupMenu::tt_Operation_Selected
@ tt_Operation_Selected
Definition: dialogspopupmenu.h:33
UMLCanvasObject::subordinates
UMLObjectList & subordinates() const
Definition: umlcanvasobject.h:77
classifierlistpage.h
ClassifierListPage::addToClassifier
bool addToClassifier(UMLClassifierListItem *classifier, int position=-1)
Definition: classifierlistpage.cpp:814
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:451
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:396
classifier.h
UMLClassifierListItem::toString
virtual QString toString(Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig, bool withStereotype=false) const
Definition: classifierlistitem.cpp:87
UMLOperation
Definition: operation.h:19
uml.h
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:280
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:758
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
UMLObject::asUMLEnumLiteral
UMLEnumLiteral * asUMLEnumLiteral()
Definition: umlobject.cpp:1430
ClassifierListPage::setupListGroup
void setupListGroup(int margin)
Definition: classifierlistpage.cpp:111
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:174
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:403
ClassifierListPage::saveCurrentItemDocumentation
void saveCurrentItemDocumentation()
Definition: classifierlistpage.cpp:781
ClassifierListPage::~ClassifierListPage
virtual ~ClassifierListPage()
Definition: classifierlistpage.cpp:68
UMLObjectList
Definition: umlobjectlist.h:24
ClassifierListPage::reloadItemListBox
void reloadItemListBox()
Definition: classifierlistpage.cpp:261
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:736
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:1025
UMLOperation::getSourceCode
QString getSourceCode() const
Definition: operation.cpp:523
UMLClassifier::addAttribute
UMLAttribute * addAttribute(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: classifier.cpp:810
enum.h
ClassifierListPage::m_pBottomArrowB
QToolButton * m_pBottomArrowB
Definition: classifierlistpage.h:78
logDebug0
#define logDebug0(s)
Definition: uml.h:535