umbrello  2.32.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
multipagedialogbase.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) 2012-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #ifndef MULTIPAGEDIALOGBASE_H
12 #define MULTIPAGEDIALOGBASE_H
13 
14 #include "icon_utils.h"
15 
16 #include <kpagewidget.h>
17 
18 // qt class includes
19 #include <QDialog>
20 #include <QWidget>
21 
22 //forward declarations
23 class AssociationWidget;
26 class KFontChooser;
27 class KPageDialog;
28 class QAbstractButton;
29 class QFrame;
30 class NotePage;
31 class NoteWidget;
32 class MessageWidget;
33 class UMLWidget;
35 class UMLWidgetStylePage;
36 class WidgetBase;
37 class UMLScene;
38 namespace Settings { class OptionState; }
39 
51 class MultiPageDialogBase : public QWidget
52 {
53  Q_OBJECT
54 
55 public:
57  typedef enum {
66  } PageType;
67 
68  explicit MultiPageDialogBase(QWidget *parent, bool withDefaultButton=false);
69  virtual ~MultiPageDialogBase();
70 
71  void apply();
72 
73  void setCaption(const QString &caption);
74  void accept();
75  void reject();
76  KPageWidgetItem *currentPage();
77  void addPage(KPageWidgetItem *page);
78  void setCurrentPage(KPageWidgetItem *page);
79  static int spacingHint();
80  int exec();
81 
82  virtual bool isModified();
83 
84 signals:
85  void okClicked();
86  void applyClicked();
87  void defaultClicked();
88 
89 protected slots:
90  void slotEnableButtonOk(bool state);
91 
92 private slots:
93  void slotOkClicked();
94  void slotApplyClicked();
95  void slotDefaultClicked();
96 #if QT_VERSION >= 0x050000
97  void slotHelpClicked();
98  void slotButtonClicked(QAbstractButton *button);
99 #endif
100 protected:
105  KFontChooser *m_fontChooser;
107  KPageWidgetItem *m_pageItem;
108  KPageDialog *m_pageDialog;
109  KPageWidget *m_pageWidget;
112  virtual void keyPressEvent(QKeyEvent *event);
113 
114  QFrame* createPage(const QString& name, const QString& header, Icon_Utils::IconType icon);
115  KPageWidgetItem *createPage(const QString &name, const QString &header, Icon_Utils::IconType icon, QWidget *widget);
116 
117  void setupGeneralPage(AssociationWidget *widget);
119 
120  void setupGeneralPage(NoteWidget *widget);
121  KPageWidgetItem *setupGeneralPage(MessageWidget *widget);
123 
124  KPageWidgetItem *setupFontPage(const QFont &font);
125  KPageWidgetItem *setupFontPage(UMLWidget *widget);
126  KPageWidgetItem *setupFontPage(AssociationWidget *widget);
127  void resetFontPage(QWidget *widget);
128  void applyFontPage(AssociationWidget *widget);
130  void applyFontPage(UMLScene *scene);
131  void applyFontPage(UMLWidget *widget);
132 
133  KPageWidgetItem *setupStylePage(WidgetBase *widget);
134  KPageWidgetItem *setupStylePage(AssociationWidget *widget);
135  void applyStylePage();
136 
137  KPageWidgetItem *setupAssociationRolePage(AssociationWidget *widget);
139 };
140 
141 #endif
Display properties on a UMLObject.
Definition: associationgeneralpage.h:40
Display properties on a UMLObject.
Definition: associationrolepage.h:35
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde....
Definition: associationwidget.h:52
Displays a message.
Definition: messagewidget.h:41
Definition: multipagedialogbase.h:52
void defaultClicked()
Definition: moc_multipagedialogbase.cpp:198
void resetFontPage(QWidget *widget)
Definition: multipagedialogbase.cpp:431
MultiPageDialogBase(QWidget *parent, bool withDefaultButton=false)
Definition: multipagedialogbase.cpp:85
static int spacingHint()
Definition: multipagedialogbase.cpp:214
void applyAssociationRolePage()
Definition: multipagedialogbase.cpp:518
void okClicked()
Definition: moc_multipagedialogbase.cpp:186
void addPage(KPageWidgetItem *page)
Definition: multipagedialogbase.cpp:193
int exec()
Definition: multipagedialogbase.cpp:223
UMLWidgetStylePage * m_pStylePage
Definition: multipagedialogbase.h:106
AssociationRolePage * m_pRolePage
Definition: multipagedialogbase.h:104
void reject()
Definition: multipagedialogbase.cpp:179
virtual void keyPressEvent(QKeyEvent *event)
Definition: multipagedialogbase.cpp:308
KFontChooser * m_fontChooser
Definition: multipagedialogbase.h:105
virtual ~MultiPageDialogBase()
Definition: multipagedialogbase.cpp:120
QFrame * createPage(const QString &name, const QString &header, Icon_Utils::IconType icon)
Definition: multipagedialogbase.cpp:325
void slotDefaultClicked()
Definition: multipagedialogbase.cpp:261
PageType
Available page types.
Definition: multipagedialogbase.h:57
@ UserInterfacePage
Definition: multipagedialogbase.h:65
@ CodeGenerationPage
Definition: multipagedialogbase.h:61
@ GeneralPage
Definition: multipagedialogbase.h:64
@ FontPage
Definition: multipagedialogbase.h:63
@ CodeImportPage
Definition: multipagedialogbase.h:60
@ ClassPage
Definition: multipagedialogbase.h:59
@ AutoLayoutPage
Definition: multipagedialogbase.h:58
@ CodeViewerPage
Definition: multipagedialogbase.h:62
void slotApplyClicked()
Definition: multipagedialogbase.cpp:253
void setCaption(const QString &caption)
Definition: multipagedialogbase.cpp:162
void applyClicked()
Definition: moc_multipagedialogbase.cpp:192
SelectOperationPage * m_operationGeneralPage
Definition: multipagedialogbase.h:103
KPageWidgetItem * setupStylePage(WidgetBase *widget)
Definition: multipagedialogbase.cpp:477
KPageWidgetItem * setupFontPage(const QFont &font)
Definition: multipagedialogbase.cpp:400
AssociationGeneralPage * m_pAssocGeneralPage
Definition: multipagedialogbase.h:101
void slotEnableButtonOk(bool state)
Definition: multipagedialogbase.cpp:126
void applyStylePage()
Definition: multipagedialogbase.cpp:498
NotePage * m_notePage
Definition: multipagedialogbase.h:102
void applyGeneralPage(MessageWidget *widget)
KPageWidgetItem * setupAssociationRolePage(AssociationWidget *widget)
Definition: multipagedialogbase.cpp:508
void setupGeneralPage(AssociationWidget *widget)
Definition: multipagedialogbase.cpp:364
bool m_useDialog
Definition: multipagedialogbase.h:110
void accept()
Definition: multipagedialogbase.cpp:173
void setCurrentPage(KPageWidgetItem *page)
Definition: multipagedialogbase.cpp:206
virtual bool isModified()
Definition: multipagedialogbase.cpp:237
KPageWidgetItem * currentPage()
Definition: multipagedialogbase.cpp:185
bool m_isModified
Definition: multipagedialogbase.h:111
void apply()
Definition: multipagedialogbase.cpp:140
void slotOkClicked()
Definition: multipagedialogbase.cpp:245
KPageDialog * m_pageDialog
Definition: multipagedialogbase.h:108
void applyFontPage(AssociationWidget *widget)
Definition: multipagedialogbase.cpp:441
KPageWidget * m_pageWidget
Definition: multipagedialogbase.h:109
KPageWidgetItem * m_pageItem
Definition: multipagedialogbase.h:107
void applyGeneralPage(AssociationWidget *widget)
Definition: notepage.h:24
Displays a note box.
Definition: notewidget.h:31
A dialog page to select an operation.
Definition: selectoperationpage.h:36
Definition: optionstate.h:315
Definition: umlscene.h:70
Definition: umlwidgetstylepage.h:38
The base class for graphical UML objects.
Definition: umlwidget.h:41
Common base class for UMLWidget and AssociationWidget.
Definition: widgetbase.h:106
IconType
Definition: icon_utils.h:47
Definition: codeviewerstate.cpp:15