umbrello 2.34.70-5524f40e1
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-2021 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
21class KFontChooser;
22class KPageDialog;
23class QAbstractButton;
24class QFrame;
25class NotePage;
26class NoteWidget;
27class MessageWidget;
28class UMLWidget;
31class WidgetBase;
32class UMLScene;
33namespace Settings { class OptionState; }
34
46class MultiPageDialogBase : public QWidget
47{
48 Q_OBJECT
49
50public:
52 typedef enum {
61 } PageType;
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 static int spacingHint();
75 int exec();
76
77 virtual bool isModified() const;
78
79signals:
80 void okClicked();
81 void applyClicked();
82 void defaultClicked();
83
84protected slots:
85 void slotEnableButtonOk(bool state);
86
87private slots:
88 void slotOkClicked();
89 void slotApplyClicked();
90 void slotDefaultClicked();
91#if QT_VERSION >= 0x050000
92 void slotHelpClicked();
93 void slotButtonClicked(QAbstractButton *button);
94#endif
95protected:
100 KFontChooser *m_fontChooser;
102 KPageWidgetItem *m_pageItem;
103 KPageDialog *m_pageDialog;
104 KPageWidget *m_pageWidget;
107 virtual void keyPressEvent(QKeyEvent *event);
108
109 QFrame* createPage(const QString& name, const QString& header, Icon_Utils::IconType icon);
110 KPageWidgetItem *createPage(const QString &name, const QString &header, Icon_Utils::IconType icon, QWidget *widget);
111
114
115 void setupGeneralPage(NoteWidget *widget);
116 KPageWidgetItem *setupGeneralPage(MessageWidget *widget);
118
119 KPageWidgetItem *setupFontPage(const QFont &font);
120 KPageWidgetItem *setupFontPage(UMLWidget *widget);
121 KPageWidgetItem *setupFontPage(AssociationWidget *widget);
122 void resetFontPage(QWidget *widget);
123 void applyFontPage(AssociationWidget *widget);
125 void applyFontPage(UMLScene *scene);
126 void applyFontPage(UMLWidget *widget);
127
128 KPageWidgetItem *setupStylePage(WidgetBase *widget);
129 KPageWidgetItem *setupStylePage(AssociationWidget *widget);
130 void applyStylePage();
131
132 KPageWidgetItem *setupAssociationRolePage(AssociationWidget *widget);
134};
135
136#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 resetFontPage(QWidget *widget)
Definition: multipagedialogbase.cpp:426
MultiPageDialogBase(QWidget *parent, bool withDefaultButton=false)
Definition: multipagedialogbase.cpp:80
static int spacingHint()
Definition: multipagedialogbase.cpp:209
virtual bool isModified() const
Definition: multipagedialogbase.cpp:232
void applyAssociationRolePage()
Definition: multipagedialogbase.cpp:513
void okClicked()
Definition: moc_multipagedialogbase.cpp:186
void addPage(KPageWidgetItem *page)
Definition: multipagedialogbase.cpp:188
int exec()
Definition: multipagedialogbase.cpp:218
UMLWidgetStylePage * m_pStylePage
Definition: multipagedialogbase.h:101
AssociationRolePage * m_pRolePage
Definition: multipagedialogbase.h:99
void reject()
Definition: multipagedialogbase.cpp:174
virtual void keyPressEvent(QKeyEvent *event)
Definition: multipagedialogbase.cpp:303
KFontChooser * m_fontChooser
Definition: multipagedialogbase.h:100
virtual ~MultiPageDialogBase()
Definition: multipagedialogbase.cpp:115
QFrame * createPage(const QString &name, const QString &header, Icon_Utils::IconType icon)
Definition: multipagedialogbase.cpp:320
void slotDefaultClicked()
Definition: multipagedialogbase.cpp:256
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:248
void setCaption(const QString &caption)
Definition: multipagedialogbase.cpp:157
void applyClicked()
Definition: moc_multipagedialogbase.cpp:192
SelectOperationPage * m_operationGeneralPage
Definition: multipagedialogbase.h:98
KPageWidgetItem * setupStylePage(WidgetBase *widget)
Definition: multipagedialogbase.cpp:472
KPageWidgetItem * setupFontPage(const QFont &font)
Definition: multipagedialogbase.cpp:395
KPageWidgetItem * currentPage() const
Definition: multipagedialogbase.cpp:180
AssociationGeneralPage * m_pAssocGeneralPage
Definition: multipagedialogbase.h:96
void slotEnableButtonOk(bool state)
Definition: multipagedialogbase.cpp:121
void applyStylePage()
Definition: multipagedialogbase.cpp:493
NotePage * m_notePage
Definition: multipagedialogbase.h:97
void applyGeneralPage(MessageWidget *widget)
KPageWidgetItem * setupAssociationRolePage(AssociationWidget *widget)
Definition: multipagedialogbase.cpp:503
void setupGeneralPage(AssociationWidget *widget)
Definition: multipagedialogbase.cpp:359
bool m_useDialog
Definition: multipagedialogbase.h:105
void accept()
Definition: multipagedialogbase.cpp:168
void setCurrentPage(KPageWidgetItem *page)
Definition: multipagedialogbase.cpp:201
bool m_isModified
Definition: multipagedialogbase.h:106
void apply()
Definition: multipagedialogbase.cpp:135
void slotOkClicked()
Definition: multipagedialogbase.cpp:240
KPageDialog * m_pageDialog
Definition: multipagedialogbase.h:103
void applyFontPage(AssociationWidget *widget)
Definition: multipagedialogbase.cpp:436
KPageWidget * m_pageWidget
Definition: multipagedialogbase.h:104
KPageWidgetItem * m_pageItem
Definition: multipagedialogbase.h:102
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:310
Definition: umlscene.h:65
Definition: umlwidgetstylepage.h:33
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:30
Definition: codeviewerstate.cpp:10