[Uml-devel] KDE/kdesdk/umbrello/umbrello

Oliver Kellogg okellogg at users.sourceforge.net
Fri Aug 31 21:02:08 UTC 2007


SVN commit 707048 by okellogg:

Uml::Visibility::Value: Use natural enum representation.

 M  +8 -4      association.cpp  
 M  +9 -5      associationwidget.cpp  
 M  +1 -1      codegenerators/dcodeaccessormethod.cpp  
 M  +1 -1      codegenerators/dcodeclassfielddeclarationblock.cpp  
 M  +1 -1      codegenerators/javacodeaccessormethod.cpp  
 M  +1 -1      codegenerators/javacodeclassfielddeclarationblock.cpp  
 M  +1 -1      codegenerators/rubycodeclassfielddeclarationblock.cpp  
 M  +6 -6      dialogs/settingsdlg.cpp  
 M  +1 -1      umlnamespace.h  
 M  +14 -5     umlobject.cpp  


--- trunk/KDE/kdesdk/umbrello/umbrello/association.cpp #707047:707048
@@ -454,10 +454,14 @@
     // Visibility defaults to Public if it cant set it here..
     QString visibilityA = element.attribute( "visibilitya", "0");
     QString visibilityB = element.attribute( "visibilityb", "0");
-    if (visibilityA.toInt() > 0)
-        setVisibility((Uml::Visibility::Value)visibilityA.toInt(), A);
-    if (visibilityB.toInt() > 0)
-        setVisibility((Uml::Visibility::Value)visibilityB.toInt(), B);
+    int vis = visibilityA.toInt();
+    if (vis >= 200)  // bkwd compat.
+        vis -= 200;
+    setVisibility((Uml::Visibility::Value)vis, A);
+    vis = visibilityB.toInt();
+    if (vis >= 200)  // bkwd compat.
+        vis -= 200;
+    setVisibility((Uml::Visibility::Value)vis, B);
 
     // Changeability defaults to Changeable if it cant set it here..
     QString changeabilityA = element.attribute( "changeabilitya", "0");
--- trunk/KDE/kdesdk/umbrello/umbrello/associationwidget.cpp #707047:707048
@@ -3534,14 +3534,18 @@
         setRoleDoc( qElement.attribute("roleAdoc", ""), A );
         setRoleDoc( qElement.attribute("roleBdoc", ""), B );
 
-        // visibilty defaults to Public if it cant set it here..
+        // visibility defaults to Public if it cant set it here..
         QString visibilityA = qElement.attribute( "visibilityA", "0");
-        if (visibilityA.toInt() > 0)
-          setVisibility( (Uml::Visibility::Value)visibilityA.toInt(), A);
+        int vis = visibilityA.toInt();
+        if (vis >= 200)  // bkwd compat.
+            vis -= 200;
+        setVisibility((Uml::Visibility::Value)vis, A);
 
         QString visibilityB = qElement.attribute( "visibilityB", "0");
-        if (visibilityB.toInt() > 0)
-          setVisibility( (Uml::Visibility::Value)visibilityB.toInt(), B);
+        vis = visibilityB.toInt();
+        if (vis >= 200)  // bkwd compat.
+            vis -= 200;
+        setVisibility((Uml::Visibility::Value)vis, B);
 
         // Changeability defaults to "Changeable" if it cant set it here..
         QString changeabilityA = qElement.attribute( "changeabilityA", "0");
--- trunk/KDE/kdesdk/umbrello/umbrello/codegenerators/dcodeaccessormethod.cpp #707047:707048
@@ -150,7 +150,7 @@
         case CodeGenerationPolicy::Public:
         case CodeGenerationPolicy::Private:
         case CodeGenerationPolicy::Protected:
-              strVis = ddoc->scopeToDDecl((Uml::Visibility::Value) (scopePolicy + 200));
+              strVis = ddoc->scopeToDDecl((Uml::Visibility::Value) scopePolicy);
             break;
         default:
         case CodeGenerationPolicy::FromParent:
--- trunk/KDE/kdesdk/umbrello/umbrello/codegenerators/dcodeclassfielddeclarationblock.cpp #707047:707048
@@ -69,7 +69,7 @@
         case CodeGenerationPolicy::Public:
         case CodeGenerationPolicy::Private:
         case CodeGenerationPolicy::Protected:
-              scopeStr = jdoc->scopeToDDecl((Uml::Visibility::Value) (scopePolicy + 200));
+              scopeStr = jdoc->scopeToDDecl((Uml::Visibility::Value) scopePolicy);
             break;
         default:
         case CodeGenerationPolicy::FromParent:
--- trunk/KDE/kdesdk/umbrello/umbrello/codegenerators/javacodeaccessormethod.cpp #707047:707048
@@ -155,7 +155,7 @@
         case CodeGenerationPolicy::Public:
         case CodeGenerationPolicy::Private:
         case CodeGenerationPolicy::Protected:
-              strVis = javadoc->scopeToJavaDecl((Uml::Visibility::Value) (scopePolicy + 200));
+              strVis = javadoc->scopeToJavaDecl((Uml::Visibility::Value) scopePolicy);
             break;
         default:
         case CodeGenerationPolicy::FromParent:
--- trunk/KDE/kdesdk/umbrello/umbrello/codegenerators/javacodeclassfielddeclarationblock.cpp #707047:707048
@@ -73,7 +73,7 @@
         case CodeGenerationPolicy::Public:
         case CodeGenerationPolicy::Private:
         case CodeGenerationPolicy::Protected:
-              scopeStr = jdoc->scopeToJavaDecl((Uml::Visibility::Value) (scopePolicy + 200));
+              scopeStr = jdoc->scopeToJavaDecl((Uml::Visibility::Value) scopePolicy);
             break;
         default:
         case CodeGenerationPolicy::FromParent:
--- trunk/KDE/kdesdk/umbrello/umbrello/codegenerators/rubycodeclassfielddeclarationblock.cpp #707047:707048
@@ -67,7 +67,7 @@
         case CodeGenerationPolicy::Public:
         case CodeGenerationPolicy::Private:
         case CodeGenerationPolicy::Protected:
-            scopeStr = rdoc->scopeToRubyDecl((Uml::Visibility::Value) (scopePolicy + 200));
+            scopeStr = rdoc->scopeToRubyDecl((Uml::Visibility::Value) scopePolicy);
             break;
         default:
         case CodeGenerationPolicy::FromParent:
--- trunk/KDE/kdesdk/umbrello/umbrello/dialogs/settingsdlg.cpp #707047:707048
@@ -175,9 +175,9 @@
                                     m_GeneralWidgets.autosaveSuffixT, m_pOptionState->generalState.autosavesuffix );
     QString autoSaveSuffixToolTip = i18n( "<qt><p>The autosave file will be saved to ~/autosave.xmi if the autosaving occurs "
                                           "before you have manually saved the file.</p>"
-                                          "<p>If you've already saved it, the autosave file will be saved in the same folder as the file "
+                                          "<p>If you have already saved it, the autosave file will be saved in the same folder as the file "
                                           "and will be named like the file's name, followed by the suffix specified.</p>"
-                                          "<p>If the suffix is equal to the suffix of the file you've saved, "
+                                          "<p>If the suffix is equal to the suffix of the file you have saved, "
                                           "the autosave will overwrite your file automatically.</p></qt>" );
     m_GeneralWidgets.autosaveSuffixL->setToolTip( autoSaveSuffixToolTip );
     m_GeneralWidgets.autosaveSuffixT->setToolTip( autoSaveSuffixToolTip );
@@ -299,7 +299,7 @@
     insertAttribScope( tr2i18n( "Public" ) );
     insertAttribScope( tr2i18n( "Private" ) );
     insertAttribScope( tr2i18n( "Protected" ) );
-    m_ClassWidgets.m_pAttribScopeCB->setCurrentIndex((m_pOptionState->classState.defaultAttributeScope - 200));
+    m_ClassWidgets.m_pAttribScopeCB->setCurrentIndex(m_pOptionState->classState.defaultAttributeScope);
     m_ClassWidgets.m_pAttribScopeCB->setCompletionMode( KGlobalSettings::CompletionPopup );
     scopeLayout -> addWidget( m_ClassWidgets.m_pAttribScopeCB, 0, 1 );
 
@@ -307,7 +307,7 @@
     insertOperationScope( tr2i18n( "Public" ) );
     insertOperationScope( tr2i18n( "Private" ) );
     insertOperationScope( tr2i18n( "Protected" ) );
-    m_ClassWidgets.m_pOperationScopeCB->setCurrentIndex((m_pOptionState->classState.defaultOperationScope - 200));
+    m_ClassWidgets.m_pOperationScopeCB->setCurrentIndex(m_pOptionState->classState.defaultOperationScope);
     m_ClassWidgets.m_pOperationScopeCB->setCompletionMode( KGlobalSettings::CompletionPopup );
     scopeLayout -> addWidget( m_ClassWidgets.m_pOperationScopeCB, 1, 1 );
 
@@ -460,8 +460,8 @@
         m_pOptionState->classState.showAttSig = m_ClassWidgets.showAttSigCB -> isChecked();
         m_pOptionState->classState.showOpSig = m_ClassWidgets.showOpSigCB -> isChecked();
         m_pOptionState->classState.showPackage = m_ClassWidgets.showPackageCB -> isChecked();
-            m_pOptionState->classState.defaultAttributeScope = (Uml::Visibility::Value) (m_ClassWidgets.m_pAttribScopeCB->currentItem() + 200);
-            m_pOptionState->classState.defaultOperationScope = (Uml::Visibility::Value) (m_ClassWidgets.m_pOperationScopeCB->currentItem() + 200);
+        m_pOptionState->classState.defaultAttributeScope = (Uml::Visibility::Value) m_ClassWidgets.m_pAttribScopeCB->currentItem();
+        m_pOptionState->classState.defaultOperationScope = (Uml::Visibility::Value) m_ClassWidgets.m_pOperationScopeCB->currentItem();
     }
     else if ( item == pageCodeGen )
     {
--- trunk/KDE/kdesdk/umbrello/umbrello/umlnamespace.h #707047:707048
@@ -65,7 +65,7 @@
 class Visibility {
   public:
     enum Value {
-        Public  =  200,
+        Public,
         Private,
         Protected,
         Implementation // objects marked with this are declared in the implementation file.
--- trunk/KDE/kdesdk/umbrello/umbrello/umlobject.cpp #707047:707048
@@ -644,11 +644,20 @@
             m_bStatic = true;
         else {
             int nScope = scope.toInt();
-            if (nScope >= Uml::Visibility::Public && nScope <= Uml::Visibility::Protected)
-              m_Vis = (Uml::Visibility::Value)nScope;
-            else
-                kError() << "UMLObject::loadFromXMI(" << m_Name
-                << "): illegal scope" << endl;  // soft error
+            switch (nScope) {
+                case 200:
+                    m_Vis = Uml::Visibility::Public;
+                    break;
+                case 201:
+                    m_Vis = Uml::Visibility::Private;
+                    break;
+                case 202:
+                    m_Vis = Uml::Visibility::Protected;
+                    break;
+                default:
+                    kError() << "UMLObject::loadFromXMI(" << m_Name
+                        << "): illegal scope " << nScope << endl;
+            }
         }
     } else {
         QString visibility = element.attribute( "visibility", "public" );




More information about the umbrello-devel mailing list