umbrello  2.32.3
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  * 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) 2002-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 #ifndef SETTINGSDIALOG_H
11 #define SETTINGSDIALOG_H
12 
13 // app includes
14 #include "multipagedialogbase.h"
15 #include "optionstate.h"
16 
17 // kde includes
18 #include <kcombobox.h>
19 #include <kcolorbutton.h>
20 #include <klineedit.h>
21 
23 class ClassOptionsPage;
25 class CodeGenOptionsPage;
27 class DontAskAgainWidget;
28 class GeneralOptionPage;
29 class KColorButton;
30 class KFontChooser;
31 #if QT_VERSION < 0x050000
32 class KIntSpinBox;
33 #endif
34 class UIOptionsPage;
35 
36 class QCheckBox;
37 #if QT_VERSION >= 0x050000
38 class QFontDialog;
39 #endif
40 class QGroupBox;
41 #if QT_VERSION >= 0x050000
42 class QSpinBox;
43 #endif
44 class UMLWidgetStylePage;
45 
52 {
53  Q_OBJECT
54 
55 public:
56  SettingsDialog(QWidget * parent, Settings::OptionState *state);
58 
59  void setCurrentPage(PageType page);
60 
61  //public methods
63  return m_bChangesApplied;
64  }
65 
66  QString getCodeGenerationLanguage();
67 
68 protected:
69 
70 private:
71  //private structs
72  struct UIWidgets {
73  QCheckBox * rightToLeftUI;
74  QGroupBox * colorGB;
75 
76  QCheckBox * textColorCB;
77  QCheckBox * lineColorCB;
78  QCheckBox * fillColorCB;
79  QCheckBox * lineWidthCB;
80  QCheckBox * gridColorCB;
81  QCheckBox * bgColorCB;
82 
83  KColorButton * textColorB;
84  KColorButton * lineColorB;
85  KColorButton * fillColorB;
86  KColorButton * gridColorB;
87  KColorButton * bgColorB;
88 #if QT_VERSION >= 0x050000
89  QSpinBox * lineWidthB;
90 #else
91  KIntSpinBox * lineWidthB;
92 #endif
93  QCheckBox * useFillColorCB;
94  }
95  ;//end struct UIWidgets
96 
97  //private methods
98  void setupUIPage();
99  void setupGeneralPage();
100  void setupClassPage();
101  void setupCodeImportPage();
102  void setupCodeGenPage();
104  void setupAutoLayoutPage();
105  void applyPage(KPageWidgetItem*);
106 
107  //private attributes
118 
122 
123 private slots:
124  void slotApply();
125  void slotOk();
126  void slotDefault();
127 };
128 
129 #endif
Definition: autolayoutoptionpage.h:25
A dialog page to display the class related options.
Definition: classoptionspage.h:40
Definition: codegenoptionspage.h:36
Definition: codeimportoptionspage.h:33
Definition: codevieweroptionspage.h:23
Definition: dontaskagain.h:67
Definition: generaloptionpage.h:38
Definition: multipagedialogbase.h:52
PageType
Available page types.
Definition: multipagedialogbase.h:57
Definition: settingsdialog.h:52
UIOptionsPage * m_uiOptionsPage
Definition: settingsdialog.h:117
UMLWidgetStylePage * m_pUserInterfacePage
Definition: settingsdialog.h:110
void slotDefault()
Definition: settingsdialog.cpp:185
KPageWidgetItem * pageCodeImport
Definition: settingsdialog.h:120
void applyPage(KPageWidgetItem *)
Definition: settingsdialog.cpp:223
void setCurrentPage(PageType page)
Definition: settingsdialog.cpp:76
bool m_bChangesApplied
Definition: settingsdialog.h:119
QString getCodeGenerationLanguage()
Definition: settingsdialog.cpp:262
bool getChangesApplied()
Definition: settingsdialog.h:62
SettingsDialog(QWidget *parent, Settings::OptionState *state)
Definition: settingsdialog.cpp:46
void setupCodeGenPage()
Definition: settingsdialog.cpp:141
KPageWidgetItem * pageCodeGen
Definition: settingsdialog.h:120
void setupCodeViewerPage(Settings::CodeViewerState options)
Definition: settingsdialog.cpp:150
KPageWidgetItem * pageCodeViewer
Definition: settingsdialog.h:120
KPageWidgetItem * pageGeneral
Definition: settingsdialog.h:121
CodeGenOptionsPage * m_pCodeGenPage
Definition: settingsdialog.h:113
CodeImportOptionsPage * m_pCodeImportPage
Definition: settingsdialog.h:112
GeneralOptionPage * m_pGeneralPage
Definition: settingsdialog.h:115
KPageWidgetItem * pageUserInterface
Definition: settingsdialog.h:121
KPageWidgetItem * pageAutoLayout
Definition: settingsdialog.h:121
ClassOptionsPage * m_pClassPage
Definition: settingsdialog.h:116
void setupGeneralPage()
Definition: settingsdialog.cpp:118
KPageWidgetItem * pageClass
Definition: settingsdialog.h:121
void setupAutoLayoutPage()
Definition: settingsdialog.cpp:158
void slotOk()
Definition: settingsdialog.cpp:172
~SettingsDialog()
Definition: settingsdialog.cpp:67
AutoLayoutOptionPage * m_pAutoLayoutPage
Definition: settingsdialog.h:111
DontAskAgainWidget * m_dontAskAgainWidget
Definition: settingsdialog.h:108
void setupCodeImportPage()
Definition: settingsdialog.cpp:134
void setupClassPage()
Definition: settingsdialog.cpp:127
KPageWidgetItem * pageFont
Definition: settingsdialog.h:120
Settings::OptionState * m_pOptionState
Definition: settingsdialog.h:109
CodeViewerOptionsPage * m_pCodeViewerPage
Definition: settingsdialog.h:114
void slotApply()
Definition: settingsdialog.cpp:165
void setupUIPage()
Definition: settingsdialog.cpp:111
configurable params for the code viewer tool
Definition: codeviewerstate.h:20
Definition: optionstate.h:314
A dialog page to display the user interface options.
Definition: uioptionspage.h:42
Definition: umlwidgetstylepage.h:38
Definition: settingsdialog.h:72
QCheckBox * lineWidthCB
Definition: settingsdialog.h:79
QCheckBox * useFillColorCB
Definition: settingsdialog.h:93
QCheckBox * gridColorCB
Definition: settingsdialog.h:80
KIntSpinBox * lineWidthB
Definition: settingsdialog.h:91
QCheckBox * bgColorCB
Definition: settingsdialog.h:81
KColorButton * lineColorB
Definition: settingsdialog.h:84
KColorButton * textColorB
Definition: settingsdialog.h:83
QCheckBox * rightToLeftUI
Definition: settingsdialog.h:73
KColorButton * bgColorB
Definition: settingsdialog.h:87
QCheckBox * lineColorCB
Definition: settingsdialog.h:77
KColorButton * fillColorB
Definition: settingsdialog.h:85
KColorButton * gridColorB
Definition: settingsdialog.h:86
QGroupBox * colorGB
Definition: settingsdialog.h:74
QCheckBox * textColorCB
Definition: settingsdialog.h:76
QCheckBox * fillColorCB
Definition: settingsdialog.h:78