umbrello  2.39.2
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  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2012-2022 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef MULTIPAGEDIALOGBASE_H
7 #define MULTIPAGEDIALOGBASE_H
8 
9 #include "icon_utils.h"
10 
11 #include <kpagewidget.h>
12 
13 // qt class includes
14 #include <QDialog>
15 #include <QWidget>
16 
17 //forward declarations
18 class AssociationWidget;
21 class KFontChooser;
22 class KPageDialog;
23 class QAbstractButton;
24 class QFrame;
25 class NotePage;
26 class NoteWidget;
27 class MessageWidget;
28 class UMLWidget;
30 class UMLWidgetStylePage;
31 class WidgetBase;
32 class UMLScene;
33 namespace Settings { class OptionState; }
34 
46 class MultiPageDialogBase : public QWidget
47 {
48  Q_OBJECT
49 
50 public:
52  enum PageType {
61  };
62 
63  explicit MultiPageDialogBase(QWidget *parent, bool withDefaultButton=false);
64  virtual ~MultiPageDialogBase();
65 
66  void apply();
67 
68  void setCaption(const QString &caption);
69  void accept();
70  void reject();
71  KPageWidgetItem *currentPage() const;
72  void addPage(KPageWidgetItem *page);
73  void setCurrentPage(KPageWidgetItem *page);
74  int exec();
75 
76  virtual bool isModified() const;
77 
78 signals:
79  void okClicked();
80  void applyClicked();
81  void defaultClicked();
82 
83 protected slots:
84  void slotEnableButtonOk(bool state);
85 
86 private slots:
87  void slotOkClicked();
88  void slotApplyClicked();
89  void slotDefaultClicked();
90  void slotHelpClicked();
91  void slotButtonClicked(QAbstractButton *button);
92 protected:
97  KFontChooser *m_fontChooser;
99  KPageWidgetItem *m_pageItem;
100  KPageDialog *m_pageDialog;
101  KPageWidget *m_pageWidget;
104  virtual void keyPressEvent(QKeyEvent *event);
105 
106  QFrame* createPage(const QString& name, const QString& header, Icon_Utils::IconType icon);
107  KPageWidgetItem *createPage(const QString &name, const QString &header, Icon_Utils::IconType icon, QWidget *widget);
108 
109  void setupGeneralPage(AssociationWidget *widget);
111 
112  void setupGeneralPage(NoteWidget *widget);
113  KPageWidgetItem *setupGeneralPage(MessageWidget *widget);
115 
116  KPageWidgetItem *setupFontPage(const QFont &font);
117  KPageWidgetItem *setupFontPage(UMLWidget *widget);
118  KPageWidgetItem *setupFontPage(AssociationWidget *widget);
119  void resetFontPage(QWidget *widget);
120  void applyFontPage(AssociationWidget *widget);
122  void applyFontPage(UMLScene *scene);
123  void applyFontPage(UMLWidget *widget);
124 
125  KPageWidgetItem *setupStylePage(WidgetBase *widget);
126  KPageWidgetItem *setupStylePage(AssociationWidget *widget);
127  void applyStylePage();
128 
129  KPageWidgetItem *setupAssociationRolePage(AssociationWidget *widget);
131 };
132 
133 #endif
Display properties on a UMLObject.
Definition: associationgeneralpage.h:35
Display properties on a UMLObject.
Definition: associationrolepage.h:30
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde....
Definition: associationwidget.h:47
Displays a message.
Definition: messagewidget.h:36
Definition: multipagedialogbase.h:47
void defaultClicked()
Definition: moc_multipagedialogbase.cpp:198
void slotHelpClicked()
Definition: multipagedialogbase.cpp:208
void resetFontPage(QWidget *widget)
Definition: multipagedialogbase.cpp:364
MultiPageDialogBase(QWidget *parent, bool withDefaultButton=false)
Definition: multipagedialogbase.cpp:43
virtual bool isModified() const
Definition: multipagedialogbase.cpp:176
void applyAssociationRolePage()
Definition: multipagedialogbase.cpp:451
void okClicked()
Definition: moc_multipagedialogbase.cpp:186
void addPage(KPageWidgetItem *page)
Definition: multipagedialogbase.cpp:141
int exec()
Definition: multipagedialogbase.cpp:162
UMLWidgetStylePage * m_pStylePage
Definition: multipagedialogbase.h:98
AssociationRolePage * m_pRolePage
Definition: multipagedialogbase.h:96
void reject()
Definition: multipagedialogbase.cpp:127
virtual void keyPressEvent(QKeyEvent *event)
Definition: multipagedialogbase.cpp:245
KFontChooser * m_fontChooser
Definition: multipagedialogbase.h:97
virtual ~MultiPageDialogBase()
Definition: multipagedialogbase.cpp:78
QFrame * createPage(const QString &name, const QString &header, Icon_Utils::IconType icon)
Definition: multipagedialogbase.cpp:262
void slotDefaultClicked()
Definition: multipagedialogbase.cpp:200
PageType
Available page types.
Definition: multipagedialogbase.h:52
@ UserInterfacePage
Definition: multipagedialogbase.h:60
@ CodeGenerationPage
Definition: multipagedialogbase.h:56
@ GeneralPage
Definition: multipagedialogbase.h:59
@ FontPage
Definition: multipagedialogbase.h:58
@ CodeImportPage
Definition: multipagedialogbase.h:55
@ ClassPage
Definition: multipagedialogbase.h:54
@ AutoLayoutPage
Definition: multipagedialogbase.h:53
@ CodeViewerPage
Definition: multipagedialogbase.h:57
void slotApplyClicked()
Definition: multipagedialogbase.cpp:192
void setCaption(const QString &caption)
Definition: multipagedialogbase.cpp:115
void applyClicked()
Definition: moc_multipagedialogbase.cpp:192
SelectOperationPage * m_operationGeneralPage
Definition: multipagedialogbase.h:95
KPageWidgetItem * setupStylePage(WidgetBase *widget)
Definition: multipagedialogbase.cpp:410
KPageWidgetItem * setupFontPage(const QFont &font)
Definition: multipagedialogbase.cpp:333
KPageWidgetItem * currentPage() const
Definition: multipagedialogbase.cpp:133
AssociationGeneralPage * m_pAssocGeneralPage
Definition: multipagedialogbase.h:93
void slotEnableButtonOk(bool state)
Definition: multipagedialogbase.cpp:84
void applyStylePage()
Definition: multipagedialogbase.cpp:431
NotePage * m_notePage
Definition: multipagedialogbase.h:94
void applyGeneralPage(MessageWidget *widget)
KPageWidgetItem * setupAssociationRolePage(AssociationWidget *widget)
Definition: multipagedialogbase.cpp:441
void setupGeneralPage(AssociationWidget *widget)
Definition: multipagedialogbase.cpp:297
bool m_useDialog
Definition: multipagedialogbase.h:102
void accept()
Definition: multipagedialogbase.cpp:121
void setCurrentPage(KPageWidgetItem *page)
Definition: multipagedialogbase.cpp:154
bool m_isModified
Definition: multipagedialogbase.h:103
void apply()
Definition: multipagedialogbase.cpp:93
void slotOkClicked()
Definition: multipagedialogbase.cpp:184
KPageDialog * m_pageDialog
Definition: multipagedialogbase.h:100
void slotButtonClicked(QAbstractButton *button)
Definition: multipagedialogbase.cpp:218
void applyFontPage(AssociationWidget *widget)
Definition: multipagedialogbase.cpp:374
KPageWidget * m_pageWidget
Definition: multipagedialogbase.h:101
KPageWidgetItem * m_pageItem
Definition: multipagedialogbase.h:99
void applyGeneralPage(AssociationWidget *widget)
Definition: notepage.h:19
Displays a note box.
Definition: notewidget.h:26
A dialog page to select an operation.
Definition: selectoperationpage.h:31
Definition: optionstate.h:308
Definition: umlscene.h:65
Definition: umlwidgetstylepage.h:28
The base class for graphical UML objects.
Definition: umlwidget.h:36
Common base class for UMLWidget and AssociationWidget.
Definition: widgetbase.h:101
IconType
Definition: icon_utils.h:25
Definition: codeviewerstate.cpp:10