Author: bobtarling
Date: 2008-05-12 15:14:21-0700
New Revision: 14715

Modified:
   
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.java
   
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java
   
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java
   
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/CompartmentFigText.java

Log:
Some refactoring to remove redundant code. As far as I can take this for now 
without some notation changes.

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.java?view=diff&rev=14715&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.java&r1=14714&r2=14715
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.java
 (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.java
 2008-05-12 15:14:21-0700
@@ -332,36 +332,17 @@
 
     /*
      * @see 
org.argouml.uml.diagram.ui.FigNodeModelElement#textEdited(org.tigris.gef.presentation.FigText)
+     * TODO: Move this to superclass once TODO comments in
+     * FigEnumeration.textEdited complete
      */
     protected void textEdited(FigText ft) throws PropertyVetoException {
         super.textEdited(ft);
-        Object classifier = getOwner();
-        if (classifier == null) {
+        // TODO: Do we really need this?
+        if (getOwner() == null) {
             return;
         }
-        // TODO: Two duplicate code blocks here. Can this all be moved to
-        // FigEditableCompartment?
-        int i = new ArrayList(getAttributesFig().getFigs()).indexOf(ft);
-        if (i != -1) {
-            final CompartmentFigText figText = (CompartmentFigText) ft;
-            figText.setHighlighted(true);
-
-            figText.getNotationProvider()
-                .parse(figText.getOwner(), ft.getText());
-            ft.setText(figText.getNotationProvider().toString(
-                    figText.getOwner(), null));
-            return;
-        }
-        i = new ArrayList(getOperationsFig().getFigs()).indexOf(ft);
-        if (i != -1) {
-            final CompartmentFigText figText = (CompartmentFigText) ft;
-            figText.setHighlighted(true);
-
-            figText.getNotationProvider()
-                .parse(figText.getOwner(), ft.getText());
-            ft.setText(figText.getNotationProvider().toString(
-                figText.getOwner(), null));
-            return;
+        if (ft instanceof CompartmentFigText) {
+            ((CompartmentFigText) ft).textEdited();
         }
     }
 

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java?view=diff&rev=14715&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java&r1=14714&r2=14715
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java
      (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java
      2008-05-12 15:14:21-0700
@@ -259,13 +259,15 @@
      */
     protected void textEdited(FigText ft) throws PropertyVetoException {
         super.textEdited(ft);
-        Object cls = getOwner();
-        if (cls == null) {
+        // TODO: Do we really need this?
+        if (getOwner() == null) {
             return;
         }
+        // TODO: Can we do same here as in FigClass and FigInterface?
+        // FigEnumeration will need to be reworked first.
+        // Then we can move all common functionality of textEdited to
+        // superclass.
         int i = getOperationsFig().getFigs().indexOf(ft);
-        // TODO: Duplicate code here as in FigClass. Can this all be moved to
-        // FigEditableCompartment?
         if (i != -1) {
             final CompartmentFigText figText = (CompartmentFigText) ft;
             figText.setHighlighted(true);

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java?view=diff&rev=14715&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java&r1=14714&r2=14715
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java
   (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java
   2008-05-12 15:14:21-0700
@@ -203,11 +203,12 @@
         if (cls == null) {
             return;
         }
-        
+        // TODO: Can we do same here as in FigClass, FigInterface etc?
+        // Does work need doing in notations to allow this?
+        // Then we can move all common functionality of textEdited to
+        // superclass.
         int i = literalsCompartment.getFigs().indexOf(ft);
-        // TODO: Almost duplicate code here as in FigClass. Can this all be
-        // moved to FigEditableCompartment?
-        if (i != -1) {
+        if (ft instanceof CompartmentFigText) {
             final CompartmentFigText figText = (CompartmentFigText) ft;
             figText.setHighlighted(true);
             Model.getCoreHelper().setName(figText.getOwner(),

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java?view=diff&rev=14715&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java&r1=14714&r2=14715
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java
     (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java
     2008-05-12 15:14:21-0700
@@ -298,24 +298,17 @@
     /*
      * @see org.argouml.uml.diagram.ui.FigNodeModelElement#textEdited(
      * org.tigris.gef.presentation.FigText)
+     * TODO: Move this to superclass once TODO comments in
+     * FigEnumeration.textEdited complete
      */
     protected void textEdited(FigText ft) throws PropertyVetoException {
         super.textEdited(ft);
-        Object cls = getOwner();
-        if (cls == null) {
+        // TODO: Is this really needed?
+        if (getOwner() == null) {
             return;
         }
-        int i = getOperationsFig().getFigs().indexOf(ft);
-        // TODO: Duplicate code here as in FigClass. Can this all be moved to
-        // FigEditableCompartment?
-        if (i != -1) {
-            final CompartmentFigText figText = (CompartmentFigText) ft;
-            figText.setHighlighted(true);
-
-            figText.getNotationProvider()
-                .parse(figText.getOwner(), ft.getText());
-            ft.setText(figText.getNotationProvider().toString(
-                figText.getOwner(), null));
+        if (ft instanceof CompartmentFigText) {
+            ((CompartmentFigText) ft).textEdited();
         }
     }
 

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/CompartmentFigText.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/CompartmentFigText.java?view=diff&rev=14715&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/CompartmentFigText.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/CompartmentFigText.java&r1=14714&r2=14715
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/CompartmentFigText.java    
    (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/CompartmentFigText.java    
    2008-05-12 15:14:21-0700
@@ -283,4 +283,15 @@
     public boolean isHighlighted() {
         return highlighted;
     }
+    
+    /**
+     * Called when text editing has completed on this Fig.
+     * TODO: This should become protected once textEdited in FigEnumeration
+     * has been refactored to FigNodeModelElement
+     */
+    public void textEdited() {
+        setHighlighted(true);
+        getNotationProvider().parse(getOwner(), getText());
+        setText(getNotationProvider().toString(getOwner(), null));
+    }
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to