umbrello API Documentation

umlnamespace.h

00001 /***************************************************************************
00002  *                                                                         *
00003  *   This program is free software; you can redistribute it and/or modify  *
00004  *   it under the terms of the GNU General Public License as published by  *
00005  *   the Free Software Foundation; either version 2 of the License, or     *
00006  *   (at your option) any later version.                                   *
00007  *                                                                         *
00008  *   copyright (C) 2002-2006                                               *
00009  *   Umbrello UML Modeller Authors <uml-devel@uml.sf.net>                  *
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   // must remain last
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 // objects marked with this are declared in the implementation file.
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,         // does not have UMLObject representation
00088     wt_Actor,                   // has UMLObject representation
00089     wt_UseCase,                 // has UMLObject representation
00090     wt_Class,                   // has UMLObject representation
00091     wt_Interface,               // has UMLObject representation
00092     wt_Datatype,                // has UMLObject representation
00093     wt_Enum,                    // has UMLObject representation
00094     wt_Entity,                  // has UMLObject representation
00095     wt_Package,                 // has UMLObject representation
00096     wt_Object,                  // has UMLObject representation
00097     wt_Note,                    // does not have UMLObject representation
00098     wt_Box,                     // does not have UMLObject representation
00099     wt_Message,                 // does not have UMLObject representation
00100     wt_Text,                    // does not have UMLObject representation
00101     wt_State,                   // does not have UMLObject representation
00102     wt_Activity,                // does not have UMLObject representation
00103     wt_Component,               // has UMLObject representation
00104     wt_Artifact,                // has UMLObject representation
00105     wt_Node,                    // has UMLObject representation
00106     wt_Association,             // has UMLObject representation
00107     wt_ForkJoin                 // does not have UMLObject representation
00108 };
00109 
00110 enum Diagram_Type
00111 {
00112     //the values in this enum are saved out to the file
00113     //for file compatibility, only add new values to the end
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,   //text widget on diagrams
00159     tr_MultiA,             //Text for Multiple A
00160     tr_MultiB,             //Text for Multiple B
00161     tr_Name,               //middle text on most associations
00162     tr_Seq_Message,        //message on seq diagram between two objects
00163     tr_Seq_Message_Self,   //message to self on seq diagram - feature not implemented yet
00164     tr_Coll_Message,       //message between two objects on a collab diagram
00165     tr_Coll_Message_Self,  //message to object self on collab diagram
00166     tr_State,
00167     tr_RoleAName,          //RoleA text on associations
00168     tr_RoleBName,          //RoleB text on associations
00169     tr_ChangeA,            //Changeability A text on associations
00170     tr_ChangeB             //Changeability B text on associations
00171 };
00172 
00173 enum ListView_Type
00174 {
00175     //the values in this enum are saved out to the file
00176     //for file compatibility, only add new values to the end
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,  // currently unused
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, //change to have different one for each type of 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    // must remain last
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     //This is saved out to the file so only add new entries at the end
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 // KDE4 compatibility
00342 # define kDebug   kdDebug
00343 # define kWarning kdWarning
00344 # define kError   kdError
00345 
00349 bool tagEq (const QString& tag, const QString& pattern);
00350 
00351 }  // end namespace Uml
00352 
00353 #endif
KDE Logo
This file is part of the documentation for umbrello Version 3.1.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Jun 26 08:08:01 2007 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003