umbrello  2.37.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
optionstate.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2002-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef OPTIONSTATE_H
7 #define OPTIONSTATE_H
8 
9 #include "basictypes.h"
10 #include "codeviewerstate.h"
11 #include "codegenerationpolicy.h"
12 
13 #include <QDomElement>
14 #include <QXmlStreamWriter>
15 
16 namespace Settings {
17 
18 enum Page
19 {
27 };
28 
29 //public structs
30 class GeneralState {
31 public:
33  : undo(false),
34  tabdiagrams(false),
35  newcodegen(false),
36  angularlines(false),
37  layoutType(Uml::LayoutType::Undefined),
38  footerPrinting(false),
39  autosave(false),
40  time(0),
41  autosavetime(0),
42  loadlast(false),
43  diagram(Uml::DiagramType::Class),
44  defaultLanguage(Uml::ProgrammingLanguage::Cpp),
45  uml2(false)
46  {
47  }
48 
49  void load();
50  void save();
51 
52  bool undo;
54  bool newcodegen;
58  bool autosave;
59  int time;
61  QString autosavesuffix;
62  bool loadlast;
65  QString lastFile;
66  bool uml2;
67 };
68 
69 class UIState {
70 public:
72  : useFillColor(false),
73  lineWidth(0)
74  {
75  }
76 
77  void load();
78  void save();
79 
80  void saveToXMI(QXmlStreamWriter& writer);
81  bool loadFromXMI(QDomElement& element);
82 
84  QColor fillColor;
85  QColor lineColor;
86  uint lineWidth;
87  QColor textColor;
88  QFont font;
90  QColor gridDotColor;
91 };
92 
93 class ClassState {
94 public:
96  : showVisibility(false),
97  showAtts(false),
98  showOps(false),
99  showStereoType(Uml::ShowStereoType::None),
100  showAttSig(false),
101  showOpSig(false),
102  showPackage(false),
103  showAttribAssocs(false),
104  showDocumentation(false),
105  showPublicOnly(false),
106  defaultAttributeScope(Uml::Visibility::Public),
107  defaultOperationScope(Uml::Visibility::Public)
108  {
109  }
110 
111  void load();
112  void save();
113 
114  void saveToXMI(QXmlStreamWriter& writer);
115  bool loadFromXMI(QDomElement& element);
116 
118  bool showAtts;
119  bool showOps;
122  bool showOpSig;
129 };
130 
132 public:
134  : autoGenEmptyConstructors(false),
135  commentStyle(CodeGenerationPolicy::SingleLine),
136  defaultAssocFieldScope(Uml::Visibility::Public),
138  forceDoc(false),
139  forceSections(false),
140  includeHeadings(false),
141  indentationAmount(false),
143 #ifdef Q_OS_WIN
145 #elif defined(Q_OS_MAC)
147 #else
149 #endif
152  {
153  }
154 
155  void load();
156  void save();
157 
162  bool forceDoc;
172 
174  public:
176  : autoGenAccessors(false),
177  inlineAccessors(false),
178  inlineOps(false),
179  packageIsNamespace(false),
180  publicAccessors(false),
181  stringIncludeIsGlobal(false),
182  vectorIncludeIsGlobal(false),
183  virtualDestructors(false),
184  getterWithGetPrefix(false),
187  {
188  }
189 
192  bool inlineOps;
201  QString docToolTag;
207  };
208 
210  public:
214  buildANTDocument(false)
215  {
216  }
217 
221  };
222 
224  public:
228  buildANTDocument(false)
229  {
230  }
231 
235  };
236 
238  public:
242  {
243  }
244 
247  };
248 
253 };
254 
256 public:
258  : createArtifacts(false),
259  resolveDependencies(false),
260  supportCPP11(true)
261  {
262  }
263 
264  void load();
265  void save();
266 
267  void saveToXMI(QXmlStreamWriter& writer);
268  bool loadFromXMI(QDomElement& element);
269 
273 };
274 
276 public:
278  : autoDotPath(false),
279  showExportLayout(false)
280  {
281  }
282 
283  void load();
284  void save();
285 
286  void saveToXMI(QXmlStreamWriter& writer);
287  bool loadFromXMI(QDomElement& element);
288 
289  bool autoDotPath;
290  QString dotPath;
292 };
293 
295 public:
297  : showExportLayout(Uml::LayoutType::Enum::Direct)
298  {
299  }
300 
301  void load();
302  void save();
303 
304  void saveToXMI(QXmlStreamWriter& writer);
305  bool loadFromXMI(QDomElement& element);
306 
308 };
309 
310 class OptionState {
311 public:
312  OptionState();
313 
314  void load();
315  void save();
316 
317  void saveToXMI(QXmlStreamWriter& writer);
318  bool loadFromXMI(QDomElement& element);
319 
320  static OptionState &instance();
321 
330 };
331 
333 void setOptionState(const OptionState& optstate);
334 
335 } // namespace Settings
336 
337 #endif
Definition: codegenerationpolicy.h:26
ModifyNamePolicy
Definition: codegenerationpolicy.h:43
NewLineType
Definition: codegenerationpolicy.h:44
IndentationType
Definition: codegenerationpolicy.h:45
OverwritePolicy
Definition: codegenerationpolicy.h:42
CommentStyle
Definition: codegenerationpolicy.h:46
Definition: optionstate.h:275
bool autoDotPath
determine path to dot executable automatically
Definition: optionstate.h:289
QString dotPath
path to dot executable
Definition: optionstate.h:290
bool loadFromXMI(QDomElement &element)
void save()
Definition: optionstate.cpp:350
bool showExportLayout
flag for display export layout
Definition: optionstate.h:291
AutoLayoutState()
Definition: optionstate.h:277
void saveToXMI(QXmlStreamWriter &writer)
void load()
Definition: optionstate.cpp:343
Definition: optionstate.h:93
bool showAttribAssocs
Definition: optionstate.h:124
bool showDocumentation
Definition: optionstate.h:125
bool showPublicOnly
Definition: optionstate.h:126
void load()
Definition: optionstate.cpp:64
bool showVisibility
Definition: optionstate.h:117
Uml::Visibility::Enum defaultAttributeScope
Definition: optionstate.h:127
bool showAtts
Definition: optionstate.h:118
bool showAttSig
Definition: optionstate.h:121
Uml::Visibility::Enum defaultOperationScope
Definition: optionstate.h:128
bool showOpSig
Definition: optionstate.h:122
bool showOps
Definition: optionstate.h:119
ClassState()
Definition: optionstate.h:95
void save()
Definition: optionstate.cpp:79
bool loadFromXMI(QDomElement &element)
Definition: optionstate.cpp:120
void saveToXMI(QXmlStreamWriter &writer)
Definition: optionstate.cpp:98
Uml::ShowStereoType::Enum showStereoType
Definition: optionstate.h:120
bool showPackage
Definition: optionstate.h:123
QString vectorClassName
Definition: optionstate.h:198
bool autoGenAccessors
Definition: optionstate.h:190
CPPCodeGenerationState()
Definition: optionstate.h:175
bool accessorMethodsStartWithUpperCase
Definition: optionstate.h:206
bool vectorIncludeIsGlobal
Definition: optionstate.h:202
bool publicAccessors
Definition: optionstate.h:194
QString vectorClassNameInclude
Definition: optionstate.h:199
QString stringClassNameInclude
Definition: optionstate.h:196
bool virtualDestructors
Definition: optionstate.h:203
QString classMemberPrefix
Definition: optionstate.h:200
bool packageIsNamespace
Definition: optionstate.h:193
bool stringIncludeIsGlobal
Definition: optionstate.h:197
bool inlineOps
Definition: optionstate.h:192
QString stringClassName
Definition: optionstate.h:195
bool inlineAccessors
Definition: optionstate.h:191
bool removePrefixFromAccessorMethods
Definition: optionstate.h:205
QString docToolTag
Definition: optionstate.h:201
bool getterWithGetPrefix
Definition: optionstate.h:204
bool buildANTDocument
Definition: optionstate.h:220
DCodeGenerationState()
Definition: optionstate.h:211
bool autoGenerateAttributeAccessors
Definition: optionstate.h:218
bool autoGenerateAssocAccessors
Definition: optionstate.h:219
bool autoGenerateAttributeAccessors
Definition: optionstate.h:232
bool autoGenerateAssocAccessors
Definition: optionstate.h:233
JavaCodeGenerationState()
Definition: optionstate.h:225
bool buildANTDocument
Definition: optionstate.h:234
bool autoGenerateAssocAccessors
Definition: optionstate.h:246
bool autoGenerateAttributeAccessors
Definition: optionstate.h:245
RubyCodeGenerationState()
Definition: optionstate.h:239
Definition: optionstate.h:131
JavaCodeGenerationState javaCodeGenerationState
Definition: optionstate.h:251
CodeGenerationPolicy::NewLineType lineEndingType
Definition: optionstate.h:168
bool autoGenEmptyConstructors
Definition: optionstate.h:158
CodeGenerationState()
Definition: optionstate.h:133
RubyCodeGenerationState rubyCodeGenerationState
Definition: optionstate.h:252
bool forceSections
Definition: optionstate.h:163
QDir headingsDirectory
Definition: optionstate.h:164
int indentationAmount
Definition: optionstate.h:166
bool forceDoc
Definition: optionstate.h:162
DCodeGenerationState dCodeGenerationState
Definition: optionstate.h:250
void load()
Definition: optionstate.cpp:267
QDir outputDirectory
Definition: optionstate.h:170
bool includeHeadings
Definition: optionstate.h:165
Uml::Visibility::Enum defaultAssocFieldScope
Definition: optionstate.h:160
CodeGenerationPolicy::ModifyNamePolicy modnamePolicy
Definition: optionstate.h:169
Uml::Visibility::Enum defaultAttributeAccessorScope
Definition: optionstate.h:161
CodeGenerationPolicy::CommentStyle commentStyle
Definition: optionstate.h:159
CodeGenerationPolicy::IndentationType indentationType
Definition: optionstate.h:167
CPPCodeGenerationState cppCodeGenerationState
Definition: optionstate.h:249
CodeGenerationPolicy::OverwritePolicy overwritePolicy
Definition: optionstate.h:171
void save()
Definition: optionstate.cpp:300
Definition: optionstate.h:255
bool createArtifacts
Definition: optionstate.h:270
void save()
Definition: optionstate.cpp:231
void load()
Definition: optionstate.cpp:223
bool supportCPP11
Definition: optionstate.h:272
bool resolveDependencies
Definition: optionstate.h:271
bool loadFromXMI(QDomElement &element)
Definition: optionstate.cpp:255
void saveToXMI(QXmlStreamWriter &writer)
Definition: optionstate.cpp:242
CodeImportState()
Definition: optionstate.h:257
configurable params for the code viewer tool
Definition: codeviewerstate.h:15
Definition: optionstate.h:30
bool undo
Definition: optionstate.h:52
int autosavetime
Definition: optionstate.h:60
bool angularlines
Definition: optionstate.h:55
QString autosavesuffix
Text input field for suffix of autosave.
Definition: optionstate.h:61
bool autosave
Definition: optionstate.h:58
QString lastFile
Definition: optionstate.h:65
bool newcodegen
Definition: optionstate.h:54
void save()
Definition: optionstate.cpp:47
bool tabdiagrams
Definition: optionstate.h:53
Uml::LayoutType::Enum layoutType
Definition: optionstate.h:56
bool loadlast
Definition: optionstate.h:62
int time
old autosave time, kept for compatibility
Definition: optionstate.h:59
void load()
Definition: optionstate.cpp:15
bool uml2
Definition: optionstate.h:66
Uml::ProgrammingLanguage::Enum defaultLanguage
Definition: optionstate.h:64
GeneralState()
Definition: optionstate.h:32
bool footerPrinting
Definition: optionstate.h:57
Uml::DiagramType::Enum diagram
Definition: optionstate.h:63
Definition: optionstate.h:294
LayoutTypeState()
Definition: optionstate.h:296
bool loadFromXMI(QDomElement &element)
Uml::LayoutType::Enum showExportLayout
flag for display export layout
Definition: optionstate.h:307
void saveToXMI(QXmlStreamWriter &writer)
Definition: optionstate.h:310
ClassState classState
Definition: optionstate.h:325
CodeImportState codeImportState
Definition: optionstate.h:328
void saveToXMI(QXmlStreamWriter &writer)
Definition: optionstate.cpp:397
CodeViewerState codeViewerState
Definition: optionstate.h:326
bool loadFromXMI(QDomElement &element)
Definition: optionstate.cpp:409
CodeGenerationState codeGenerationState
Definition: optionstate.h:327
LayoutTypeState layoutTypeState
Definition: optionstate.h:323
GeneralState generalState
Definition: optionstate.h:322
void load()
Definition: optionstate.cpp:371
static OptionState & instance()
Definition: optionstate.cpp:417
AutoLayoutState autoLayoutState
Definition: optionstate.h:329
OptionState()
Definition: optionstate.cpp:367
UIState uiState
Definition: optionstate.h:324
void save()
Definition: optionstate.cpp:382
Definition: optionstate.h:69
QColor gridDotColor
Definition: optionstate.h:90
QColor lineColor
Definition: optionstate.h:85
UIState()
Definition: optionstate.h:71
uint lineWidth
Definition: optionstate.h:86
QColor backgroundColor
Definition: optionstate.h:89
void load()
Definition: optionstate.cpp:147
QColor textColor
Definition: optionstate.h:87
QColor fillColor
Definition: optionstate.h:84
bool useFillColor
Definition: optionstate.h:83
bool loadFromXMI(QDomElement &element)
Definition: optionstate.cpp:193
void save()
Definition: optionstate.cpp:159
QFont font
Definition: optionstate.h:88
void saveToXMI(QXmlStreamWriter &writer)
Definition: optionstate.cpp:175
Definition: codeviewerstate.cpp:10
OptionState & optionState()
Definition: optionstate.cpp:357
void setOptionState(const OptionState &optstate)
Definition: optionstate.cpp:362
Page
Definition: optionstate.h:19
@ page_UI
Definition: optionstate.h:22
@ page_codeimport
Definition: optionstate.h:24
@ page_codegen
Definition: optionstate.h:25
@ page_class
Definition: optionstate.h:23
@ page_codeview
Definition: optionstate.h:26
@ page_font
Definition: optionstate.h:21
@ page_general
Definition: optionstate.h:20
Enum
Definition: basictypes.h:63
@ Undefined
Definition: basictypes.h:66
@ Class
Definition: basictypes.h:67
Enum
Definition: basictypes.h:130
@ Direct
Definition: basictypes.h:132
Enum
Definition: basictypes.h:27
Enum
Definition: basictypes.h:291
@ Cpp
Definition: basictypes.h:294
Enum
Definition: basictypes.h:148
@ None
no display of stereotype
Definition: basictypes.h:149
Enum
Definition: basictypes.h:45
@ Public
Definition: basictypes.h:46
Definition: basictypes.cpp:23