umbrello  2.32.0
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
basictypes.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2011 by Andi Fischer <andi.fischer@hispeed.ch> *
3  * *
4  * This is free software; you can redistribute it and/or modify *
5  * it under the terms of the GNU General Public License as published by *
6  * the Free Software Foundation; either version 2, or (at your option) *
7  * any later version. *
8  * *
9  * This software is distributed in the hope that it will be useful, *
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12  * GNU General Public License for more details. *
13  * *
14  * You should have received a copy of the GNU General Public License *
15  * along with this package; see the file COPYING. If not, write to *
16  * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, *
17  * Boston, MA 02110-1301, USA. *
18  ***************************************************************************/
19 
20 #ifndef BASICTYPES_H
21 #define BASICTYPES_H
22 
23 // qt includes
24 #include <QFont>
25 #include <QString>
26 
27 #include <string>
28 
33 namespace Uml
34 {
35 
39  namespace ModelType
40  {
41  enum Enum {
47  N_MODELTYPES // must remain last
48  };
49  QString toString(Enum item);
50  Enum fromString(const QString& item);
51  Enum fromInt(int item);
52  }
53 
57  namespace Visibility
58  {
59  enum Enum {
63  Implementation, // objects marked with this are declared in the implementation file.
64  FromParent = 3, // alias for Implementation, used by CodeGenerationPolicy
65  Unknown
66  };
67  QString toString(Enum item, bool mnemonic = false);
68  Enum fromString(const QString& item, bool checkUnknown = false);
69  Enum fromInt(int item);
70  }
71 
75  namespace DiagramType
76  {
77  enum Enum {
78  //the values in this enum are saved out to the file
79  //for file compatibility, only add new values to the end
80  Undefined = 0,
91  N_DIAGRAMTYPES // must remain last
92  };
93  QString toString(Enum item);
94  QString toStringI18n(Enum item);
95  Enum fromString(const QString& item);
96  Enum fromInt(int item);
97  }
98 
102  namespace AssociationType
103  {
104  // only append entries to this type
105  // it is used as xmi file attribute
106  enum Enum {
128  // enter new entries before this line
130  Unknown = - 1
131  };
132  QString toString(Enum item);
133  QString toStringI18n(Enum item);
134  Enum fromString(const QString& item);
135  Enum fromInt(int item);
136  bool hasUMLRepresentation(Enum item);
137  }
138 
142  namespace LayoutType
143  {
144  enum Enum {
150  N_LAYOUTTYPES // must remain last
151  };
152  QString toString(Enum item);
153  Enum fromString(const QString& item);
154  Enum fromInt(int item);
155  }
156 
160  namespace SignatureType
161  {
162  enum Enum {
163  NoSig = 600,
166  NoSigNoVis
167  };
168  QString toString(Enum item);
169  Enum fromString(const QString& item);
170  Enum fromInt(int item);
171  }
172 
176  namespace TextRole
177  {
178  enum Enum {
179  Floating = 700, //text widget on diagrams
180  MultiA, //Text for Multiple A
181  MultiB, //Text for Multiple B
182  Name, //middle text on most associations
183  Seq_Message, //message on seq diagram between two objects
184  Seq_Message_Self, //message to self on seq diagram - feature not implemented yet
185  Coll_Message, //message between two objects on a collab diagram
186  Coll_Message_Self, //message to object self on collab diagram
188  RoleAName, //RoleA text on associations
189  RoleBName, //RoleB text on associations
190  ChangeA, //Changeability A text on associations
191  ChangeB, //Changeability B text on associations
192  Reserved //Enter new entries before this line
193  };
194  QString toString(Enum item);
195  Enum fromString(const QString& item);
196  Enum fromInt(int item);
197  }
198 
202  namespace Changeability
203  {
204  enum Enum {
205  Changeable = 900,
207  AddOnly
208  };
209  QString toString(Enum item);
210  Enum fromString(const QString& item);
211  Enum fromInt(int item);
212  }
213 
217  namespace SequenceMessage
218  {
219  enum Enum {
220  //This is saved out to the file so only add new entries at the end
221  Synchronous = 1000,
227  };
228  QString toString(Enum item);
229  Enum fromString(const QString& item);
230  Enum fromInt(int item);
231  }
232 
236  namespace RoleType
237  {
238  enum Enum {
239  A,
240  B
241  };
242  QString toString(Enum item);
243  Enum fromString(const QString& item);
244  Enum fromInt(int item);
245  }
246 
254  namespace ParameterDirection
255  {
256  enum Enum {
257  In,
259  Out
260  };
261  QString toString(Enum item);
262  Enum fromString(const QString& item);
263  Enum fromInt(int item);
264  }
265 
269  namespace ProgrammingLanguage
270  {
271  enum Enum {
276  D,
292  Reserved
293  };
294  QString toString(Enum item);
295  Enum fromString(const QString& item);
296  Enum fromInt(int item);
297  QStringList toExtensions(Enum item);
298  QString toExtensionsDescription(Enum item);
299  bool isCaseSensitive(Enum item);
300  QString scopeSeparator(Enum item);
301  }
302 
308  namespace Region
309  {
310  enum Enum {
311  Error = 0,
320  Center
321  };
322  QString toString(Enum item);
323  Enum fromString(const QString& item);
324  Enum fromInt(int item);
325  }
326 
330  class Corner
331  {
332  public:
333  enum Enum {
334  TopLeft = 0x1,
335  TopRight = 0x2,
336  BottomRight = 0x4,
337  BottomLeft = 0x8
338  };
339  static QString toString(Enum item);
340  static Enum fromString(const QString& item);
341  static Enum fromInt(int item);
342  };
343  Q_DECLARE_FLAGS(Corners, Corner::Enum)
344  Q_DECLARE_OPERATORS_FOR_FLAGS(Corners)
345 
346 
349  namespace ID
350  {
351  typedef std::string Type;
352 
353  const Type None = "-1";
354  const Type Reserved = "0";
355 
356  QString toString(const ID::Type &id);
357  ID::Type fromString(const QString &id);
358  QDebug operator<<(QDebug out, ID::Type &type);
359  }
360 
361 QFont systemFont();
362 
363 } // end namespace Uml
364 
365 static inline QString toString(Uml::ProgrammingLanguage::Enum lang)
366 {
368 }
369 
371 {
373 }
374 
375 qreal toDoubleFromAnyLocale(const QString &s);
376 
377 #endif
Uml::ProgrammingLanguage::PHP
@ PHP
Definition: basictypes.h:283
Uml::Region::NorthWest
@ NorthWest
Definition: basictypes.h:316
Uml::DiagramType::UseCase
@ UseCase
Definition: basictypes.h:82
Uml::ModelType::Enum
Enum
Definition: basictypes.h:41
Uml::ProgrammingLanguage::isCaseSensitive
bool isCaseSensitive(Enum item)
Definition: basictypes.cpp:1101
Uml::ProgrammingLanguage::scopeSeparator
QString scopeSeparator(Enum item)
Definition: basictypes.cpp:1110
Uml::ProgrammingLanguage::Perl
@ Perl
Definition: basictypes.h:282
Uml::DiagramType::Component
@ Component
Definition: basictypes.h:87
Uml::Region::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:1164
Uml::Visibility::Implementation
@ Implementation
Definition: basictypes.h:63
Uml::ProgrammingLanguage::Enum
Enum
Definition: basictypes.h:271
Uml::SignatureType::NoSigNoVis
@ NoSigNoVis
Definition: basictypes.h:166
Uml::ProgrammingLanguage::PostgreSQL
@ PostgreSQL
Definition: basictypes.h:285
Uml::TextRole::Seq_Message
@ Seq_Message
Definition: basictypes.h:183
Uml::LayoutType::Enum
Enum
Definition: basictypes.h:144
Uml::TextRole::ChangeA
@ ChangeA
Definition: basictypes.h:190
Uml::Changeability::AddOnly
@ AddOnly
Definition: basictypes.h:207
Uml::ProgrammingLanguage::Pascal
@ Pascal
Definition: basictypes.h:281
Uml::Region::SouthEast
@ SouthEast
Definition: basictypes.h:318
Uml::SequenceMessage::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:767
Uml::Region::South
@ South
Definition: basictypes.h:315
Uml::ParameterDirection::In
@ In
Definition: basictypes.h:257
Uml::AssociationType::Containment
@ Containment
Definition: basictypes.h:116
Uml::AssociationType::hasUMLRepresentation
bool hasUMLRepresentation(Enum item)
Definition: basictypes.cpp:460
Uml::AssociationType::Reserved
@ Reserved
Definition: basictypes.h:129
Uml::ID::Reserved
const Type Reserved
special value for illegal ID
Definition: basictypes.h:354
Uml::AssociationType::toStringI18n
QString toStringI18n(Enum item)
Definition: basictypes.cpp:339
Uml::AssociationType::Activity
@ Activity
Definition: basictypes.h:122
Uml::TextRole::RoleAName
@ RoleAName
Definition: basictypes.h:188
Uml::Changeability::Changeable
@ Changeable
Definition: basictypes.h:205
Uml::Region::Error
@ Error
Definition: basictypes.h:311
Uml::Corner::BottomLeft
@ BottomLeft
Definition: basictypes.h:337
Uml::ID::operator<<
QDebug operator<<(QDebug out, ID::Type &type)
Definition: basictypes.cpp:1257
Uml::ProgrammingLanguage::Java
@ Java
Definition: basictypes.h:278
toDoubleFromAnyLocale
qreal toDoubleFromAnyLocale(const QString &s)
Definition: basictypes.cpp:1298
Uml::ProgrammingLanguage::Tcl
@ Tcl
Definition: basictypes.h:289
Uml::ParameterDirection::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:859
Uml::AssociationType::State
@ State
Definition: basictypes.h:121
Uml::DiagramType::State
@ State
Definition: basictypes.h:85
Uml::ID::None
const Type None
special value for uninitialized ID
Definition: basictypes.h:353
Uml::RoleType::A
@ A
Definition: basictypes.h:239
Uml::SignatureType::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:556
Uml::ProgrammingLanguage::Reserved
@ Reserved
Definition: basictypes.h:292
Uml::SequenceMessage::toString
QString toString(Enum item)
Definition: basictypes.cpp:725
Uml::ModelType::Logical
@ Logical
Definition: basictypes.h:42
Uml::SequenceMessage::Lost
@ Lost
Definition: basictypes.h:224
Uml::ProgrammingLanguage::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:975
Uml::Corner::toString
static QString toString(Enum item)
Definition: basictypes.cpp:1208
Uml::ProgrammingLanguage::MySQL
@ MySQL
Definition: basictypes.h:280
Uml::ModelType::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:88
Uml::DiagramType::Enum
Enum
Definition: basictypes.h:77
Uml::DiagramType::Collaboration
@ Collaboration
Definition: basictypes.h:84
Uml::AssociationType::Coll_Message_Synchronous
@ Coll_Message_Synchronous
Definition: basictypes.h:127
Uml::SignatureType::SigNoVis
@ SigNoVis
Definition: basictypes.h:165
Uml::ProgrammingLanguage::Python
@ Python
Definition: basictypes.h:286
Uml::TextRole::State
@ State
Definition: basictypes.h:187
Uml::ID::toString
QString toString(const ID::Type &id)
Definition: basictypes.cpp:1263
Uml::Changeability::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:711
Uml::ProgrammingLanguage::ActionScript
@ ActionScript
Definition: basictypes.h:272
Uml::Corner::TopLeft
@ TopLeft
Definition: basictypes.h:334
Uml::ProgrammingLanguage::XMLSchema
@ XMLSchema
Definition: basictypes.h:291
Uml::RoleType::toString
QString toString(Enum item)
Definition: basictypes.cpp:781
Uml::ParameterDirection::Enum
Enum
Definition: basictypes.h:256
Uml::AssociationType::Category2Parent
@ Category2Parent
Definition: basictypes.h:124
Uml::Region::East
@ East
Definition: basictypes.h:314
Uml::ProgrammingLanguage::Ruby
@ Ruby
Definition: basictypes.h:287
Uml::AssociationType::toString
QString toString(Enum item)
Definition: basictypes.cpp:283
Uml::ID::Type
std::string Type
Definition: basictypes.h:351
Uml::SequenceMessage::Synchronous
@ Synchronous
Definition: basictypes.h:221
Uml::Visibility::FromParent
@ FromParent
Definition: basictypes.h:64
Uml::TextRole::Coll_Message_Self
@ Coll_Message_Self
Definition: basictypes.h:186
Uml::AssociationType::UniAssociation
@ UniAssociation
Definition: basictypes.h:119
Uml::AssociationType::Relationship
@ Relationship
Definition: basictypes.h:126
Uml::TextRole::Name
@ Name
Definition: basictypes.h:182
Uml::ProgrammingLanguage::IDL
@ IDL
Definition: basictypes.h:277
Uml::TextRole::RoleBName
@ RoleBName
Definition: basictypes.h:189
Uml::DiagramType::EntityRelationship
@ EntityRelationship
Definition: basictypes.h:89
Uml::RoleType::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:811
Uml::SequenceMessage::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:747
Uml::LayoutType::N_LAYOUTTYPES
@ N_LAYOUTTYPES
Definition: basictypes.h:150
Uml::AssociationType::Association_Self
@ Association_Self
Definition: basictypes.h:111
Uml::AssociationType::Unknown
@ Unknown
Definition: basictypes.h:130
Uml::LayoutType::Undefined
@ Undefined
Definition: basictypes.h:145
Uml::ParameterDirection::InOut
@ InOut
Definition: basictypes.h:258
Uml::ModelType::toString
QString toString(Enum item)
Definition: basictypes.cpp:47
Uml::TextRole::Floating
@ Floating
Definition: basictypes.h:179
Uml::AssociationType::Anchor
@ Anchor
Definition: basictypes.h:120
Uml::Region::toString
QString toString(Enum item)
Definition: basictypes.cpp:1132
Uml::ModelType::Deployment
@ Deployment
Definition: basictypes.h:45
Uml::Changeability::Enum
Enum
Definition: basictypes.h:204
Uml::Corner::BottomRight
@ BottomRight
Definition: basictypes.h:336
Uml::AssociationType::Child2Category
@ Child2Category
Definition: basictypes.h:125
Uml::SequenceMessage::Creation
@ Creation
Definition: basictypes.h:223
Uml::AssociationType::Aggregation
@ Aggregation
Definition: basictypes.h:108
Uml::Visibility::Public
@ Public
Definition: basictypes.h:60
Uml::ProgrammingLanguage::toString
QString toString(Enum item)
Definition: basictypes.cpp:873
Uml::ID::fromString
ID::Type fromString(const QString &id)
Definition: basictypes.cpp:1268
Uml::Changeability::Frozen
@ Frozen
Definition: basictypes.h:206
Uml::TextRole::Enum
Enum
Definition: basictypes.h:178
Uml::TextRole::MultiA
@ MultiA
Definition: basictypes.h:180
Uml::TextRole::MultiB
@ MultiB
Definition: basictypes.h:181
Uml::DiagramType::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:267
Uml::LayoutType::Spline
@ Spline
Definition: basictypes.h:149
Uml::ModelType::EntityRelationship
@ EntityRelationship
Definition: basictypes.h:46
Uml::Region::Center
@ Center
Definition: basictypes.h:320
Uml::ProgrammingLanguage::SQL
@ SQL
Definition: basictypes.h:288
Uml::LayoutType::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:523
Uml::LayoutType::Polyline
@ Polyline
Definition: basictypes.h:148
toDoubleFromAnyLocale
qreal toDoubleFromAnyLocale(const QString &s)
Definition: basictypes.cpp:1298
Uml::ProgrammingLanguage::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:925
Uml::DiagramType::toStringI18n
QString toStringI18n(Enum item)
Definition: basictypes.cpp:203
Uml::Corner::TopRight
@ TopRight
Definition: basictypes.h:335
Uml::LayoutType::Direct
@ Direct
Definition: basictypes.h:146
Uml::Visibility::toString
QString toString(Enum item, bool mnemonic)
Definition: basictypes.cpp:107
Uml::SequenceMessage::Destroy
@ Destroy
Definition: basictypes.h:226
Uml::ModelType::Component
@ Component
Definition: basictypes.h:44
Uml::Region::NorthEast
@ NorthEast
Definition: basictypes.h:317
i18n
#define i18n
Definition: main.cpp:39
Uml::TextRole::ChangeB
@ ChangeB
Definition: basictypes.h:191
Uml::AssociationType::Association
@ Association
Definition: basictypes.h:110
Uml::ProgrammingLanguage::D
@ D
Definition: basictypes.h:276
Uml::TextRole::Seq_Message_Self
@ Seq_Message_Self
Definition: basictypes.h:184
Uml::DiagramType::N_DIAGRAMTYPES
@ N_DIAGRAMTYPES
Definition: basictypes.h:91
basictypes.h
Uml::ProgrammingLanguage::Ada
@ Ada
Definition: basictypes.h:273
Uml::Region::West
@ West
Definition: basictypes.h:312
Uml::Region::Enum
Enum
Definition: basictypes.h:310
Uml::Visibility::Unknown
@ Unknown
Definition: basictypes.h:65
Uml::RoleType::B
@ B
Definition: basictypes.h:240
Uml::ParameterDirection::Out
@ Out
Definition: basictypes.h:259
Uml::SignatureType::Enum
Enum
Definition: basictypes.h:162
Uml::ProgrammingLanguage::Cpp
@ Cpp
Definition: basictypes.h:274
Uml::DiagramType::toString
QString toString(Enum item)
Definition: basictypes.cpp:168
Uml::TextRole::Coll_Message
@ Coll_Message
Definition: basictypes.h:185
Uml::Region::North
@ North
Definition: basictypes.h:313
Uml::TextRole::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:626
Uml::AssociationType::Enum
Enum
Definition: basictypes.h:106
Uml::AssociationType::Generalization
@ Generalization
Definition: basictypes.h:107
visibility
Definition: visibility.py:1
Uml::AssociationType::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:449
Uml::Region::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:1194
Uml::DiagramType::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:236
Uml::SignatureType::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:574
Uml::Visibility::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:152
Uml::Corner
Definition: basictypes.h:331
Uml
Definition: basictypes.cpp:37
Uml::DiagramType::Sequence
@ Sequence
Definition: basictypes.h:83
Uml::SequenceMessage::Asynchronous
@ Asynchronous
Definition: basictypes.h:222
Uml::Corner::Enum
Enum
Definition: basictypes.h:333
Uml::Visibility::Enum
Enum
Definition: basictypes.h:59
Uml::AssociationType::Coll_Message_Asynchronous
@ Coll_Message_Asynchronous
Definition: basictypes.h:112
Uml::ModelType::N_MODELTYPES
@ N_MODELTYPES
Definition: basictypes.h:47
Uml::ParameterDirection::toString
QString toString(Enum item)
Definition: basictypes.cpp:825
Uml::DiagramType::Class
@ Class
Definition: basictypes.h:81
Uml::Changeability::toString
QString toString(Enum item)
Definition: basictypes.cpp:677
Uml::DiagramType::Object
@ Object
Definition: basictypes.h:90
Uml::TextRole::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:662
Uml::AssociationType::Seq_Message
@ Seq_Message
Definition: basictypes.h:113
Uml::Changeability::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:695
Uml::SignatureType::ShowSig
@ ShowSig
Definition: basictypes.h:164
Uml::RoleType::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:797
Uml::AssociationType::Seq_Message_Self
@ Seq_Message_Self
Definition: basictypes.h:115
debug_utils.h
Uml::ModelType::UseCase
@ UseCase
Definition: basictypes.h:43
Uml::ProgrammingLanguage::toExtensions
QStringList toExtensions(Enum item)
Definition: basictypes.cpp:985
Uml::SignatureType::NoSig
@ NoSig
Definition: basictypes.h:163
Uml::ProgrammingLanguage::Vala
@ Vala
Definition: basictypes.h:290
Uml::SignatureType::toString
QString toString(Enum item)
Definition: basictypes.cpp:536
Uml::Corner::fromInt
static Enum fromInt(int item)
Definition: basictypes.cpp:1246
Uml::AssociationType::Composition
@ Composition
Definition: basictypes.h:117
Uml::systemFont
QFont systemFont()
Definition: basictypes.cpp:1281
Uml::DiagramType::Undefined
@ Undefined
Definition: basictypes.h:80
Uml::SequenceMessage::Enum
Enum
Definition: basictypes.h:219
Uml::LayoutType::Orthogonal
@ Orthogonal
Definition: basictypes.h:147
Uml::LayoutType::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:505
Uml::TextRole::Reserved
@ Reserved
Definition: basictypes.h:192
Uml::DiagramType::Activity
@ Activity
Definition: basictypes.h:86
Uml::Visibility::Private
@ Private
Definition: basictypes.h:61
Uml::AssociationType::Dependency
@ Dependency
Definition: basictypes.h:109
Uml::ModelType::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:69
Uml::TextRole::toString
QString toString(Enum item)
Definition: basictypes.cpp:588
Uml::ProgrammingLanguage::JavaScript
@ JavaScript
Definition: basictypes.h:279
Uml::LayoutType::toString
QString toString(Enum item)
Definition: basictypes.cpp:485
Uml::Visibility::Protected
@ Protected
Definition: basictypes.h:62
Uml::ProgrammingLanguage::toExtensionsDescription
QString toExtensionsDescription(Enum item)
Definition: basictypes.cpp:1064
Uml::ProgrammingLanguage::CSharp
@ CSharp
Definition: basictypes.h:275
Uml::DiagramType::Deployment
@ Deployment
Definition: basictypes.h:88
Uml::AssociationType::Coll_Message_Self
@ Coll_Message_Self
Definition: basictypes.h:114
Uml::Region::SouthWest
@ SouthWest
Definition: basictypes.h:319
Uml::ParameterDirection::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:843
Uml::AssociationType::Realization
@ Realization
Definition: basictypes.h:118
Uml::Visibility::fromString
Enum fromString(const QString &item, bool checkUnkown)
Definition: basictypes.cpp:127
Uml::SequenceMessage::Found
@ Found
Definition: basictypes.h:225
toString
static QString toString(Uml::ProgrammingLanguage::Enum lang)
Definition: basictypes.h:365
Uml::AssociationType::Exception
@ Exception
Definition: basictypes.h:123
Uml::AssociationType::fromString
Enum fromString(const QString &item)
Definition: basictypes.cpp:396
B
Definition: testbasictypes.cpp:39
Uml::RoleType::Enum
Enum
Definition: basictypes.h:238
Uml::Corner::fromString
static Enum fromString(const QString &item)
Definition: basictypes.cpp:1228
Uml::ProgrammingLanguage::PHP5
@ PHP5
Definition: basictypes.h:284