umbrello  2.39.2
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 QLineEdit;
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  QLineEdit* 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
Definition: multipagedialogbase.h:47
Definition: umldoc.h:63
Definition: umlentityattributelist.h:20
A dialog page to display foreignkey constraint properties.
Definition: umlforeignkeyconstraintdialog.h:38
void slotResetWidgetState()
Definition: umlforeignkeyconstraintdialog.cpp:450
void refillReferencedAttributeCB()
Definition: umlforeignkeyconstraintdialog.cpp:409
UMLEntityAttributeList m_pReferencedAttributeList
Definition: umlforeignkeyconstraintdialog.h:90
UMLForeignKeyConstraintDialog(QWidget *parent, UMLForeignKeyConstraint *pForeignKeyConstraint)
Definition: umlforeignkeyconstraintdialog.cpp:49
UMLForeignKeyConstraint * m_pForeignKeyConstraint
Definition: umlforeignkeyconstraintdialog.h:54
UMLDoc * m_doc
the UMLDocument where all objects live
Definition: umlforeignkeyconstraintdialog.h:53
void setupGeneralPage()
Definition: umlforeignkeyconstraintdialog.cpp:197
void refillLocalAttributeCB()
Definition: umlforeignkeyconstraintdialog.cpp:431
bool apply()
Definition: umlforeignkeyconstraintdialog.cpp:150
void slotReferencedEntityChanged(int index)
Definition: umlforeignkeyconstraintdialog.cpp:386
void slotDeletePair()
Definition: umlforeignkeyconstraintdialog.cpp:112
EntityAttributePairList m_pAttributeMapList
Definition: umlforeignkeyconstraintdialog.h:92
void setupColumnPage()
Definition: umlforeignkeyconstraintdialog.cpp:284
ColumnWidgets m_ColumnWidgets
Definition: umlforeignkeyconstraintdialog.h:102
KPageWidgetItem * pageColumn
Definition: umlforeignkeyconstraintdialog.h:104
void slotAddPair()
Definition: umlforeignkeyconstraintdialog.cpp:72
void slotApply()
Definition: umlforeignkeyconstraintdialog.cpp:371
void slotOk()
Definition: umlforeignkeyconstraintdialog.cpp:379
~UMLForeignKeyConstraintDialog()
Definition: umlforeignkeyconstraintdialog.cpp:65
UMLEntityAttributeList m_pLocalAttributeList
Definition: umlforeignkeyconstraintdialog.h:89
int m_pReferencedEntityIndex
Definition: umlforeignkeyconstraintdialog.h:98
GeneralWidgets m_GeneralWidgets
Definition: umlforeignkeyconstraintdialog.h:101
KPageWidgetItem * pageGeneral
Definition: umlforeignkeyconstraintdialog.h:104
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:28
Definition: umlforeignkeyconstraintdialog.h:74
QLabel * referencedColumnL
Definition: umlforeignkeyconstraintdialog.h:82
QPushButton * removePB
Definition: umlforeignkeyconstraintdialog.h:84
QTreeWidget * mappingTW
Definition: umlforeignkeyconstraintdialog.h:76
KComboBox * referencedColumnCB
Definition: umlforeignkeyconstraintdialog.h:79
QPushButton * addPB
Definition: umlforeignkeyconstraintdialog.h:84
QLabel * localColumnL
Definition: umlforeignkeyconstraintdialog.h:81
KComboBox * localColumnCB
Definition: umlforeignkeyconstraintdialog.h:78
Definition: umlforeignkeyconstraintdialog.h:56
QLabel * onUpdateL
Definition: umlforeignkeyconstraintdialog.h:68
QLineEdit * nameT
Definition: umlforeignkeyconstraintdialog.h:64
QGroupBox * actionGB
Definition: umlforeignkeyconstraintdialog.h:59
QLabel * onDeleteL
Definition: umlforeignkeyconstraintdialog.h:69
KComboBox * updateActionCB
Definition: umlforeignkeyconstraintdialog.h:70
QLabel * referencedEntityL
Definition: umlforeignkeyconstraintdialog.h:61
QGroupBox * generalGB
Definition: umlforeignkeyconstraintdialog.h:58
KComboBox * referencedEntityCB
Definition: umlforeignkeyconstraintdialog.h:66
KComboBox * deleteActionCB
Definition: umlforeignkeyconstraintdialog.h:71
QLabel * nameL
Definition: umlforeignkeyconstraintdialog.h:62
QList< EntityAttributePair > EntityAttributePairList
Definition: umlforeignkeyconstraintdialog.h:28
QPair< UMLEntityAttribute *, UMLEntityAttribute * > EntityAttributePair
Definition: umlforeignkeyconstraintdialog.h:25