umbrello  2.38.5
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
void setupCodeImportPage()
Definition: settingsdialog.cpp:120
DontAskAgainWidget * m_dontAskAgainWidget
Definition: settingsdialog.h:92
KPageWidgetItem * pageGeneral
Definition: settingsdialog.h:104
KPageWidgetItem * pageClass
Definition: settingsdialog.h:104
QCheckBox * rightToLeftUI
Definition: settingsdialog.h:61
A dialog page to display the user interface options.
Definition: uioptionspage.h:36
configurable params for the code viewer tool
Definition: codeviewerstate.h:15
A dialog page to display the class related options.
Definition: classoptionspage.h:34
QGroupBox * colorGB
Definition: settingsdialog.h:62
KPageWidgetItem * pageAutoLayout
Definition: settingsdialog.h:104
Definition: dontaskagain.h:61
QString getCodeGenerationLanguage()
Definition: settingsdialog.cpp:250
bool getChangesApplied() const
Definition: settingsdialog.h:50
CodeImportOptionsPage * m_pCodeImportPage
Definition: settingsdialog.h:96
CodeGenOptionsPage * m_pCodeGenPage
Definition: settingsdialog.h:97
QCheckBox * useFillColorCB
Definition: settingsdialog.h:77
KPageWidgetItem * pageCodeViewer
Definition: settingsdialog.h:104
QCheckBox * textColorCB
Definition: settingsdialog.h:64
AutoLayoutOptionPage * m_pAutoLayoutPage
Definition: settingsdialog.h:95
UMLWidgetStylePage * m_pUserInterfacePage
Definition: settingsdialog.h:94
KColorButton * bgColorB
Definition: settingsdialog.h:75
QCheckBox * lineColorCB
Definition: settingsdialog.h:65
PageType
Available page types.
Definition: multipagedialogbase.h:52
void setupUIPage()
Definition: settingsdialog.cpp:97
Definition: optionstate.h:308
bool m_bChangesApplied
Definition: settingsdialog.h:103
QCheckBox * gridColorCB
Definition: settingsdialog.h:68
QSpinBox * lineWidthB
Definition: settingsdialog.h:76
void setupGeneralPage()
Definition: settingsdialog.cpp:104
ClassOptionsPage * m_pClassPage
Definition: settingsdialog.h:100
SettingsDialog(QWidget *parent, Settings::OptionState *state)
Definition: settingsdialog.cpp:32
QCheckBox * lineWidthCB
Definition: settingsdialog.h:67
KPageWidgetItem * pageFont
Definition: settingsdialog.h:104
KPageWidgetItem * pageCodeImport
Definition: settingsdialog.h:104
Definition: multipagedialogbase.h:46
void slotApply()
Definition: settingsdialog.cpp:151
CodeViewerOptionsPage * m_pCodeViewerPage
Definition: settingsdialog.h:98
void setupAutoLayoutPage()
Definition: settingsdialog.cpp:144
QCheckBox * bgColorCB
Definition: settingsdialog.h:69
Definition: settingsdialog.h:39
KColorButton * lineColorB
Definition: settingsdialog.h:72
KColorButton * gridColorB
Definition: settingsdialog.h:74
KColorButton * fillColorB
Definition: settingsdialog.h:73
KPageWidgetItem * pageUserInterface
Definition: settingsdialog.h:104
void slotOk()
Definition: settingsdialog.cpp:158
Definition: codeimportoptionspage.h:19
Definition: codevieweroptionspage.h:17
Definition: umlwidgetstylepage.h:27
KColorButton * textColorB
Definition: settingsdialog.h:71
GeneralOptionPage * m_pGeneralPage
Definition: settingsdialog.h:99
KPageWidgetItem * pageCodeGen
Definition: settingsdialog.h:104
void setupCodeViewerPage(Settings::CodeViewerState options)
Definition: settingsdialog.cpp:136
void applyPage(KPageWidgetItem *)
Definition: settingsdialog.cpp:211
Definition: codegenoptionspage.h:30
void setCurrentPage(PageType page)
Definition: settingsdialog.cpp:62
Definition: autolayoutoptionpage.h:19
UIOptionsPage * m_uiOptionsPage
Definition: settingsdialog.h:101
QCheckBox * fillColorCB
Definition: settingsdialog.h:66
Definition: generaloptionpage.h:27
~SettingsDialog()
Definition: settingsdialog.cpp:53
Settings::OptionState * m_pOptionState
Definition: settingsdialog.h:93
Definition: settingsdialog.h:60
void slotDefault()
Definition: settingsdialog.cpp:173
void setupCodeGenPage()
Definition: settingsdialog.cpp:127
void setupClassPage()
Definition: settingsdialog.cpp:113