summaryrefslogtreecommitdiffstats
path: root/umbrello/umbrello/umlnamespace.h
diff options
context:
space:
mode:
Diffstat (limited to 'umbrello/umbrello/umlnamespace.h')
-rw-r--r--umbrello/umbrello/umlnamespace.h353
1 files changed, 353 insertions, 0 deletions
diff --git a/umbrello/umbrello/umlnamespace.h b/umbrello/umbrello/umlnamespace.h
new file mode 100644
index 00000000..0c0ea2fd
--- /dev/null
+++ b/umbrello/umbrello/umlnamespace.h
@@ -0,0 +1,353 @@
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * copyright (C) 2002-2006 *
+ * Umbrello UML Modeller Authors <[email protected]> *
+ ***************************************************************************/
+
+#ifndef UMLNAMESPACE_H
+#define UMLNAMESPACE_H
+
+#include <string>
+#include <qstring.h>
+
+
+/**
+ *@author Paul Hensgen
+ * Bugs and comments to [email protected] or http://bugs.kde.org
+ */
+namespace Uml {
+
+enum Model_Type
+{
+ mt_Logical,
+ mt_UseCase,
+ mt_Component,
+ mt_Deployment,
+ mt_EntityRelationship,
+ N_MODELTYPES // must remain last
+};
+
+enum Object_Type
+{
+ ot_UMLObject = 100,
+ ot_Actor,
+ ot_UseCase,
+ ot_Package,
+ ot_Interface,
+ ot_Datatype,
+ ot_Enum,
+ ot_Class,
+ ot_Association,
+ ot_Attribute,
+ ot_Operation,
+ ot_EnumLiteral,
+ ot_Template,
+ ot_Component,
+ ot_Artifact,
+ ot_Node,
+ ot_Stereotype,
+ ot_Role,
+ ot_Entity,
+ ot_EntityAttribute,
+ ot_Folder
+};
+
+class Visibility {
+ public:
+ enum Value {
+ Public = 200,
+ Private,
+ Protected,
+ Implementation // objects marked with this are declared in the implementation file.
+ };
+ Visibility();
+ Visibility(Value v);
+ static QString toString(Value value, bool mnemonic);
+ static Visibility fromString(const QString& vis);
+ /**
+ * Convert Visibility value into QString representation.
+ *
+ * @param mnemonic If true then return a single character:
+ * "+" for public, "-" for private,
+ * "#" for protected or "~" for implementation
+ */
+ QString toString(bool mnemonic = false) const;
+ operator Value () const;
+ private:
+ Value _v;
+};
+
+enum Widget_Type
+{
+ wt_UMLWidget = 300, // does not have UMLObject representation
+ wt_Actor, // has UMLObject representation
+ wt_UseCase, // has UMLObject representation
+ wt_Class, // has UMLObject representation
+ wt_Interface, // has UMLObject representation
+ wt_Datatype, // has UMLObject representation
+ wt_Enum, // has UMLObject representation
+ wt_Entity, // has UMLObject representation
+ wt_Package, // has UMLObject representation
+ wt_Object, // has UMLObject representation
+ wt_Note, // does not have UMLObject representation
+ wt_Box, // does not have UMLObject representation
+ wt_Message, // does not have UMLObject representation
+ wt_Text, // does not have UMLObject representation
+ wt_State, // does not have UMLObject representation
+ wt_Activity, // does not have UMLObject representation
+ wt_Component, // has UMLObject representation
+ wt_Artifact, // has UMLObject representation
+ wt_Node, // has UMLObject representation
+ wt_Association, // has UMLObject representation
+ wt_ForkJoin // does not have UMLObject representation
+};
+
+enum Diagram_Type
+{
+ //the values in this enum are saved out to the file
+ //for file compatibility, only add new values to the end
+ dt_Undefined = 0,
+ dt_Class,
+ dt_UseCase,
+ dt_Sequence,
+ dt_Collaboration,
+ dt_State,
+ dt_Activity,
+ dt_Component,
+ dt_Deployment,
+ dt_EntityRelationship
+};
+
+enum Association_Type
+{
+ at_Generalization = 500,
+ at_Aggregation,
+ at_Dependency,
+ at_Association,
+ at_Association_Self,
+ at_Coll_Message,
+ at_Seq_Message,
+ at_Coll_Message_Self,
+ at_Seq_Message_Self,
+ at_Containment,
+ at_Composition,
+ at_Realization,
+ at_UniAssociation,
+ at_Anchor,
+ at_State,
+ at_Activity,
+ at_Relationship,
+ at_Unknown = - 1
+};
+
+enum Signature_Type
+{
+ st_NoSig = 600,
+ st_ShowSig,
+ st_SigNoVis,
+ st_NoSigNoVis
+};
+
+enum Text_Role
+{
+ tr_Floating = 700, //text widget on diagrams
+ tr_MultiA, //Text for Multiple A
+ tr_MultiB, //Text for Multiple B
+ tr_Name, //middle text on most associations
+ tr_Seq_Message, //message on seq diagram between two objects
+ tr_Seq_Message_Self, //message to self on seq diagram - feature not implemented yet
+ tr_Coll_Message, //message between two objects on a collab diagram
+ tr_Coll_Message_Self, //message to object self on collab diagram
+ tr_State,
+ tr_RoleAName, //RoleA text on associations
+ tr_RoleBName, //RoleB text on associations
+ tr_ChangeA, //Changeability A text on associations
+ tr_ChangeB //Changeability B text on associations
+};
+
+enum ListView_Type
+{
+ //the values in this enum are saved out to the file
+ //for file compatibility, only add new values to the end
+ lvt_View = 800,
+ lvt_Logical_View,
+ lvt_UseCase_View,
+ lvt_Logical_Folder,
+ lvt_UseCase_Folder,
+ lvt_UseCase_Diagram,
+ lvt_Collaboration_Diagram,
+ lvt_Class_Diagram,
+ lvt_State_Diagram,
+ lvt_Activity_Diagram,
+ lvt_Sequence_Diagram,
+ lvt_Actor,
+ lvt_UseCase,
+ lvt_Class,
+ lvt_Attribute,
+ lvt_Operation,
+ lvt_Template,
+ lvt_Interface,
+ lvt_Package,
+ lvt_Component_Diagram,
+ lvt_Component_Folder,
+ lvt_Component_View,
+ lvt_Component,
+ lvt_Diagrams, // currently unused
+ lvt_Artifact,
+ lvt_Deployment_Diagram,
+ lvt_Deployment_Folder,
+ lvt_Deployment_View,
+ lvt_Node,
+ lvt_Datatype,
+ lvt_Datatype_Folder,
+ lvt_Enum,
+ lvt_Entity,
+ lvt_EntityAttribute,
+ lvt_EntityRelationship_Diagram,
+ lvt_EntityRelationship_Folder,
+ lvt_EntityRelationship_Model,
+ lvt_Subsystem,
+ lvt_Model,
+ lvt_EnumLiteral,
+ lvt_Unknown = -1
+};
+
+enum Icon_Type
+{
+ it_Home = 0,
+ it_Folder_Cyan,
+ it_Folder_Cyan_Open,
+ it_Folder_Green,
+ it_Folder_Green_Open,
+ it_Folder_Grey,
+ it_Folder_Grey_Open,
+ it_Folder_Red,
+ it_Folder_Red_Open,
+ it_Folder_Violet,
+ it_Folder_Violet_Open,
+ it_Folder_Orange,
+ it_Folder_Orange_Open,
+ it_Diagram, //change to have different one for each type of diagram
+ it_Class,
+ it_Template,
+ it_Package,
+ it_Subsystem,
+ it_Component,
+ it_Node,
+ it_Artifact,
+ it_Interface,
+ it_Datatype,
+ it_Enum,
+ it_Entity,
+ it_Actor,
+ it_UseCase,
+ it_Public_Method,
+ it_Private_Method,
+ it_Protected_Method,
+ it_Public_Attribute,
+ it_Private_Attribute,
+ it_Protected_Attribute,
+ it_Diagram_Activity,
+ it_Diagram_Class,
+ it_Diagram_Collaboration,
+ it_Diagram_Component,
+ it_Diagram_Deployment,
+ it_Diagram_EntityRelationship,
+ it_Diagram_Sequence,
+ it_Diagram_State,
+ it_Diagram_Usecase,
+ N_ICONTYPES // must remain last
+};
+
+enum Changeability_Type
+{
+ chg_Changeable = 900,
+ chg_Frozen,
+ chg_AddOnly
+};
+
+enum Sequence_Message_Type
+{
+ //This is saved out to the file so only add new entries at the end
+ sequence_message_synchronous = 1000,
+ sequence_message_asynchronous,
+ sequence_message_creation
+};
+
+enum DBIndex_Type
+{
+ None = 1100,
+ Primary,
+ Index,
+ Unique
+};
+
+/**
+ * Constants used for indexing the roles of associations.
+ */
+enum Role_Type { A, B };
+
+/**
+ * Direction of operation parameters:
+ * in = operation uses the parameter as an input value
+ * out = operation fills the parameter as a return value
+ * inout = operation both reads and writes the parameter
+ * The numeric values of this enum are not currently saved to file.
+ */
+enum Parameter_Direction { pd_In, pd_InOut, pd_Out };
+
+/**
+ * Supported programming languages
+ */
+enum Programming_Language {
+ pl_ActionScript,
+ pl_Ada,
+ pl_Cpp,
+ pl_CSharp,
+ pl_D,
+ pl_IDL,
+ pl_Java,
+ pl_JavaScript,
+ pl_Pascal,
+ pl_Perl,
+ pl_PHP,
+ pl_PHP5,
+ pl_Python,
+ pl_Ruby,
+ pl_SQL,
+ pl_Tcl,
+ pl_XMLSchema,
+ pl_Reserved
+};
+
+/**
+ * The data type used for unique IDs.
+ */
+typedef std::string IDType;
+/**
+ * Reserved value for uninitialized/illegal ID.
+ */
+const IDType id_None = "-1";
+const IDType id_Reserved = "0";
+
+# define STR2ID(id) id.ascii()
+# define ID2STR(id) QString(id.c_str())
+
+// KDE4 compatibility
+# define kDebug kdDebug
+# define kWarning kdWarning
+# define kError kdError
+
+/**
+ * Function for comparing tags in XMI files.
+ */
+bool tagEq (const QString& tag, const QString& pattern);
+
+} // end namespace Uml
+
+#endif