00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef UMLNAMESPACE_H
00013 #define UMLNAMESPACE_H
00014
00015 #include <string>
00016 #include <qstring.h>
00017
00018
00023 namespace Uml {
00024
00025 enum Model_Type
00026 {
00027 mt_Logical,
00028 mt_UseCase,
00029 mt_Component,
00030 mt_Deployment,
00031 mt_EntityRelationship,
00032 N_MODELTYPES
00033 };
00034
00035 enum Object_Type
00036 {
00037 ot_UMLObject = 100,
00038 ot_Actor,
00039 ot_UseCase,
00040 ot_Package,
00041 ot_Interface,
00042 ot_Datatype,
00043 ot_Enum,
00044 ot_Class,
00045 ot_Association,
00046 ot_Attribute,
00047 ot_Operation,
00048 ot_EnumLiteral,
00049 ot_Template,
00050 ot_Component,
00051 ot_Artifact,
00052 ot_Node,
00053 ot_Stereotype,
00054 ot_Role,
00055 ot_Entity,
00056 ot_EntityAttribute,
00057 ot_Folder
00058 };
00059
00060 class Visibility {
00061 public:
00062 enum Value {
00063 Public = 200,
00064 Private,
00065 Protected,
00066 Implementation
00067 };
00068 Visibility();
00069 Visibility(Value v);
00070 static QString toString(Value value, bool mnemonic);
00071 static Visibility fromString(const QString& vis);
00079 QString toString(bool mnemonic = false) const;
00080 operator Value () const;
00081 private:
00082 Value _v;
00083 };
00084
00085 enum Widget_Type
00086 {
00087 wt_UMLWidget = 300,
00088 wt_Actor,
00089 wt_UseCase,
00090 wt_Class,
00091 wt_Interface,
00092 wt_Datatype,
00093 wt_Enum,
00094 wt_Entity,
00095 wt_Package,
00096 wt_Object,
00097 wt_Note,
00098 wt_Box,
00099 wt_Message,
00100 wt_Text,
00101 wt_State,
00102 wt_Activity,
00103 wt_Component,
00104 wt_Artifact,
00105 wt_Node,
00106 wt_Association,
00107 wt_ForkJoin
00108 };
00109
00110 enum Diagram_Type
00111 {
00112
00113
00114 dt_Undefined = 0,
00115 dt_Class,
00116 dt_UseCase,
00117 dt_Sequence,
00118 dt_Collaboration,
00119 dt_State,
00120 dt_Activity,
00121 dt_Component,
00122 dt_Deployment,
00123 dt_EntityRelationship
00124 };
00125
00126 enum Association_Type
00127 {
00128 at_Generalization = 500,
00129 at_Aggregation,
00130 at_Dependency,
00131 at_Association,
00132 at_Association_Self,
00133 at_Coll_Message,
00134 at_Seq_Message,
00135 at_Coll_Message_Self,
00136 at_Seq_Message_Self,
00137 at_Containment,
00138 at_Composition,
00139 at_Realization,
00140 at_UniAssociation,
00141 at_Anchor,
00142 at_State,
00143 at_Activity,
00144 at_Relationship,
00145 at_Unknown = - 1
00146 };
00147
00148 enum Signature_Type
00149 {
00150 st_NoSig = 600,
00151 st_ShowSig,
00152 st_SigNoVis,
00153 st_NoSigNoVis
00154 };
00155
00156 enum Text_Role
00157 {
00158 tr_Floating = 700,
00159 tr_MultiA,
00160 tr_MultiB,
00161 tr_Name,
00162 tr_Seq_Message,
00163 tr_Seq_Message_Self,
00164 tr_Coll_Message,
00165 tr_Coll_Message_Self,
00166 tr_State,
00167 tr_RoleAName,
00168 tr_RoleBName,
00169 tr_ChangeA,
00170 tr_ChangeB
00171 };
00172
00173 enum ListView_Type
00174 {
00175
00176
00177 lvt_View = 800,
00178 lvt_Logical_View,
00179 lvt_UseCase_View,
00180 lvt_Logical_Folder,
00181 lvt_UseCase_Folder,
00182 lvt_UseCase_Diagram,
00183 lvt_Collaboration_Diagram,
00184 lvt_Class_Diagram,
00185 lvt_State_Diagram,
00186 lvt_Activity_Diagram,
00187 lvt_Sequence_Diagram,
00188 lvt_Actor,
00189 lvt_UseCase,
00190 lvt_Class,
00191 lvt_Attribute,
00192 lvt_Operation,
00193 lvt_Template,
00194 lvt_Interface,
00195 lvt_Package,
00196 lvt_Component_Diagram,
00197 lvt_Component_Folder,
00198 lvt_Component_View,
00199 lvt_Component,
00200 lvt_Diagrams,
00201 lvt_Artifact,
00202 lvt_Deployment_Diagram,
00203 lvt_Deployment_Folder,
00204 lvt_Deployment_View,
00205 lvt_Node,
00206 lvt_Datatype,
00207 lvt_Datatype_Folder,
00208 lvt_Enum,
00209 lvt_Entity,
00210 lvt_EntityAttribute,
00211 lvt_EntityRelationship_Diagram,
00212 lvt_EntityRelationship_Folder,
00213 lvt_EntityRelationship_Model,
00214 lvt_Subsystem,
00215 lvt_Model,
00216 lvt_EnumLiteral,
00217 lvt_Unknown = -1
00218 };
00219
00220 enum Icon_Type
00221 {
00222 it_Home = 0,
00223 it_Folder_Cyan,
00224 it_Folder_Cyan_Open,
00225 it_Folder_Green,
00226 it_Folder_Green_Open,
00227 it_Folder_Grey,
00228 it_Folder_Grey_Open,
00229 it_Folder_Red,
00230 it_Folder_Red_Open,
00231 it_Folder_Violet,
00232 it_Folder_Violet_Open,
00233 it_Folder_Orange,
00234 it_Folder_Orange_Open,
00235 it_Diagram,
00236 it_Class,
00237 it_Template,
00238 it_Package,
00239 it_Subsystem,
00240 it_Component,
00241 it_Node,
00242 it_Artifact,
00243 it_Interface,
00244 it_Datatype,
00245 it_Enum,
00246 it_Entity,
00247 it_Actor,
00248 it_UseCase,
00249 it_Public_Method,
00250 it_Private_Method,
00251 it_Protected_Method,
00252 it_Public_Attribute,
00253 it_Private_Attribute,
00254 it_Protected_Attribute,
00255 it_Diagram_Activity,
00256 it_Diagram_Class,
00257 it_Diagram_Collaboration,
00258 it_Diagram_Component,
00259 it_Diagram_Deployment,
00260 it_Diagram_EntityRelationship,
00261 it_Diagram_Sequence,
00262 it_Diagram_State,
00263 it_Diagram_Usecase,
00264 N_ICONTYPES
00265 };
00266
00267 enum Changeability_Type
00268 {
00269 chg_Changeable = 900,
00270 chg_Frozen,
00271 chg_AddOnly
00272 };
00273
00274 enum Sequence_Message_Type
00275 {
00276
00277 sequence_message_synchronous = 1000,
00278 sequence_message_asynchronous,
00279 sequence_message_creation
00280 };
00281
00282 enum DBIndex_Type
00283 {
00284 None = 1100,
00285 Primary,
00286 Index,
00287 Unique
00288 };
00289
00293 enum Role_Type { A, B };
00294
00302 enum Parameter_Direction { pd_In, pd_InOut, pd_Out };
00303
00307 enum Programming_Language {
00308 pl_ActionScript,
00309 pl_Ada,
00310 pl_Cpp,
00311 pl_CSharp,
00312 pl_D,
00313 pl_IDL,
00314 pl_Java,
00315 pl_JavaScript,
00316 pl_Pascal,
00317 pl_Perl,
00318 pl_PHP,
00319 pl_PHP5,
00320 pl_Python,
00321 pl_Ruby,
00322 pl_SQL,
00323 pl_Tcl,
00324 pl_XMLSchema,
00325 pl_Reserved
00326 };
00327
00331 typedef std::string IDType;
00335 const IDType id_None = "-1";
00336 const IDType id_Reserved = "0";
00337
00338 # define STR2ID(id) id.ascii()
00339 # define ID2STR(id) QString(id.c_str())
00340
00341
00342 # define kDebug kdDebug
00343 # define kWarning kdWarning
00344 # define kError kdError
00345
00349 bool tagEq (const QString& tag, const QString& pattern);
00350
00351 }
00352
00353 #endif