umbrello  2.31.80
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
settingsdialog.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2002-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 #ifndef SETTINGSDIALOG_H
6 #define SETTINGSDIALOG_H
7 
8 // app includes
9 #include "multipagedialogbase.h"
10 #include "optionstate.h"
11 
12 // kde includes
13 #include <kcombobox.h>
14 #include <kcolorbutton.h>
15 #include <klineedit.h>
16 
18 class ClassOptionsPage;
20 class CodeGenOptionsPage;
22 class DontAskAgainWidget;
23 class GeneralOptionPage;
24 class KColorButton;
25 class KFontChooser;
26 #if QT_VERSION < 0x050000
27 class KIntSpinBox;
28 #endif
29 class UIOptionsPage;
30 
31 class QCheckBox;
32 #if QT_VERSION >= 0x050000
33 class QFontDialog;
34 #endif
35 class QGroupBox;
36 #if QT_VERSION >= 0x050000
37 class QSpinBox;
38 #endif
39 class UMLWidgetStylePage;
40 
47 {
48  Q_OBJECT
49 
50 public:
51  SettingsDialog(QWidget * parent, Settings::OptionState *state);
53 
54  void setCurrentPage(PageType page);
55 
56  //public methods
58  return m_bChangesApplied;
59  }
60 
61  QString getCodeGenerationLanguage();
62 
63 protected:
64 
65 private:
66  //private structs
67  struct UIWidgets {
68  QCheckBox * rightToLeftUI;
69  QGroupBox * colorGB;
70 
71  QCheckBox * textColorCB;
72  QCheckBox * lineColorCB;
73  QCheckBox * fillColorCB;
74  QCheckBox * lineWidthCB;
75  QCheckBox * gridColorCB;
76  QCheckBox * bgColorCB;
77 
78  KColorButton * textColorB;
79  KColorButton * lineColorB;
80  KColorButton * fillColorB;
81  KColorButton * gridColorB;
82  KColorButton * bgColorB;
83 #if QT_VERSION >= 0x050000
84  QSpinBox * lineWidthB;
85 #else
86  KIntSpinBox * lineWidthB;
87 #endif
88  QCheckBox * useFillColorCB;
89  }
90  ;//end struct UIWidgets
91 
92  //private methods
93  void setupUIPage();
94  void setupGeneralPage();
95  void setupClassPage();
96  void setupCodeImportPage();
97  void setupCodeGenPage();
99  void setupAutoLayoutPage();
100  void applyPage(KPageWidgetItem*);
101 
102  //private attributes
113 
117 
118 private slots:
119  void slotApply();
120  void slotOk();
121  void slotDefault();
122 };
123 
124 #endif
Definition: autolayoutoptionpage.h:20
A dialog page to display the class related options.
Definition: classoptionspage.h:35
Definition: codegenoptionspage.h:31
Definition: codeimportoptionspage.h:20
Definition: codevieweroptionspage.h:18
Definition: dontaskagain.h:62
Definition: generaloptionpage.h:33
Definition: multipagedialogbase.h:47
PageType
Available page types.
Definition: multipagedialogbase.h:52
Definition: settingsdialog.h:47
UIOptionsPage * m_uiOptionsPage
Definition: settingsdialog.h:112
UMLWidgetStylePage * m_pUserInterfacePage
Definition: settingsdialog.h:105
void slotDefault()
Definition: settingsdialog.cpp:181
KPageWidgetItem * pageCodeImport
Definition: settingsdialog.h:115
void applyPage(KPageWidgetItem *)
Definition: settingsdialog.cpp:219
void setCurrentPage(PageType page)
Definition: settingsdialog.cpp:71
bool m_bChangesApplied
Definition: settingsdialog.h:114
QString getCodeGenerationLanguage()
Definition: settingsdialog.cpp:258
bool getChangesApplied()
Definition: settingsdialog.h:57
SettingsDialog(QWidget *parent, Settings::OptionState *state)
Definition: settingsdialog.cpp:41
void setupCodeGenPage()
Definition: settingsdialog.cpp:136
KPageWidgetItem * pageCodeGen
Definition: settingsdialog.h:115
void setupCodeViewerPage(Settings::CodeViewerState options)
Definition: settingsdialog.cpp:145
KPageWidgetItem * pageCodeViewer
Definition: settingsdialog.h:115
KPageWidgetItem * pageGeneral
Definition: settingsdialog.h:116
CodeGenOptionsPage * m_pCodeGenPage
Definition: settingsdialog.h:108
CodeImportOptionsPage * m_pCodeImportPage
Definition: settingsdialog.h:107
GeneralOptionPage * m_pGeneralPage
Definition: settingsdialog.h:110
KPageWidgetItem * pageUserInterface
Definition: settingsdialog.h:116
KPageWidgetItem * pageAutoLayout
Definition: settingsdialog.h:116
ClassOptionsPage * m_pClassPage
Definition: settingsdialog.h:111
void setupGeneralPage()
Definition: settingsdialog.cpp:113
KPageWidgetItem * pageClass
Definition: settingsdialog.h:116
void setupAutoLayoutPage()
Definition: settingsdialog.cpp:153
void slotOk()
Definition: settingsdialog.cpp:167
~SettingsDialog()
Definition: settingsdialog.cpp:62
AutoLayoutOptionPage * m_pAutoLayoutPage
Definition: settingsdialog.h:106
DontAskAgainWidget * m_dontAskAgainWidget
Definition: settingsdialog.h:103
void setupCodeImportPage()
Definition: settingsdialog.cpp:129
void setupClassPage()
Definition: settingsdialog.cpp:122
KPageWidgetItem * pageFont
Definition: settingsdialog.h:115
Settings::OptionState * m_pOptionState
Definition: settingsdialog.h:104
CodeViewerOptionsPage * m_pCodeViewerPage
Definition: settingsdialog.h:109
void slotApply()
Definition: settingsdialog.cpp:160
void setupUIPage()
Definition: settingsdialog.cpp:106
configurable params for the code viewer tool
Definition: codeviewerstate.h:15
Definition: optionstate.h:310
A dialog page to display the user interface options.
Definition: uioptionspage.h:37
Definition: umlwidgetstylepage.h:33
Definition: settingsdialog.h:67
QCheckBox * lineWidthCB
Definition: settingsdialog.h:74
QCheckBox * useFillColorCB
Definition: settingsdialog.h:88
QCheckBox * gridColorCB
Definition: settingsdialog.h:75
KIntSpinBox * lineWidthB
Definition: settingsdialog.h:86
QCheckBox * bgColorCB
Definition: settingsdialog.h:76
KColorButton * lineColorB
Definition: settingsdialog.h:79
KColorButton * textColorB
Definition: settingsdialog.h:78
QCheckBox * rightToLeftUI
Definition: settingsdialog.h:68
KColorButton * bgColorB
Definition: settingsdialog.h:82
QCheckBox * lineColorCB
Definition: settingsdialog.h:72
KColorButton * fillColorB
Definition: settingsdialog.h:80
KColorButton * gridColorB
Definition: settingsdialog.h:81
QGroupBox * colorGB
Definition: settingsdialog.h:69
QCheckBox * textColorCB
Definition: settingsdialog.h:71
QCheckBox * fillColorCB
Definition: settingsdialog.h:73