• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdesdk
  • Sitemap
  • Contact Us
 

umbrello/umbrello

umlnamespace.h

Go to the documentation of this file.
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-2007                                               *
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 <QtCore/QString>
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     ot_EntityConstraint,
00059     ot_UniqueConstraint,
00060     ot_ForeignKeyConstraint,
00061     ot_CheckConstraint,
00062     ot_Category
00063 };
00064 
00065 class Visibility {
00066   public:
00067     enum Value {
00068         Public,
00069         Private,
00070         Protected,
00071         Implementation, // objects marked with this are declared in the implementation file.
00072         FromParent = 3  // alias for Implementation, used by CodeGenerationPolicy
00073     };
00074     Visibility();
00075     Visibility(Value v);
00076     static QString toString(Value value, bool mnemonic = false);
00077     static Visibility fromString(const QString& vis);
00085     QString toString(bool mnemonic = false) const;
00086     operator Value () const;
00087   private:
00088     Value _v;
00089 };
00090 
00091 enum Widget_Type
00092 {
00093     wt_UMLWidget = 300,         // does not have UMLObject representation
00094     wt_Actor,                   // has UMLObject representation
00095     wt_UseCase,                 // has UMLObject representation
00096     wt_Class,                   // has UMLObject representation
00097     wt_Interface,               // has UMLObject representation
00098     wt_Datatype,                // has UMLObject representation
00099     wt_Enum,                    // has UMLObject representation
00100     wt_Entity,                  // has UMLObject representation
00101     wt_Package,                 // has UMLObject representation
00102     wt_Object,                  // has UMLObject representation
00103     wt_Note,                    // does not have UMLObject representation
00104     wt_Box,                     // does not have UMLObject representation
00105     wt_Message,                 // does not have UMLObject representation
00106     wt_Text,                    // does not have UMLObject representation
00107     wt_State,                   // does not have UMLObject representation
00108     wt_Activity,                // does not have UMLObject representation
00109     wt_Component,               // has UMLObject representation
00110     wt_Artifact,                // has UMLObject representation
00111     wt_Node,                    // has UMLObject representation
00112     wt_Association,             // has UMLObject representation
00113     wt_ForkJoin,                // does not have UMLObject representation
00114     wt_Precondition,            // does not have UMLObject representation
00115     wt_CombinedFragment,        // does not have UMLObject representation
00116     wt_FloatingDashLine,        // does not have UMLObject representation
00117     wt_Signal,                  // does not have UMLObject representation
00118     wt_Pin,
00119     wt_ObjectNode,
00120     wt_Region,
00121     wt_Category                 // has UMLObject representation
00122 };
00123 
00124 enum Diagram_Type
00125 {
00126     //the values in this enum are saved out to the file
00127     //for file compatibility, only add new values to the end
00128     dt_Undefined = 0,
00129     dt_Class,
00130     dt_UseCase,
00131     dt_Sequence,
00132     dt_Collaboration,
00133     dt_State,
00134     dt_Activity,
00135     dt_Component,
00136     dt_Deployment,
00137     dt_EntityRelationship
00138 };
00139 
00140 enum Association_Type
00141 {
00142     at_Generalization  =  500,
00143     at_Aggregation,
00144     at_Dependency,
00145     at_Association,
00146     at_Association_Self,
00147     at_Coll_Message,
00148     at_Seq_Message,
00149     at_Coll_Message_Self,
00150     at_Seq_Message_Self,
00151     at_Containment,
00152     at_Composition,
00153     at_Realization,
00154     at_UniAssociation,
00155     at_Anchor,
00156     at_State,
00157     at_Activity,
00158     at_Exception,
00159     at_Category2Parent,
00160     at_Child2Category,
00161     at_Relationship,
00162     at_Unknown  =  - 1
00163 };
00164 
00165 enum Signature_Type
00166 {
00167     st_NoSig  =  600,
00168     st_ShowSig,
00169     st_SigNoVis,
00170     st_NoSigNoVis
00171 };
00172 
00173 enum Text_Role
00174 {
00175     tr_Floating  =  700,   //text widget on diagrams
00176     tr_MultiA,             //Text for Multiple A
00177     tr_MultiB,             //Text for Multiple B
00178     tr_Name,               //middle text on most associations
00179     tr_Seq_Message,        //message on seq diagram between two objects
00180     tr_Seq_Message_Self,   //message to self on seq diagram - feature not implemented yet
00181     tr_Coll_Message,       //message between two objects on a collab diagram
00182     tr_Coll_Message_Self,  //message to object self on collab diagram
00183     tr_State,
00184     tr_RoleAName,          //RoleA text on associations
00185     tr_RoleBName,          //RoleB text on associations
00186     tr_ChangeA,            //Changeability A text on associations
00187     tr_ChangeB             //Changeability B text on associations
00188 };
00189 
00190 enum ListView_Type
00191 {
00192     //the values in this enum are saved out to the file
00193     //for file compatibility, only add new values to the end
00194     lvt_View  =  800,
00195     lvt_Logical_View,
00196     lvt_UseCase_View,
00197     lvt_Logical_Folder,
00198     lvt_UseCase_Folder,
00199     lvt_UseCase_Diagram,
00200     lvt_Collaboration_Diagram,
00201     lvt_Class_Diagram,
00202     lvt_State_Diagram,
00203     lvt_Activity_Diagram,
00204     lvt_Sequence_Diagram,
00205     lvt_Actor,
00206     lvt_UseCase,
00207     lvt_Class,
00208     lvt_Attribute,
00209     lvt_Operation,
00210     lvt_Template,
00211     lvt_Interface,
00212     lvt_Package,
00213     lvt_Component_Diagram,
00214     lvt_Component_Folder,
00215     lvt_Component_View,
00216     lvt_Component,
00217     lvt_Diagrams,  // currently unused
00218     lvt_Artifact,
00219     lvt_Deployment_Diagram,
00220     lvt_Deployment_Folder,
00221     lvt_Deployment_View,
00222     lvt_Node,
00223     lvt_Datatype,
00224     lvt_Datatype_Folder,
00225     lvt_Enum,
00226     lvt_Entity,
00227     lvt_EntityAttribute,
00228     lvt_EntityRelationship_Diagram,
00229     lvt_EntityRelationship_Folder,
00230     lvt_EntityRelationship_Model,
00231     lvt_Subsystem,
00232     lvt_Model,
00233     lvt_EnumLiteral,
00234     lvt_UniqueConstraint,
00235     lvt_PrimaryKeyConstraint,
00236     lvt_ForeignKeyConstraint,
00237     lvt_CheckConstraint,
00238     lvt_Category,
00239     lvt_Unknown = -1
00240 };
00241 
00242 enum Icon_Type
00243 {
00244     it_Home = 0,
00245     it_Folder_Cyan,
00246     it_Folder_Cyan_Open,
00247     it_Folder_Green,
00248     it_Folder_Green_Open,
00249     it_Folder_Grey,
00250     it_Folder_Grey_Open,
00251     it_Folder_Red,
00252     it_Folder_Red_Open,
00253     it_Folder_Violet,
00254     it_Folder_Violet_Open,
00255     it_Folder_Orange,
00256     it_Folder_Orange_Open,
00257     it_Diagram, //change to have different one for each type of diagram
00258     it_Class,
00259     it_Template,
00260     it_Package,
00261     it_Subsystem,
00262     it_Component,
00263     it_Node,
00264     it_Artifact,
00265     it_Interface,
00266     it_Datatype,
00267     it_Enum,
00268     it_Entity,
00269     it_Actor,
00270     it_UseCase,
00271     it_Category,
00272     it_Public_Method,
00273     it_Private_Method,
00274     it_Protected_Method,
00275     it_Public_Attribute,
00276     it_Private_Attribute,
00277     it_Protected_Attribute,
00278     it_Unique_Constraint,
00279     it_PrimaryKey_Constraint,
00280     it_ForeignKey_Constraint,
00281     it_Check_Constraint,
00282     it_Diagram_Activity,
00283     it_Diagram_Class,
00284     it_Diagram_Collaboration,
00285     it_Diagram_Component,
00286     it_Diagram_Deployment,
00287     it_Diagram_EntityRelationship,
00288     it_Diagram_Sequence,
00289     it_Diagram_State,
00290     it_Diagram_Usecase,
00291     N_ICONTYPES    // must remain last
00292 };
00293 
00294 enum Changeability_Type
00295 {
00296     chg_Changeable = 900,
00297     chg_Frozen,
00298     chg_AddOnly
00299 };
00300 
00301 enum Sequence_Message_Type
00302 {
00303     //This is saved out to the file so only add new entries at the end
00304     sequence_message_synchronous = 1000,
00305     sequence_message_asynchronous,
00306     sequence_message_creation,
00307     sequence_message_lost,
00308     sequence_message_found
00309 };
00310 
00311 enum DBIndex_Type
00312 {
00313     None  =  1100,
00314     Primary,
00315     Index,
00316     Unique
00317 };
00318 
00322 enum Role_Type { A, B };
00323 
00331 enum Parameter_Direction { pd_In, pd_InOut, pd_Out };
00332 
00336 enum Programming_Language {
00337     pl_ActionScript,
00338     pl_Ada,
00339     pl_Cpp,
00340     pl_CSharp,
00341     pl_D,
00342     pl_IDL,
00343     pl_Java,
00344     pl_JavaScript,
00345     pl_MySQL,
00346     pl_Pascal,
00347     pl_Perl,
00348     pl_PHP,
00349     pl_PHP5,
00350     pl_PostgreSQL,
00351     pl_Python,
00352     pl_Ruby,
00353     pl_SQL,
00354     pl_Tcl,
00355     pl_XMLSchema,
00356     pl_Ocl,
00357     pl_Reserved
00358 };
00359 
00363 typedef std::string IDType;
00364 
00368 const IDType id_None = "-1";
00369 const IDType id_Reserved = "0";
00370 
00371 # define STR2ID(id)  qPrintable(id)
00372 # define ID2STR(id)  QString(id.c_str())
00373 
00374 // convenience macros for console output to the Umbrello area
00375 #define uDebug()   kDebug(8060)
00376 #define uError()   kError(8060)
00377 #define uWarning() kWarning(8060)
00378 
00382 bool tagEq (const QString& tag, const QString& pattern);
00383 
00384 }  // end namespace Uml
00385 
00386 #endif

umbrello/umbrello

Skip menu "umbrello/umbrello"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdesdk

Skip menu "kdesdk"
  • kate
  •     kate
  • umbrello
  •   umbrello
Generated for kdesdk by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal