umbrello  2.39.2
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-2022 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 class UIOptionsPage;
27 
28 class QCheckBox;
29 class QFontDialog;
30 class QGroupBox;
31 class QSpinBox;
32 class UMLWidgetStylePage;
33 
40 {
41  Q_OBJECT
42 
43 public:
44  SettingsDialog(QWidget * parent, Settings::OptionState *state);
46 
47  void setCurrentPage(PageType page);
48 
49  //public methods
50  bool getChangesApplied() const {
51  return m_bChangesApplied;
52  }
53 
54  QString getCodeGenerationLanguage();
55 
56 protected:
57 
58 private:
59  //private structs
60  struct UIWidgets {
61  QCheckBox * rightToLeftUI;
62  QGroupBox * colorGB;
63 
64  QCheckBox * textColorCB;
65  QCheckBox * lineColorCB;
66  QCheckBox * fillColorCB;
67  QCheckBox * lineWidthCB;
68  QCheckBox * gridColorCB;
69  QCheckBox * bgColorCB;
70 
71  KColorButton * textColorB;
72  KColorButton * lineColorB;
73  KColorButton * fillColorB;
74  KColorButton * gridColorB;
75  KColorButton * bgColorB;
76  QSpinBox * lineWidthB;
77  QCheckBox * useFillColorCB;
78  }
79  ;//end struct UIWidgets
80 
81  //private methods
82  void setupUIPage();
83  void setupGeneralPage();
84  void setupClassPage();
85  void setupCodeImportPage();
86  void setupCodeGenPage();
88  void setupAutoLayoutPage();
89  void applyPage(KPageWidgetItem*);
90 
91  //private attributes
102 
106 
107 private slots:
108  void slotApply();
109  void slotOk();
110  void slotDefault();
111 };
112 
113 #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:28
Definition: multipagedialogbase.h:47
PageType
Available page types.
Definition: multipagedialogbase.h:52
Definition: settingsdialog.h:40
UIOptionsPage * m_uiOptionsPage
Definition: settingsdialog.h:101
UMLWidgetStylePage * m_pUserInterfacePage
Definition: settingsdialog.h:94
void slotDefault()
Definition: settingsdialog.cpp:173
KPageWidgetItem * pageCodeImport
Definition: settingsdialog.h:104
void applyPage(KPageWidgetItem *)
Definition: settingsdialog.cpp:211
void setCurrentPage(PageType page)
Definition: settingsdialog.cpp:62
bool m_bChangesApplied
Definition: settingsdialog.h:103
QString getCodeGenerationLanguage()
Definition: settingsdialog.cpp:250
SettingsDialog(QWidget *parent, Settings::OptionState *state)
Definition: settingsdialog.cpp:32
void setupCodeGenPage()
Definition: settingsdialog.cpp:127
KPageWidgetItem * pageCodeGen
Definition: settingsdialog.h:104
void setupCodeViewerPage(Settings::CodeViewerState options)
Definition: settingsdialog.cpp:136
KPageWidgetItem * pageCodeViewer
Definition: settingsdialog.h:104
KPageWidgetItem * pageGeneral
Definition: settingsdialog.h:105
CodeGenOptionsPage * m_pCodeGenPage
Definition: settingsdialog.h:97
CodeImportOptionsPage * m_pCodeImportPage
Definition: settingsdialog.h:96
GeneralOptionPage * m_pGeneralPage
Definition: settingsdialog.h:99
KPageWidgetItem * pageUserInterface
Definition: settingsdialog.h:105
KPageWidgetItem * pageAutoLayout
Definition: settingsdialog.h:105
ClassOptionsPage * m_pClassPage
Definition: settingsdialog.h:100
void setupGeneralPage()
Definition: settingsdialog.cpp:104
KPageWidgetItem * pageClass
Definition: settingsdialog.h:105
void setupAutoLayoutPage()
Definition: settingsdialog.cpp:144
bool getChangesApplied() const
Definition: settingsdialog.h:50
void slotOk()
Definition: settingsdialog.cpp:158
~SettingsDialog()
Definition: settingsdialog.cpp:53
AutoLayoutOptionPage * m_pAutoLayoutPage
Definition: settingsdialog.h:95
DontAskAgainWidget * m_dontAskAgainWidget
Definition: settingsdialog.h:92
void setupCodeImportPage()
Definition: settingsdialog.cpp:120
void setupClassPage()
Definition: settingsdialog.cpp:113
KPageWidgetItem * pageFont
Definition: settingsdialog.h:104
Settings::OptionState * m_pOptionState
Definition: settingsdialog.h:93
CodeViewerOptionsPage * m_pCodeViewerPage
Definition: settingsdialog.h:98
void slotApply()
Definition: settingsdialog.cpp:151
void setupUIPage()
Definition: settingsdialog.cpp:97
configurable params for the code viewer tool
Definition: codeviewerstate.h:15
Definition: optionstate.h:308
A dialog page to display the user interface options.
Definition: uioptionspage.h:37
Definition: umlwidgetstylepage.h:28
Definition: settingsdialog.h:60
QCheckBox * lineWidthCB
Definition: settingsdialog.h:67
QSpinBox * lineWidthB
Definition: settingsdialog.h:76
QCheckBox * useFillColorCB
Definition: settingsdialog.h:77
QCheckBox * gridColorCB
Definition: settingsdialog.h:68
QCheckBox * bgColorCB
Definition: settingsdialog.h:69
KColorButton * lineColorB
Definition: settingsdialog.h:72
KColorButton * textColorB
Definition: settingsdialog.h:71
QCheckBox * rightToLeftUI
Definition: settingsdialog.h:61
KColorButton * bgColorB
Definition: settingsdialog.h:75
QCheckBox * lineColorCB
Definition: settingsdialog.h:65
KColorButton * fillColorB
Definition: settingsdialog.h:73
KColorButton * gridColorB
Definition: settingsdialog.h:74
QGroupBox * colorGB
Definition: settingsdialog.h:62
QCheckBox * textColorCB
Definition: settingsdialog.h:64
QCheckBox * fillColorCB
Definition: settingsdialog.h:66