umbrello  2.31.90
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  * 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 UMLFOREIGNKEYCONSTRAINTDIALOG_H
12 #define UMLFOREIGNKEYCONSTRAINTDIALOG_H
13 
14 //app includes
15 #include "multipagedialogbase.h"
16 #include "umlentityattributelist.h"
17 
18 //kde includes
19 
20 //qt includes
21 #include <QList>
22 
23 class KComboBox;
24 class KLineEdit;
25 class UMLDoc;
27 class QGroupBox;
28 class QLabel;
29 class QPushButton;
30 class QTreeWidget;
31 
32 typedef QPair<UMLEntityAttribute*, UMLEntityAttribute*> EntityAttributePair;
33 typedef QList<EntityAttributePair> EntityAttributePairList;
34 
43 {
44  Q_OBJECT
45 public:
46  UMLForeignKeyConstraintDialog(QWidget* parent, UMLForeignKeyConstraint* pForeignKeyConstraint);
48 
49 private:
50  bool apply();
51 
52  void setupGeneralPage();
53  void setupColumnPage();
54 
57 
60 
61  struct GeneralWidgets {
62 
63  QGroupBox* generalGB;
64  QGroupBox* actionGB;
65 
67  QLabel* nameL;
68 
69  KLineEdit* nameT;
70 
71  KComboBox* referencedEntityCB;
72 
73  QLabel* onUpdateL;
74  QLabel* onDeleteL;
75  KComboBox* updateActionCB;
76  KComboBox* deleteActionCB;
77  }; // end general widgets
78 
79  struct ColumnWidgets {
80 
81  QTreeWidget* mappingTW;
82 
83  KComboBox* localColumnCB;
84  KComboBox* referencedColumnCB;
85 
86  QLabel* localColumnL;
88 
89  QPushButton* addPB, *removePB;
90  }; // end column widgets
91 
92  // these attributes store the local cache
93 
96 
98 
104  // end of local cache
105 
108 
109  KPageWidgetItem *pageGeneral, *pageColumn;
110 
111 public slots:
112  void slotResetWidgetState();
113  void slotApply();
114  void slotOk();
115  void slotAddPair();
116  void slotDeletePair();
117  void slotReferencedEntityChanged(int index);
118 };
119 
120 #endif
Definition: multipagedialogbase.h:52
Definition: umldoc.h:75
Definition: umlentityattributelist.h:26
A dialog page to display foreignkey constraint properties.
Definition: umlforeignkeyconstraintdialog.h:43
void slotResetWidgetState()
Definition: umlforeignkeyconstraintdialog.cpp:462
void refillReferencedAttributeCB()
Definition: umlforeignkeyconstraintdialog.cpp:421
UMLEntityAttributeList m_pReferencedAttributeList
Definition: umlforeignkeyconstraintdialog.h:95
UMLForeignKeyConstraintDialog(QWidget *parent, UMLForeignKeyConstraint *pForeignKeyConstraint)
Definition: umlforeignkeyconstraintdialog.cpp:55
UMLForeignKeyConstraint * m_pForeignKeyConstraint
Definition: umlforeignkeyconstraintdialog.h:59
UMLDoc * m_doc
the UMLDocument where all objects live
Definition: umlforeignkeyconstraintdialog.h:58
void setupGeneralPage()
Definition: umlforeignkeyconstraintdialog.cpp:201
void refillLocalAttributeCB()
Definition: umlforeignkeyconstraintdialog.cpp:443
bool apply()
Definition: umlforeignkeyconstraintdialog.cpp:155
void slotReferencedEntityChanged(int index)
Definition: umlforeignkeyconstraintdialog.cpp:398
void slotDeletePair()
Definition: umlforeignkeyconstraintdialog.cpp:118
EntityAttributePairList m_pAttributeMapList
Definition: umlforeignkeyconstraintdialog.h:97
void setupColumnPage()
Definition: umlforeignkeyconstraintdialog.cpp:288
ColumnWidgets m_ColumnWidgets
Definition: umlforeignkeyconstraintdialog.h:107
KPageWidgetItem * pageColumn
Definition: umlforeignkeyconstraintdialog.h:109
void slotAddPair()
Definition: umlforeignkeyconstraintdialog.cpp:78
void slotApply()
Definition: umlforeignkeyconstraintdialog.cpp:383
void slotOk()
Definition: umlforeignkeyconstraintdialog.cpp:391
~UMLForeignKeyConstraintDialog()
Definition: umlforeignkeyconstraintdialog.cpp:71
UMLEntityAttributeList m_pLocalAttributeList
Definition: umlforeignkeyconstraintdialog.h:94
int m_pReferencedEntityIndex
Definition: umlforeignkeyconstraintdialog.h:103
GeneralWidgets m_GeneralWidgets
Definition: umlforeignkeyconstraintdialog.h:106
KPageWidgetItem * pageGeneral
Definition: umlforeignkeyconstraintdialog.h:109
Sets up Foreign Key entity constraint information.
Definition: foreignkeyconstraint.h:33
Definition: umlforeignkeyconstraintdialog.h:79
QLabel * referencedColumnL
Definition: umlforeignkeyconstraintdialog.h:87
QPushButton * removePB
Definition: umlforeignkeyconstraintdialog.h:89
QTreeWidget * mappingTW
Definition: umlforeignkeyconstraintdialog.h:81
KComboBox * referencedColumnCB
Definition: umlforeignkeyconstraintdialog.h:84
QPushButton * addPB
Definition: umlforeignkeyconstraintdialog.h:89
QLabel * localColumnL
Definition: umlforeignkeyconstraintdialog.h:86
KComboBox * localColumnCB
Definition: umlforeignkeyconstraintdialog.h:83
Definition: umlforeignkeyconstraintdialog.h:61
QLabel * onUpdateL
Definition: umlforeignkeyconstraintdialog.h:73
QGroupBox * actionGB
Definition: umlforeignkeyconstraintdialog.h:64
QLabel * onDeleteL
Definition: umlforeignkeyconstraintdialog.h:74
KComboBox * updateActionCB
Definition: umlforeignkeyconstraintdialog.h:75
QLabel * referencedEntityL
Definition: umlforeignkeyconstraintdialog.h:66
QGroupBox * generalGB
Definition: umlforeignkeyconstraintdialog.h:63
KLineEdit * nameT
Definition: umlforeignkeyconstraintdialog.h:69
KComboBox * referencedEntityCB
Definition: umlforeignkeyconstraintdialog.h:71
KComboBox * deleteActionCB
Definition: umlforeignkeyconstraintdialog.h:76
QLabel * nameL
Definition: umlforeignkeyconstraintdialog.h:67
QList< EntityAttributePair > EntityAttributePairList
Definition: umlforeignkeyconstraintdialog.h:33
QPair< UMLEntityAttribute *, UMLEntityAttribute * > EntityAttributePair
Definition: umlforeignkeyconstraintdialog.h:30