umbrello  2.32.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
umlforeignkeyconstraintdialog.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 UMLFOREIGNKEYCONSTRAINTDIALOG_H
7 #define UMLFOREIGNKEYCONSTRAINTDIALOG_H
8 
9 //app includes
10 #include "multipagedialogbase.h"
11 #include "umlentityattributelist.h"
12 
13 //kde includes
14 
15 //qt includes
16 #include <QList>
17 
18 class KComboBox;
19 class KLineEdit;
20 class UMLDoc;
22 class QGroupBox;
23 class QLabel;
24 class QPushButton;
25 class QTreeWidget;
26 
27 typedef QPair<UMLEntityAttribute*, UMLEntityAttribute*> EntityAttributePair;
28 typedef QList<EntityAttributePair> EntityAttributePairList;
29 
38 {
39  Q_OBJECT
40 public:
41  UMLForeignKeyConstraintDialog(QWidget* parent, UMLForeignKeyConstraint* pForeignKeyConstraint);
43 
44 private:
45  bool apply();
46 
47  void setupGeneralPage();
48  void setupColumnPage();
49 
52 
55 
56  struct GeneralWidgets {
57 
58  QGroupBox* generalGB;
59  QGroupBox* actionGB;
60 
62  QLabel* nameL;
63 
64  KLineEdit* nameT;
65 
66  KComboBox* referencedEntityCB;
67 
68  QLabel* onUpdateL;
69  QLabel* onDeleteL;
70  KComboBox* updateActionCB;
71  KComboBox* deleteActionCB;
72  }; // end general widgets
73 
74  struct ColumnWidgets {
75 
76  QTreeWidget* mappingTW;
77 
78  KComboBox* localColumnCB;
79  KComboBox* referencedColumnCB;
80 
81  QLabel* localColumnL;
83 
84  QPushButton* addPB, *removePB;
85  }; // end column widgets
86 
87  // these attributes store the local cache
88 
91 
93 
99  // end of local cache
100 
103 
104  KPageWidgetItem *pageGeneral, *pageColumn;
105 
106 public slots:
107  void slotResetWidgetState();
108  void slotApply();
109  void slotOk();
110  void slotAddPair();
111  void slotDeletePair();
112  void slotReferencedEntityChanged(int index);
113 };
114 
115 #endif
UMLForeignKeyConstraint::getUpdateAction
UpdateDeleteAction getUpdateAction() const
Definition: foreignkeyconstraint.cpp:420
UMLForeignKeyConstraintDialog::apply
bool apply()
Definition: umlforeignkeyconstraintdialog.cpp:150
UMLForeignKeyConstraint::UpdateDeleteAction
UpdateDeleteAction
Definition: foreignkeyconstraint.h:37
UMLEntity
Non-graphical Information for an Entity.
Definition: entity.h:29
document
GNU GENERAL PUBLIC LICENSE June Free Software Inc Franklin Fifth USA Everyone is permitted to copy and distribute verbatim copies of this license document
Definition: GPL-2.0-only.txt:8
UMLForeignKeyConstraintDialog::m_pReferencedEntityIndex
int m_pReferencedEntityIndex
Definition: umlforeignkeyconstraintdialog.h:98
template.h
UMLForeignKeyConstraintDialog::pageColumn
KPageWidgetItem * pageColumn
Definition: umlforeignkeyconstraintdialog.h:104
UMLForeignKeyConstraintDialog::ColumnWidgets::referencedColumnCB
KComboBox * referencedColumnCB
Definition: umlforeignkeyconstraintdialog.h:79
Icon_Utils::it_Properties_Columns
@ it_Properties_Columns
Definition: icon_utils.h:69
UMLObject::name
QString name() const
Definition: umlobject.cpp:206
UMLEntityList
QList< UMLEntity * > UMLEntityList
Definition: umlentitylist.h:12
UMLForeignKeyConstraint::setUpdateAction
void setUpdateAction(UpdateDeleteAction uda)
Definition: foreignkeyconstraint.cpp:436
UMLForeignKeyConstraintDialog::m_pLocalAttributeList
UMLEntityAttributeList m_pLocalAttributeList
Definition: umlforeignkeyconstraintdialog.h:89
entity.h
UMLForeignKeyConstraintDialog::GeneralWidgets
Definition: umlforeignkeyconstraintdialog.h:56
UMLForeignKeyConstraintDialog::GeneralWidgets::nameL
QLabel * nameL
Definition: umlforeignkeyconstraintdialog.h:62
UMLForeignKeyConstraint::setReferencedEntity
void setReferencedEntity(UMLEntity *ent)
Definition: foreignkeyconstraint.cpp:331
multipagedialogbase.h
operation.h
UMLObject::ot_Entity
@ ot_Entity
Definition: umlobject.h:97
UMLForeignKeyConstraintDialog::GeneralWidgets::updateActionCB
KComboBox * updateActionCB
Definition: umlforeignkeyconstraintdialog.h:70
UMLForeignKeyConstraintDialog::slotApply
void slotApply()
Definition: umlforeignkeyconstraintdialog.cpp:378
foreignkeyconstraint.h
UMLForeignKeyConstraint
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:27
UMLForeignKeyConstraintDialog::slotAddPair
void slotAddPair()
Definition: umlforeignkeyconstraintdialog.cpp:73
EntityAttributePair
QPair< UMLEntityAttribute *, UMLEntityAttribute * > EntityAttributePair
Definition: umlforeignkeyconstraintdialog.h:25
object_factory.h
UMLForeignKeyConstraintDialog::GeneralWidgets::generalGB
QGroupBox * generalGB
Definition: umlforeignkeyconstraintdialog.h:58
Uml::SignatureType::SigNoVis
@ SigNoVis
Definition: basictypes.h:163
UMLObject::emitModified
void emitModified()
Definition: umlobject.cpp:380
UMLObject::umlParent
UMLObject * umlParent() const
Definition: umlobject.cpp:674
UMLForeignKeyConstraintDialog::slotOk
void slotOk()
Definition: umlforeignkeyconstraintdialog.cpp:386
UMLObject::setName
virtual void setName(const QString &strName)
Definition: umlobject.cpp:187
MultiPageDialogBase::accept
void accept()
Definition: multipagedialogbase.cpp:168
UMLEntityAttribute::toString
QString toString(Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig, bool withStereotype=false) const
Definition: entityattribute.cpp:161
UMLForeignKeyConstraintDialog::ColumnWidgets::addPB
QPushButton * addPB
Definition: umlforeignkeyconstraintdialog.h:84
Dialog_Utils::makeLabeledEditField
KLineEdit * makeLabeledEditField(QGridLayout *layout, int row, QLabel *&label, const QString &labelText, KLineEdit *&editField, const QString &editFieldText, int columnOffset)
Definition: dialog_utils.cpp:47
UMLForeignKeyConstraintDialog::GeneralWidgets::nameT
KLineEdit * nameT
Definition: umlforeignkeyconstraintdialog.h:64
UMLForeignKeyConstraint::setDeleteAction
void setDeleteAction(UpdateDeleteAction uda)
Definition: foreignkeyconstraint.cpp:428
UMLForeignKeyConstraintDialog::ColumnWidgets::mappingTW
QTreeWidget * mappingTW
Definition: umlforeignkeyconstraintdialog.h:76
UMLForeignKeyConstraintDialog::m_pForeignKeyConstraint
UMLForeignKeyConstraint * m_pForeignKeyConstraint
Definition: umlforeignkeyconstraintdialog.h:54
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
MultiPageDialogBase::createPage
QFrame * createPage(const QString &name, const QString &header, Icon_Utils::IconType icon)
Definition: multipagedialogbase.cpp:320
UMLObject::asUMLEntityAttribute
UMLEntityAttribute * asUMLEntityAttribute()
Definition: umlobject.cpp:1394
UMLForeignKeyConstraintDialog::refillLocalAttributeCB
void refillLocalAttributeCB()
Definition: umlforeignkeyconstraintdialog.cpp:438
UMLForeignKeyConstraint::getReferencedEntity
UMLEntity * getReferencedEntity() const
Definition: foreignkeyconstraint.cpp:345
MultiPageDialogBase::applyClicked
void applyClicked()
Definition: moc_multipagedialogbase.cpp:191
UMLObject::asUMLEntity
UMLEntity * asUMLEntity()
Definition: umlobject.cpp:1393
UMLForeignKeyConstraintDialog::slotReferencedEntityChanged
void slotReferencedEntityChanged(int index)
Definition: umlforeignkeyconstraintdialog.cpp:393
UMLForeignKeyConstraintDialog::setupGeneralPage
void setupGeneralPage()
Definition: umlforeignkeyconstraintdialog.cpp:196
UMLForeignKeyConstraint::clearMappings
void clearMappings()
Definition: foreignkeyconstraint.cpp:362
UMLForeignKeyConstraintDialog::~UMLForeignKeyConstraintDialog
~UMLForeignKeyConstraintDialog()
Definition: umlforeignkeyconstraintdialog.cpp:66
UMLForeignKeyConstraintDialog::slotResetWidgetState
void slotResetWidgetState()
Definition: umlforeignkeyconstraintdialog.cpp:457
umlentitylist.h
classifierlistitem.h
entityattribute.h
UMLForeignKeyConstraintDialog::m_pAttributeMapList
EntityAttributePairList m_pAttributeMapList
Definition: umlforeignkeyconstraintdialog.h:92
Uml::ModelType::EntityRelationship
@ EntityRelationship
Definition: basictypes.h:32
UMLForeignKeyConstraintDialog::ColumnWidgets::referencedColumnL
QLabel * referencedColumnL
Definition: umlforeignkeyconstraintdialog.h:82
UMLApp
Definition: uml.h:94
umlentityattributelist.h
attribute.h
MultiPageDialogBase::okClicked
void okClicked()
Definition: moc_multipagedialogbase.cpp:185
UMLDoc::entities
UMLEntityList entities(bool includeNested=true) const
Definition: umldoc.cpp:2999
UMLForeignKeyConstraintDialog
A dialog page to display foreignkey constraint properties.
Definition: umlforeignkeyconstraintdialog.h:37
UMLForeignKeyConstraintDialog::ColumnWidgets::removePB
QPushButton * removePB
Definition: umlforeignkeyconstraintdialog.h:84
MultiPageDialogBase
Definition: multipagedialogbase.h:46
i18n
#define i18n
Definition: main.cpp:34
UMLForeignKeyConstraintDialog::slotDeletePair
void slotDeletePair()
Definition: umlforeignkeyconstraintdialog.cpp:113
UMLForeignKeyConstraint::getEntityAttributePairs
QMap< UMLEntityAttribute *, UMLEntityAttribute * > getEntityAttributePairs()
Definition: foreignkeyconstraint.cpp:404
UMLForeignKeyConstraintDialog::UMLForeignKeyConstraintDialog
UMLForeignKeyConstraintDialog(QWidget *parent, UMLForeignKeyConstraint *pForeignKeyConstraint)
Definition: umlforeignkeyconstraintdialog.cpp:50
UMLObject::ot_EntityAttribute
@ ot_EntityAttribute
Definition: umlobject.h:98
uDebug
#define uDebug()
Definition: debug_utils.h:108
UMLEntity::getFilteredList
UMLClassifierListItemList getFilteredList(UMLObject::ObjectType ot) const
Definition: entity.cpp:641
UMLForeignKeyConstraintDialog::ColumnWidgets::localColumnCB
KComboBox * localColumnCB
Definition: umlforeignkeyconstraintdialog.h:78
UMLForeignKeyConstraintDialog::m_doc
UMLDoc * m_doc
the UMLDocument where all objects live
Definition: umlforeignkeyconstraintdialog.h:53
MyProject\connect
connect()
Definition: namespaces-multiple.php:5
UMLForeignKeyConstraintDialog::GeneralWidgets::onUpdateL
QLabel * onUpdateL
Definition: umlforeignkeyconstraintdialog.h:68
UMLForeignKeyConstraintDialog::GeneralWidgets::deleteActionCB
KComboBox * deleteActionCB
Definition: umlforeignkeyconstraintdialog.h:71
UMLDoc
Definition: umldoc.h:69
UMLForeignKeyConstraintDialog::GeneralWidgets::onDeleteL
QLabel * onDeleteL
Definition: umlforeignkeyconstraintdialog.h:69
UMLEntityAttributeList
Definition: umlentityattributelist.h:19
UMLForeignKeyConstraintDialog::GeneralWidgets::referencedEntityCB
KComboBox * referencedEntityCB
Definition: umlforeignkeyconstraintdialog.h:66
Icon_Utils::it_Properties_General
@ it_Properties_General
Definition: icon_utils.h:50
UMLClassifierListItemList
Definition: umlclassifierlistitemlist.h:21
UMLForeignKeyConstraintDialog::GeneralWidgets::referencedEntityL
QLabel * referencedEntityL
Definition: umlforeignkeyconstraintdialog.h:61
UMLForeignKeyConstraintDialog::ColumnWidgets
Definition: umlforeignkeyconstraintdialog.h:74
classifier.h
UMLClassifierListItem::toString
virtual QString toString(Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig, bool withStereotype=false) const
Definition: classifierlistitem.cpp:85
uniqueconstraint.h
UMLForeignKeyConstraint::getDeleteAction
UpdateDeleteAction getDeleteAction() const
Definition: foreignkeyconstraint.cpp:412
uml.h
enumliteral.h
UMLForeignKeyConstraintDialog::m_pReferencedAttributeList
UMLEntityAttributeList m_pReferencedAttributeList
Definition: umlforeignkeyconstraintdialog.h:90
debug_utils.h
icon_utils.h
UMLForeignKeyConstraintDialog::ColumnWidgets::localColumnL
QLabel * localColumnL
Definition: umlforeignkeyconstraintdialog.h:81
MultiPageDialogBase::setCaption
void setCaption(const QString &caption)
Definition: multipagedialogbase.cpp:157
EntityAttributePairList
QList< EntityAttributePair > EntityAttributePairList
Definition: umlforeignkeyconstraintdialog.h:28
MultiPageDialogBase::spacingHint
static int spacingHint()
Definition: multipagedialogbase.cpp:209
UMLForeignKeyConstraint::addEntityAttributePair
bool addEntityAttributePair(UMLEntityAttribute *pAttr, UMLEntityAttribute *rAttr)
Definition: foreignkeyconstraint.cpp:180
UMLForeignKeyConstraintDialog::refillReferencedAttributeCB
void refillReferencedAttributeCB()
Definition: umlforeignkeyconstraintdialog.cpp:416
dialog_utils.h
UMLForeignKeyConstraintDialog::m_ColumnWidgets
ColumnWidgets m_ColumnWidgets
Definition: umlforeignkeyconstraintdialog.h:102
UMLEntityAttribute
Sets up entityattribute information.
Definition: entityattribute.h:20
UMLForeignKeyConstraintDialog::setupColumnPage
void setupColumnPage()
Definition: umlforeignkeyconstraintdialog.cpp:283
UMLForeignKeyConstraintDialog::pageGeneral
KPageWidgetItem * pageGeneral
Definition: umlforeignkeyconstraintdialog.h:104
umlforeignkeyconstraintdialog.h
UMLDoc::findUMLObjectRecursive
UMLObject * findUMLObjectRecursive(Uml::ModelType::Enum, const QString &name, UMLObject::ObjectType type=UMLObject::ot_UMLObject)
Definition: umldoc.cpp:1135
UMLClassifierListItem
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:24
UMLForeignKeyConstraintDialog::m_GeneralWidgets
GeneralWidgets m_GeneralWidgets
Definition: umlforeignkeyconstraintdialog.h:101
umldoc.h
enum.h
UMLForeignKeyConstraintDialog::GeneralWidgets::actionGB
QGroupBox * actionGB
Definition: umlforeignkeyconstraintdialog.h:59