do not update properties with same value in Figure and UIcontrol 60/12960/2
Antoine ELIAS [Fri, 18 Oct 2013 12:48:49 +0000 (14:48 +0200)]
Change-Id: I17662993491c59f3d6b3ee4c8e1ea6926659aecd

33 files changed:
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/CallGraphicController.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/arc/Arc.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axis/Axis.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/console/Console.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/ClippableContouredObject.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/ContouredObject.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/datatip/Datatip.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/fec/Fec.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/figure/Figure.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicController/GraphicController.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/CallBack.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObject.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/imageplot/Grayplot.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/imageplot/Imageplot.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/label/Label.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/legend/Legend.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/polyline/Polyline.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/rectangle/Rectangle.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/surface/Fac3d.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/surface/Surface.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/ClippableTextObject.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/Font.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/FormattedText.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/Text.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/TextObject.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uibar/Uibar.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/Uicontrol.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uimenu/Uimenu.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Arrow.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Champ.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Segs.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/VectField.java
scilab/modules/gui/src/java/org/scilab/modules/gui/uielement/ScilabUIElement.java

index 85d2536..4101995 100644 (file)
@@ -147,7 +147,7 @@ public final class CallGraphicController {
             result = new int[tmp.length];
 
             for (int i = 0; i < result.length; i++) {
-                result[i] = tmp[i];
+                result[i] = tmp[i] == null ? 0 : tmp[i];
             }
         } else if (ret instanceof Integer) {
             result = new int[] { (Integer) ret};
index d685224..e3e249a 100644 (file)
@@ -15,6 +15,7 @@ package org.scilab.modules.graphic_objects.arc;
 import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject;
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
 
@@ -188,15 +189,18 @@ public class Arc extends ClippableContouredObject {
     /**
      * @param arcDrawingMethod the arcDrawingMethod to set
      */
-    public void setArcDrawingMethod(Integer arcDrawingMethod) {
+    public UpdateStatus setArcDrawingMethod(Integer arcDrawingMethod) {
         setArcDrawingMethodAsEnum(ArcDrawingMethod.intToEnum(arcDrawingMethod));
+        return UpdateStatus.Success;
+
     }
 
     /**
      * @param arcDrawingMethod the arcDrawingMethod to set
      */
-    public void setArcDrawingMethodAsEnum(ArcDrawingMethod arcDrawingMethod) {
+    public UpdateStatus setArcDrawingMethodAsEnum(ArcDrawingMethod arcDrawingMethod) {
         this.arcDrawingMethod = arcDrawingMethod;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -209,8 +213,9 @@ public class Arc extends ClippableContouredObject {
     /**
      * @param endAngle the endAngle to set
      */
-    public void setEndAngle(Double endAngle) {
+    public UpdateStatus setEndAngle(Double endAngle) {
         this.endAngle = endAngle;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -223,8 +228,9 @@ public class Arc extends ClippableContouredObject {
     /**
      * @param height the height to set
      */
-    public void setHeight(Double height) {
+    public UpdateStatus setHeight(Double height) {
         this.height = height;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -237,8 +243,9 @@ public class Arc extends ClippableContouredObject {
     /**
      * @param startAngle the startAngle to set
      */
-    public void setStartAngle(Double startAngle) {
+    public UpdateStatus setStartAngle(Double startAngle) {
         this.startAngle = startAngle;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -257,10 +264,11 @@ public class Arc extends ClippableContouredObject {
     /**
      * @param upperLeftPoint the upperLeftPoint to set
      */
-    public void setUpperLeftPoint(Double[] upperLeftPoint) {
+    public UpdateStatus setUpperLeftPoint(Double[] upperLeftPoint) {
         this.upperLeftPoint[0] = upperLeftPoint[0];
         this.upperLeftPoint[1] = upperLeftPoint[1];
         this.upperLeftPoint[2] = upperLeftPoint[2];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -273,8 +281,9 @@ public class Arc extends ClippableContouredObject {
     /**
      * @param width the width to set
      */
-    public void setWidth(Double width) {
+    public UpdateStatus setWidth(Double width) {
         this.width = width;
+        return UpdateStatus.Success;
     }
 
     public Integer getType() {
index 012d041..affe79a 100644 (file)
@@ -244,8 +244,9 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param font the font to set
      */
-    public void setFont(Font font) {
+    public UpdateStatus setFont(Font font) {
         this.font = font;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -258,8 +259,9 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param style the font style to set
      */
-    public void setStyle(Integer style) {
+    public UpdateStatus setStyle(Integer style) {
         font.setStyle(style);
+        return UpdateStatus.Success;
     }
 
     /**
@@ -272,8 +274,9 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param size the font size to set
      */
-    public void setSize(Double size) {
+    public UpdateStatus setSize(Double size) {
         font.setSize(size);
+        return UpdateStatus.Success;
     }
 
     /**
@@ -286,8 +289,9 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param color the font color to set
      */
-    public void setColor(Integer color) {
+    public UpdateStatus setColor(Integer color) {
         font.setColor(color);
+        return UpdateStatus.Success;
     }
 
     /**
@@ -300,8 +304,9 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param fractional the font fractional to set
      */
-    public void setFractional(Boolean fractional) {
+    public UpdateStatus setFractional(Boolean fractional) {
         font.setFractional(fractional);
+        return UpdateStatus.Success;
     }
 
     /**
@@ -314,8 +319,9 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param formatn the formatn to set
      */
-    public void setFormatn(String formatn) {
+    public UpdateStatus setFormatn(String formatn) {
         this.formatn = formatn;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -328,8 +334,9 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param ticksColor the ticksColor to set
      */
-    public void setTicksColor(Integer ticksColor) {
+    public UpdateStatus setTicksColor(Integer ticksColor) {
         this.ticksColor = ticksColor;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -349,15 +356,17 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param ticksDirection the ticksDirection to set
      */
-    public void setTicksDirection(Integer ticksDirection) {
+    public UpdateStatus setTicksDirection(Integer ticksDirection) {
         setTicksDirectionAsEnum(TicksDirection.values()[ticksDirection]);
+        return UpdateStatus.Success;
     }
 
     /**
      * @param ticksDirection the ticksDirection to set
      */
-    public void setTicksDirectionAsEnum(TicksDirection ticksDirection) {
+    public UpdateStatus setTicksDirectionAsEnum(TicksDirection ticksDirection) {
         this.ticksDirection = ticksDirection;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -390,7 +399,7 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param ticksLabels the ticksLabels to set
      */
-    public void setTicksLabels(String[] ticksLabels) {
+    public UpdateStatus setTicksLabels(String[] ticksLabels) {
         if (!this.ticksLabels.isEmpty()) {
             this.ticksLabels.clear();
         }
@@ -398,13 +407,13 @@ public class Axis extends ClippableContouredObject {
         for (int i = 0; i < ticksLabels.length; i++) {
             this.ticksLabels.add(new String(ticksLabels[i]));
         }
-
+        return UpdateStatus.Success;
     }
 
     /**
      * @param ticksLabels the ticksLabels to set
      */
-    public void setTicksLabelsAsArrayList(ArrayList<String> ticksLabels) {
+    public UpdateStatus setTicksLabelsAsArrayList(ArrayList<String> ticksLabels) {
         if (!this.ticksLabels.isEmpty()) {
             this.ticksLabels.clear();
         }
@@ -412,7 +421,7 @@ public class Axis extends ClippableContouredObject {
         for (int i = 0; i < ticksLabels.size(); i++) {
             this.ticksLabels.add(new String(ticksLabels.get(i)));
         }
-
+        return UpdateStatus.Success;
     }
 
     /**
@@ -425,8 +434,9 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param ticksSegment the ticksSegment to set
      */
-    public void setTicksSegment(Boolean ticksSegment) {
+    public UpdateStatus setTicksSegment(Boolean ticksSegment) {
         this.ticksSegment = ticksSegment;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -439,8 +449,9 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param ticksStyle the ticksStyle to set
      */
-    public void setTicksStyle(Integer ticksStyle) {
+    public UpdateStatus setTicksStyle(Integer ticksStyle) {
         this.ticksStyle = ticksStyle;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -453,8 +464,9 @@ public class Axis extends ClippableContouredObject {
     /**
      * @param subticks the subticks to set
      */
-    public void setSubticks(Integer subticks) {
+    public UpdateStatus setSubticks(Integer subticks) {
         this.subticks = subticks;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -490,7 +502,7 @@ public class Axis extends ClippableContouredObject {
      * TODO : we should use format_n to fill ticks label.
      * @param ticksCoords the xTicksCoords to set
      */
-    public void setXTicksCoords(Double[] ticksCoords) {
+    public UpdateStatus setXTicksCoords(Double[] ticksCoords) {
         if (ticksCoords.length != xTicksCoords.length) {
             xTicksCoords = new double[ticksCoords.length];
         }
@@ -498,6 +510,7 @@ public class Axis extends ClippableContouredObject {
         for (int i = 0; i < xTicksCoords.length; i++) {
             xTicksCoords[i] = ticksCoords[i];
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -519,7 +532,7 @@ public class Axis extends ClippableContouredObject {
      * TODO : we should use format_n to fill ticks label.
      * @param ticksCoords the yTicksCoords to set
      */
-    public void setYTicksCoords(Double[] ticksCoords) {
+    public UpdateStatus setYTicksCoords(Double[] ticksCoords) {
         if (ticksCoords.length != yTicksCoords.length) {
             yTicksCoords = new double[ticksCoords.length];
         }
@@ -527,6 +540,7 @@ public class Axis extends ClippableContouredObject {
         for (int i = 0; i < yTicksCoords.length; i++) {
             yTicksCoords[i] = ticksCoords[i];
         }
+        return UpdateStatus.Success;
     }
 
     /**
index 17defde..2b9cad3 100644 (file)
@@ -72,8 +72,9 @@ public final class Console extends GraphicObject {
      * Set the scilabMode property
      * @param scilabMode the new value to set
      */
-    public void setScilabMode(ScilabMode scilabMode) {
+    public UpdateStatus setScilabMode(ScilabMode scilabMode) {
         this.scilabMode = scilabMode;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -88,8 +89,9 @@ public final class Console extends GraphicObject {
      * Set the showHiddenHandles proeprty
      * @param showHiddenHandles the new value to set
      */
-    public void setShowHiddenHandles(boolean showHiddenHandles) {
+    public UpdateStatus setShowHiddenHandles(boolean showHiddenHandles) {
         this.showHiddenHandles = showHiddenHandles;
+        return UpdateStatus.Success;
     }
 
     /**
index 53c0ca2..38e5447 100644 (file)
@@ -110,8 +110,9 @@ public abstract class ClippableContouredObject extends ContouredObject {
     /**
      * @param clipProperty the clipProperty to set
      */
-    public void setClipProperty(ClippableProperty clipProperty) {
+    public UpdateStatus setClipProperty(ClippableProperty clipProperty) {
         this.clipProperty = clipProperty;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -124,8 +125,9 @@ public abstract class ClippableContouredObject extends ContouredObject {
     /**
      * @param clipBox the clipBox to set
      */
-    public void setClipBox(Double[] clipBox) {
+    public UpdateStatus setClipBox(Double[] clipBox) {
         clipProperty.setClipBox(clipBox);
+        return UpdateStatus.Success;
     }
 
     /**
@@ -145,15 +147,17 @@ public abstract class ClippableContouredObject extends ContouredObject {
     /**
      * @param clipState the clipState to set
      */
-    public void setClipState(Integer clipState) {
+    public UpdateStatus setClipState(Integer clipState) {
         setClipStateAsEnum(ClipStateType.intToEnum(clipState));
+        return UpdateStatus.Success;
     }
 
     /**
      * @param clipState the clipState to set
      */
-    public void setClipStateAsEnum(ClipStateType clipState) {
+    public UpdateStatus setClipStateAsEnum(ClipStateType clipState) {
         clipProperty.setClipState(clipState);
+        return UpdateStatus.Success;
     }
 
     /**
@@ -166,8 +170,9 @@ public abstract class ClippableContouredObject extends ContouredObject {
     /**
      * @param clipBoxSet the clipBoxSet to set
      */
-    public void setClipBoxSet(Boolean clipBoxSet) {
+    public UpdateStatus setClipBoxSet(Boolean clipBoxSet) {
         clipProperty.setClipBoxSet(clipBoxSet);
+        return UpdateStatus.Success;
     }
 
 }
index 0e4a7ba..c3c0553 100644 (file)
@@ -17,6 +17,8 @@ import org.scilab.modules.graphic_objects.contouredObject.Line.LineType;
 import org.scilab.modules.graphic_objects.contouredObject.Mark.MarkPropertyType;
 import org.scilab.modules.graphic_objects.contouredObject.Mark.MarkSizeUnitType;
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObject;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
+
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
 
 /**
@@ -187,8 +189,9 @@ public abstract class ContouredObject extends GraphicObject {
     /**
      * @param background the background to set
      */
-    public void setBackground(Integer background) {
+    public UpdateStatus setBackground(Integer background) {
         this.background = background;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -219,8 +222,9 @@ public abstract class ContouredObject extends GraphicObject {
     /**
      * @param line the line to set
      */
-    public void setLine(Line line) {
+    public UpdateStatus setLine(Line line) {
         this.line = line;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -259,16 +263,18 @@ public abstract class ContouredObject extends GraphicObject {
      * Set the line style
      * @param lineStyle the lineStyle to set
      */
-    public void setLineStyle(Integer lineStyle) {
+    public UpdateStatus setLineStyle(Integer lineStyle) {
         setLineStyleAsEnum(LineType.fromScilabIndex(lineStyle));
+        return UpdateStatus.Success;
     }
 
     /**
      * Set the line style
      * @param lineStyle the lineStyle to set
      */
-    public void setLineStyleAsEnum(LineType lineStyle) {
+    public UpdateStatus setLineStyleAsEnum(LineType lineStyle) {
         line.setLineStyle(lineStyle);
+        return UpdateStatus.Success;
     }
 
     /**
@@ -299,8 +305,9 @@ public abstract class ContouredObject extends GraphicObject {
      * Set the line thickness
      * @param thickness the thickness to set
      */
-    public void setLineThickness(Double thickness) {
+    public UpdateStatus setLineThickness(Double thickness) {
         line.setThickness(thickness);
+        return UpdateStatus.Success;
     }
 
     /**
@@ -313,8 +320,9 @@ public abstract class ContouredObject extends GraphicObject {
     /**
      * @param mark the mark to set
      */
-    public void setMark(Mark mark) {
+    public UpdateStatus setMark(Mark mark) {
         this.mark = mark;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -329,8 +337,9 @@ public abstract class ContouredObject extends GraphicObject {
      * Set the mark background
      * @param background the background to set
      */
-    public void setMarkBackground(Integer background) {
+    public UpdateStatus setMarkBackground(Integer background) {
         mark.setBackground(background);
+        return UpdateStatus.Success;
     }
 
     /**
@@ -345,8 +354,9 @@ public abstract class ContouredObject extends GraphicObject {
      * Set the mark foreground
      * @param foreground the foreground to set
      */
-    public void setMarkForeground(Integer foreground) {
+    public UpdateStatus setMarkForeground(Integer foreground) {
         mark.setForeground(foreground);
+        return UpdateStatus.Success;
     }
 
     /**
@@ -369,16 +379,18 @@ public abstract class ContouredObject extends GraphicObject {
      * Set the mark size unit
      * @param markSizeUnit the markSizeUnit to set
      */
-    public void setMarkSizeUnit(Integer markSizeUnit) {
+    public UpdateStatus setMarkSizeUnit(Integer markSizeUnit) {
         setMarkSizeUnitAsEnum(MarkSizeUnitType.intToEnum(markSizeUnit));
+        return UpdateStatus.Success;
     }
 
     /**
      * Set the mark size unit
      * @param markSizeUnit the markSizeUnit to set
      */
-    public void setMarkSizeUnitAsEnum(MarkSizeUnitType markSizeUnit) {
+    public UpdateStatus setMarkSizeUnitAsEnum(MarkSizeUnitType markSizeUnit) {
         mark.setMarkSizeUnit(markSizeUnit);
+        return UpdateStatus.Success;
     }
 
     /**
index 976bdf9..a91431c 100755 (executable)
@@ -185,11 +185,12 @@ public class Datatip extends Text {
      * Set the data tip that will be shown
      * @param data A 3 element vector with the data (x, y, z).
      */
-    public void setTipData(Double[] data) {
+    public UpdateStatus setTipData(Double[] data) {
         tipData[0] = data[0];
         tipData[1] = data[1];
         tipData[2] = data[2];
         updateText();
+        return UpdateStatus.Success;
     }
 
     /**
@@ -224,16 +225,18 @@ public class Datatip extends Text {
      * Set the current orientation (updating the text position)
      * @param orientation the new orientation (integer).
      */
-    public void setOrientation(Integer orientation) {
+    public UpdateStatus setOrientation(Integer orientation) {
         currentOrientation = TipOrientation.intToEnum(orientation);
+        return UpdateStatus.Success;
     }
 
     /**
      * Set the current orientation (updating the text position)
      * @param orientation the new orientation (TipOrientation enum).
      */
-    public void setOrientationAsEnum(TipOrientation orientation) {
+    public UpdateStatus setOrientationAsEnum(TipOrientation orientation) {
         currentOrientation = orientation;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -247,9 +250,10 @@ public class Datatip extends Text {
      * If true set the Z component to be displayed.
      * @param useZ True to enable display the Z component, false to disable.
      */
-    public void setUse3Component(Boolean useZ) {
+    public UpdateStatus setUse3Component(Boolean useZ) {
         use3component = useZ;
         updateText();
+        return UpdateStatus.Success;
     }
 
 
@@ -257,8 +261,9 @@ public class Datatip extends Text {
         return autoOrientation;
     }
 
-    public void setAutoOrientation(Boolean status) {
+    public UpdateStatus setAutoOrientation(Boolean status) {
         autoOrientation = status;
+        return UpdateStatus.Success;
     }
 
 
@@ -320,22 +325,26 @@ public class Datatip extends Text {
         return displayFnc;
     }
 
-    public void setTipBoxMode(Boolean mode) {
+    public UpdateStatus setTipBoxMode(Boolean mode) {
         tipBoxMode = mode;
         setBox(tipBoxMode);
+        return UpdateStatus.Success;
     }
 
-    public void setTipLabelMode(Boolean mode) {
+    public UpdateStatus setTipLabelMode(Boolean mode) {
         tipLabelMode = mode;
+        return UpdateStatus.Success;
     }
 
-    public void setInterpMode(Boolean mode) {
+    public UpdateStatus setInterpMode(Boolean mode) {
         interpMode = mode;
+        return UpdateStatus.Success;
     }
 
-    public void setDisplayFunction(String fnc) {
+    public UpdateStatus setDisplayFunction(String fnc) {
         displayFnc = fnc;
         updateTextDispFunction(displayFnc);
+        return UpdateStatus.Success;
     }
 
     @Override
index 3722b26..6f1f954 100644 (file)
@@ -16,6 +16,7 @@ import org.scilab.modules.graphic_objects.ObjectRemovedException;
 import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject;
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
 
@@ -121,9 +122,10 @@ public class Fec extends ClippableContouredObject {
     /**
      * @param colorRange the colorRange to set
      */
-    public void setColorRange(Integer[] colorRange) {
+    public UpdateStatus setColorRange(Integer[] colorRange) {
         this.colorRange[0] = colorRange[0];
         this.colorRange[1] = colorRange[1];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -140,9 +142,10 @@ public class Fec extends ClippableContouredObject {
     /**
      * @param outsideColor the outsideColor to set
      */
-    public void setOutsideColor(Integer[] outsideColor) {
+    public UpdateStatus setOutsideColor(Integer[] outsideColor) {
         this.outsideColor[0] = outsideColor[0];
         this.outsideColor[1] = outsideColor[1];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -159,9 +162,10 @@ public class Fec extends ClippableContouredObject {
     /**
      * @param bounds the zBounds to set
      */
-    public void setZBounds(Double[] zBounds) {
+    public UpdateStatus setZBounds(Double[] zBounds) {
         this.zBounds[0] = zBounds[0];
         this.zBounds[1] = zBounds[1];
+        return UpdateStatus.Success;
     }
 
     /**
index 1276d8c..216143b 100644 (file)
 
 package org.scilab.modules.graphic_objects.figure;
 
-import org.scilab.modules.graphic_objects.graphicObject.GraphicObject;
-import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
-import org.scilab.modules.graphic_objects.graphicObject.Visitor;
-
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ANTIALIASING__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AUTORESIZE__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXES_SIZE__;
@@ -35,8 +31,13 @@ import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProp
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_RESIZEFCN__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ROTATION_TYPE__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SIZE__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TAG__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VIEWPORT__;
+
+import java.util.Arrays;
+
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
+import org.scilab.modules.graphic_objects.graphicObject.Visitor;
 /**
  * Figure class
  * @author Manuel JULIACHS
@@ -45,7 +46,7 @@ public class Figure extends GraphicObject {
     /** Figure properties names */
     private enum FigureProperty {
         INFOMESSAGE, COLORMAP, COLORMAPSIZE,
-        BACKGROUND, TAG, ROTATIONTYPE, RESIZEFCN, CLOSEREQUESTFCN
+        BACKGROUND, ROTATIONTYPE, RESIZEFCN, CLOSEREQUESTFCN
     };
 
     /** Specifies whether rotation applies to a single subwindow or to all the figure's subwindows */
@@ -125,17 +126,17 @@ public class Figure extends GraphicObject {
      */
     private class FigureDimensions {
         /** Position (x,y) of the upper-left corner in the top-level window */
-        private int[] position;
+        private Integer[] position;
 
         /** Dimensions (w, h) of the figure window */
-        private int[] size;
+        private Integer[] size;
 
         /**
          * Default constructor
          */
         public FigureDimensions() {
-            position = new int[2];
-            size = new int[2];
+            position = new Integer[2];
+            size = new Integer[2];
         }
 
         /**
@@ -143,11 +144,11 @@ public class Figure extends GraphicObject {
          * @param figureDimensions the FigureDimensions to copy
          */
         public FigureDimensions(FigureDimensions figureDimensions) {
-            this.position = new int[2];
+            this.position = new Integer[2];
             this.position[0] = figureDimensions.position[0];
             this.position[1] = figureDimensions.position[1];
 
-            this.size = new int[2];
+            this.size = new Integer[2];
             this.size[0] = figureDimensions.size[0];
             this.size[1] = figureDimensions.size[1];
         }
@@ -164,18 +165,18 @@ public class Figure extends GraphicObject {
         private boolean autoResize;
 
         /** Viewport position (x,y) */
-        private int[] viewport;
+        private Integer[] viewport;
 
         /** Rendering canvas (w,h) dimensions */
-        private int[] axesSize;
+        private Integer[] axesSize;
 
         /**
          * Default constructor
          */
         public Canvas() {
             autoResize = false;
-            viewport = new int[2];
-            axesSize = new int[2];
+            viewport = new Integer[2];
+            axesSize = new Integer[2];
         }
 
         /**
@@ -185,12 +186,12 @@ public class Figure extends GraphicObject {
         public Canvas(Canvas canvas) {
             this.autoResize = canvas.autoResize;
 
-            this.viewport = new int[2];
+            this.viewport = new Integer[2];
 
             this.viewport[0] = canvas.viewport[0];
             this.viewport[1] = canvas.viewport[1];
 
-            this.axesSize = new int[2];
+            this.axesSize = new Integer[2];
 
             this.axesSize[0] = canvas.axesSize[0];
             this.axesSize[1] = canvas.axesSize[1];
@@ -348,9 +349,6 @@ public class Figure extends GraphicObject {
     /** CloseRequestFcn */
     private String closeRequestFcn;
 
-    /** Tag */
-    private String tag;
-
     /** Rotation type */
     private RotationType rotation;
 
@@ -368,7 +366,6 @@ public class Figure extends GraphicObject {
         eventHandler = new EventHandler();
         resizeFcn = "";
         closeRequestFcn = "";
-        tag = "";
         rotation = RotationType.UNARY;
     }
 
@@ -435,8 +432,6 @@ public class Figure extends GraphicObject {
                 return EventHandlerProperty.EVENTHANDLER;
             case __GO_EVENTHANDLER_ENABLE__ :
                 return EventHandlerProperty.EVENTHANDLERENABLE;
-            case __GO_TAG__ :
-                return FigureProperty.TAG;
             case __GO_ROTATION_TYPE__ :
                 return FigureProperty.ROTATIONTYPE;
             case __GO_RESIZEFCN__ :
@@ -488,8 +483,6 @@ public class Figure extends GraphicObject {
             return getEventHandlerString();
         } else if (property == EventHandlerProperty.EVENTHANDLERENABLE) {
             return getEventHandlerEnable();
-        } else if (property == FigureProperty.TAG) {
-            return getTag();
         } else if (property == FigureProperty.ROTATIONTYPE) {
             return getRotation();
         } else if (property == FigureProperty.RESIZEFCN) {
@@ -508,46 +501,64 @@ public class Figure extends GraphicObject {
      * @return true if the property has been set, false otherwise
      */
     public UpdateStatus setProperty(Object property, Object value) {
-        if (property == FigureDimensionsProperty.POSITION) {
-            setPosition((Integer[]) value);
-        } else if (property == FigureDimensionsProperty.SIZE) {
-            setSize((Integer[]) value);
-        } else if (property == CanvasProperty.AUTORESIZE) {
-            setAutoResize((Boolean) value);
-        } else if (property == CanvasProperty.VIEWPORT) {
-            setViewport((Integer[]) value);
-        } else if (property == CanvasProperty.AXESSIZE) {
-            setAxesSize((Integer[]) value);
-        } else if (property == FigureNameProperty.NAME) {
-            setName((String) value);
-        } else if (property == FigureNameProperty.ID) {
-            setId((Integer) value);
-        } else if (property == FigureProperty.INFOMESSAGE) {
-            setInfoMessage((String) value);
-        } else if (property == FigureProperty.COLORMAP) {
-            return getColorMap().setData((Double[]) value);
-        } else if (property == RenderingModeProperty.PIXMAP) {
-            setPixmap((Boolean) value);
-        } else if (property == RenderingModeProperty.PIXELDRAWINGMODE) {
-            setPixelDrawingMode((Integer) value);
-        } else if (property == RenderingModeProperty.ANTIALIASING) {
-            setAntialiasing((Integer) value);
-        } else if (property == RenderingModeProperty.IMMEDIATEDRAWING) {
-            return setImmediateDrawing((Boolean) value);
-        } else if (property == FigureProperty.BACKGROUND) {
-            setBackground((Integer) value);
-        } else if (property == EventHandlerProperty.EVENTHANDLER) {
-            setEventHandlerString((String) value);
-        } else if (property == EventHandlerProperty.EVENTHANDLERENABLE) {
-            setEventHandlerEnable((Boolean) value);
-        } else if (property == FigureProperty.TAG) {
-            setTag((String) value);
-        } else if (property == FigureProperty.ROTATIONTYPE) {
-            setRotation((Integer) value);
-        } else if (property == FigureProperty.RESIZEFCN) {
-            setResizeFcn((String) value);
-        } else if (property == FigureProperty.CLOSEREQUESTFCN) {
-            setCloseRequestFcn((String) value);
+        if (property instanceof FigureProperty) {
+            switch ((FigureProperty)property) {
+                case BACKGROUND:
+                    return setBackground((Integer) value);
+                case CLOSEREQUESTFCN:
+                    return setCloseRequestFcn((String) value);
+                case COLORMAP:
+                    return getColorMap().setData((Double[]) value);
+                case COLORMAPSIZE:
+                    return UpdateStatus.NoChange;
+                case INFOMESSAGE:
+                    return setInfoMessage((String) value);
+                case RESIZEFCN:
+                    return setResizeFcn((String) value);
+                case ROTATIONTYPE:
+                    return setRotation((Integer) value);
+            }
+        } else if (property instanceof CanvasProperty) {
+            switch ((CanvasProperty)property) {
+                case AUTORESIZE:
+                    return setAutoResize((Boolean) value);
+                case AXESSIZE:
+                    return setAxesSize((Integer[]) value);
+                case VIEWPORT:
+                    return setViewport((Integer[]) value);
+            }
+        } else if (property instanceof FigureDimensionsProperty) {
+            switch ((FigureDimensionsProperty)property) {
+                case POSITION:
+                    return setPosition((Integer[]) value);
+                case SIZE:
+                    return setSize((Integer[]) value);
+            }
+        } else if (property instanceof FigureNameProperty) {
+            switch ((FigureNameProperty)property) {
+                case ID:
+                    return setId((Integer) value);
+                case NAME:
+                    return setName((String) value);
+            }
+        } else if (property instanceof RenderingModeProperty) {
+            switch ((RenderingModeProperty)property) {
+                case ANTIALIASING:
+                    return setAntialiasing((Integer) value);
+                case IMMEDIATEDRAWING:
+                    return setImmediateDrawing((Boolean) value);
+                case PIXELDRAWINGMODE:
+                    return setPixelDrawingMode((Integer) value);
+                case PIXMAP:
+                    return setPixmap((Boolean) value);
+            }
+        } else if (property instanceof EventHandlerProperty) {
+            switch ((EventHandlerProperty)property) {
+                case EVENTHANDLER:
+                    return setEventHandlerString((String) value);
+                case EVENTHANDLERENABLE:
+                    return setEventHandlerEnable((Boolean) value);
+            }
         } else {
             return super.setProperty(property, value);
         }
@@ -565,8 +576,12 @@ public class Figure extends GraphicObject {
     /**
      * @param background the background to set
      */
-    public void setBackground(Integer background) {
+    public UpdateStatus setBackground(Integer background) {
+        if (this.background == background) {
+            return UpdateStatus.NoChange;
+        }
         this.background = background;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -579,8 +594,9 @@ public class Figure extends GraphicObject {
     /**
      * @param canvas the canvas to set
      */
-    public void setCanvas(Canvas canvas) {
+    public UpdateStatus setCanvas(Canvas canvas) {
         this.canvas = canvas;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -593,8 +609,12 @@ public class Figure extends GraphicObject {
     /**
      * @param autoResize the autoresize to set
      */
-    public void setAutoResize(Boolean autoResize) {
+    public UpdateStatus setAutoResize(Boolean autoResize) {
+        if (canvas.autoResize == autoResize) {
+            return UpdateStatus.NoChange;
+        }
         canvas.autoResize = autoResize;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -612,9 +632,13 @@ public class Figure extends GraphicObject {
     /**
      * @param viewport the viewport to set
      */
-    public void setViewport(Integer[] viewport) {
+    public UpdateStatus setViewport(Integer[] viewport) {
+        if (Arrays.equals(canvas.viewport, viewport)) {
+            return UpdateStatus.NoChange;
+        }
         canvas.viewport[0] = viewport[0];
         canvas.viewport[1] = viewport[1];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -632,9 +656,14 @@ public class Figure extends GraphicObject {
     /**
      * @param axesSize the axes size to set
      */
-    public void setAxesSize(Integer[] axesSize) {
+    public UpdateStatus setAxesSize(Integer[] axesSize) {
+        if (Arrays.equals(canvas.axesSize, axesSize)) {
+            //must return Success to broadcast information
+            return UpdateStatus.Success;
+        }
         canvas.axesSize[0] = axesSize[0];
         canvas.axesSize[1] = axesSize[1];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -654,8 +683,12 @@ public class Figure extends GraphicObject {
     /**
      * @param dimensions the dimensions to set
      */
-    public void setDimensions(FigureDimensions dimensions) {
+    public UpdateStatus setDimensions(FigureDimensions dimensions) {
+        if (this.dimensions == dimensions) {
+            return UpdateStatus.NoChange;
+        }
         this.dimensions = dimensions;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -673,9 +706,14 @@ public class Figure extends GraphicObject {
     /**
      * @param position the position to set
      */
-    public void setPosition(Integer[] position) {
+    public UpdateStatus setPosition(Integer[] position) {
+        if (Arrays.equals(dimensions.position, position)) {
+            return UpdateStatus.NoChange;
+        }
+
         dimensions.position[0] = position[0];
         dimensions.position[1] = position[1];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -693,9 +731,14 @@ public class Figure extends GraphicObject {
     /**
      * @param size the size to set
      */
-    public void setSize(Integer[] size) {
+    public UpdateStatus setSize(Integer[] size) {
+        if (Arrays.equals(dimensions.size, size)) {
+            return UpdateStatus.NoChange;
+        }
+
         dimensions.size[0] = size[0];
         dimensions.size[1] = size[1];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -708,8 +751,12 @@ public class Figure extends GraphicObject {
     /**
      * @param eventHandler the eventHandler to set
      */
-    public void setEventHandler(EventHandler eventHandler) {
+    public UpdateStatus setEventHandler(EventHandler eventHandler) {
+        if (this.eventHandler.equals(eventHandler)) {
+            return UpdateStatus.NoChange;
+        }
         this.eventHandler = eventHandler;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -722,8 +769,12 @@ public class Figure extends GraphicObject {
     /**
      * @param eventHandlerString the eventHandler string to set
      */
-    public void setEventHandlerString(String eventHandlerString) {
+    public UpdateStatus setEventHandlerString(String eventHandlerString) {
+        if (eventHandler.eventHandler.equals(eventHandlerString)) {
+            return UpdateStatus.NoChange;
+        }
         eventHandler.eventHandler = eventHandlerString;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -736,8 +787,12 @@ public class Figure extends GraphicObject {
     /**
      * @param eventHandlerEnabled the eventHandlerEnabled to set
      */
-    public void setEventHandlerEnable(Boolean eventHandlerEnabled) {
+    public UpdateStatus setEventHandlerEnable(Boolean eventHandlerEnabled) {
+        if (eventHandler.eventHandlerEnabled == eventHandlerEnabled) {
+            return UpdateStatus.NoChange;
+        }
         eventHandler.eventHandlerEnabled = eventHandlerEnabled;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -750,8 +805,12 @@ public class Figure extends GraphicObject {
     /**
      * @param infoMessage the infoMessage to set
      */
-    public void setInfoMessage(String infoMessage) {
+    public UpdateStatus setInfoMessage(String infoMessage) {
+        if (this.infoMessage != null && this.infoMessage.equals(infoMessage)) {
+            return UpdateStatus.NoChange;
+        }
         this.infoMessage = infoMessage;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -764,8 +823,12 @@ public class Figure extends GraphicObject {
     /**
      * @param figureName the figure name to set
      */
-    public void setFigureName(FigureName figureName) {
+    public UpdateStatus setFigureName(FigureName figureName) {
+        if (this.figureName.equals(figureName)) {
+            return UpdateStatus.NoChange;
+        }
         this.figureName = figureName;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -778,8 +841,12 @@ public class Figure extends GraphicObject {
     /**
      * @param name the name to set
      */
-    public void setName(String name) {
+    public UpdateStatus setName(String name) {
+        if (figureName.name.equals(name)) {
+            return UpdateStatus.NoChange;
+        }
         figureName.name = name;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -792,8 +859,10 @@ public class Figure extends GraphicObject {
     /**
      * @param id the id to set
      */
-    public void setId(Integer id) {
+    public UpdateStatus setId(Integer id) {
+        //must return Success to update Views
         figureName.id = id;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -806,8 +875,12 @@ public class Figure extends GraphicObject {
     /**
      * @param renderingMode the renderingMode to set
      */
-    public void setRenderingMode(RenderingMode renderingMode) {
+    public UpdateStatus setRenderingMode(RenderingMode renderingMode) {
+        if (this.renderingMode.equals(renderingMode)) {
+            return UpdateStatus.NoChange;
+        }
         this.renderingMode = renderingMode;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -820,8 +893,12 @@ public class Figure extends GraphicObject {
     /**
      * @param pixmap the pixmap to set
      */
-    public void setPixmap(Boolean pixmap) {
+    public UpdateStatus setPixmap(Boolean pixmap) {
+        if (renderingMode.pixmap == pixmap) {
+            return UpdateStatus.NoChange;
+        }
         renderingMode.pixmap = pixmap;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -841,15 +918,25 @@ public class Figure extends GraphicObject {
     /**
      * @param pixelDrawingMode the pixel drawing mode to set
      */
-    public void setPixelDrawingMode(PixelDrawingMode pixelDrawingMode) {
+    public UpdateStatus setPixelDrawingMode(PixelDrawingMode pixelDrawingMode) {
+        if (renderingMode.pixelDrawingMode.equals(pixelDrawingMode)) {
+            return UpdateStatus.NoChange;
+        }
         renderingMode.pixelDrawingMode = pixelDrawingMode;
+        return UpdateStatus.Success;
     }
 
     /**
      * @param pixelDrawingMode the pixel drawing mode to set
      */
-    public void setPixelDrawingMode(Integer pixelDrawingMode) {
-        renderingMode.pixelDrawingMode = PixelDrawingMode.intToEnum(pixelDrawingMode);
+    public UpdateStatus setPixelDrawingMode(Integer pixelDrawingMode) {
+        PixelDrawingMode mode = PixelDrawingMode.intToEnum(pixelDrawingMode);
+        if (renderingMode.pixelDrawingMode == mode) {
+            return UpdateStatus.NoChange;
+        }
+
+        renderingMode.pixelDrawingMode = mode;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -862,8 +949,12 @@ public class Figure extends GraphicObject {
     /**
      * @param antialiasing the antialiasing to set
      */
-    public void setAntialiasing(Integer antialiasing) {
+    public UpdateStatus setAntialiasing(Integer antialiasing) {
+        if (renderingMode.antialiasing == antialiasing) {
+            return UpdateStatus.NoChange;
+        }
         renderingMode.antialiasing = antialiasing;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -877,12 +968,12 @@ public class Figure extends GraphicObject {
      * @param immediateDrawing the immediateDrawing to set
      */
     public UpdateStatus setImmediateDrawing(Boolean immediateDrawing) {
-        if (renderingMode.immediateDrawing != immediateDrawing) {
-            renderingMode.immediateDrawing = immediateDrawing;
-            return UpdateStatus.Success;
+        if (renderingMode.immediateDrawing == immediateDrawing) {
+            return UpdateStatus.NoChange;
         }
 
-        return UpdateStatus.NoChange;
+        renderingMode.immediateDrawing = immediateDrawing;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -902,18 +993,25 @@ public class Figure extends GraphicObject {
     /**
      * @param rotation the rotation to set
      */
-    public void setRotation(RotationType rotation) {
+    public UpdateStatus setRotation(RotationType rotation) {
+        if (this.rotation.equals(rotation)) {
+            return UpdateStatus.NoChange;
+        }
         this.rotation = rotation;
+        return UpdateStatus.Success;
     }
 
     /**
      * @param rotation the rotation to set
      */
-    public void setRotation(Integer rotation) {
+    public UpdateStatus setRotation(Integer rotation) {
         RotationType rotationType = RotationType.intToEnum(rotation);
-        if (rotationType != null) {
-            this.rotation = rotationType;
+        if (rotationType == null || this.rotation == rotationType) {
+            return UpdateStatus.NoChange;
         }
+
+        this.rotation = rotationType;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -926,8 +1024,12 @@ public class Figure extends GraphicObject {
     /**
      * @param resizeFcn the resize function to set
      */
-    public void setResizeFcn(String resizeFcn) {
+    public UpdateStatus setResizeFcn(String resizeFcn) {
+        if (this.resizeFcn.equals(resizeFcn)) {
+            return UpdateStatus.NoChange;
+        }
         this.resizeFcn = resizeFcn;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -940,22 +1042,12 @@ public class Figure extends GraphicObject {
     /**
      * @param closeRequestFcn the close request function to set
      */
-    public void setCloseRequestFcn(String closeRequestFcn) {
+    public UpdateStatus setCloseRequestFcn(String closeRequestFcn) {
+        if (this.closeRequestFcn.equals(closeRequestFcn)) {
+            return UpdateStatus.NoChange;
+        }
         this.closeRequestFcn = closeRequestFcn;
-    }
-
-    /**
-     * @return the tag
-     */
-    public String getTag() {
-        return tag;
-    }
-
-    /**
-     * @param tag the tag to set
-     */
-    public void setTag(String tag) {
-        this.tag = tag;
+        return UpdateStatus.Success;
     }
 
     /**
index 435e87f..149b5be 100644 (file)
@@ -37,7 +37,7 @@ import org.scilab.modules.graphic_objects.graphicView.LogView;
 public class GraphicController {
 
     private static boolean MVCViewEnable = false;
-    private static boolean debugEnable = true;
+    private static boolean debugEnable = false;
     private static boolean infoEnable = false;
     private static Integer lastId = 0;
 
index 485a98e..0054c53 100644 (file)
@@ -12,6 +12,8 @@
  */
 package org.scilab.modules.graphic_objects.graphicObject;
 
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
+
 /**
  * Abstract class to manage all callbacks.
  *
@@ -84,8 +86,9 @@ public class CallBack {
     /**
      * @param command sets the command
      */
-    public void setCommand(String command) {
+    public UpdateStatus setCommand(String command) {
         this.command = command;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -98,8 +101,9 @@ public class CallBack {
     /**
      * @param commandType sets the command
      */
-    public void setCommandType(int commandType) {
+    public UpdateStatus setCommandType(int commandType) {
         this.commandType = commandType;
+        return UpdateStatus.Success;
     }
 
     /**
index 694872d..f50fad4 100644 (file)
@@ -443,15 +443,17 @@ public abstract class GraphicObject implements Cloneable {
     /**
      * @param children the children to set
      */
-    private void setChildren(List<Integer> children) {
+    private UpdateStatus setChildren(List<Integer> children) {
         this.children = children;
+        return UpdateStatus.Success;
     }
 
     /**
      * @param children the children to set
      */
-    public void setChildren(Integer[] children) {
+    public UpdateStatus setChildren(Integer[] children) {
         this.children = new LinkedList<Integer>(Arrays.asList(children));
+        return UpdateStatus.Success;
     }
 
     /**
@@ -464,8 +466,9 @@ public abstract class GraphicObject implements Cloneable {
     /**
      * @param identifier the identifier to set
      */
-    public void setIdentifier(Integer identifier) {
+    public UpdateStatus setIdentifier(Integer identifier) {
         this.identifier = identifier;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -477,9 +480,11 @@ public abstract class GraphicObject implements Cloneable {
 
     /**
      * @param parent the parent to set
+     * @return TODO
      */
-    public void setParent(Integer parent) {
+    public UpdateStatus setParent(Integer parent) {
         this.parent = parent;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -491,9 +496,11 @@ public abstract class GraphicObject implements Cloneable {
 
     /**
      * @param userData the userData to set
+     * @return TODO
      */
-    public void setUserData(Integer[] userData) {
+    public UpdateStatus setUserData(Integer[] userData) {
         this.userData = userData;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -515,9 +522,11 @@ public abstract class GraphicObject implements Cloneable {
 
     /**
      * @param tag the tag to set
+     * @return TODO
      */
-    public void setTag(String tag) {
+    public UpdateStatus setTag(String tag) {
         this.tag = tag;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -529,9 +538,10 @@ public abstract class GraphicObject implements Cloneable {
 
     /**
      * @param callback the callback to set
+     * @return TODO
      */
-    public void setCallbackString(String callback) {
-        this.callback.setCommand(callback);
+    public UpdateStatus setCallbackString(String callback) {
+        return this.callback.setCommand(callback);
     }
 
     /**
@@ -543,9 +553,11 @@ public abstract class GraphicObject implements Cloneable {
 
     /**
      * @param callbackType the callbackType to set
+     * @return TODO
      */
-    public void setCallbackType(Integer callbackType) {
+    public UpdateStatus setCallbackType(Integer callbackType) {
         this.callback.setCommandType(callbackType);
+        return UpdateStatus.Success;
     }
 
     /**
@@ -642,8 +654,9 @@ public abstract class GraphicObject implements Cloneable {
      * Set selected child method
      * @param selectedChild the selected child to set
      */
-    public void setSelectedChild(Integer selectedChild) {
+    public UpdateStatus setSelectedChild(Integer selectedChild) {
         this.selectedChild = selectedChild;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -657,9 +670,11 @@ public abstract class GraphicObject implements Cloneable {
     /**
      * Set visible method
      * @param visible the visible to set
+     * @return TODO
      */
-    public void setVisible(Boolean visible) {
+    public UpdateStatus setVisible(Boolean visible) {
         this.visible = visible;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -679,9 +694,11 @@ public abstract class GraphicObject implements Cloneable {
     /**
      * Set hidden method
      * @param hidden the value to set
+     * @return TODO
      */
-    public void setHidden(Boolean hidden) {
+    public UpdateStatus setHidden(Boolean hidden) {
         this.hidden = hidden;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -695,9 +712,11 @@ public abstract class GraphicObject implements Cloneable {
     /**
      * Set valid method
      * @param valid the validity to set
+     * @return TODO
      */
-    public void setValid(Boolean valid) {
+    public UpdateStatus setValid(Boolean valid) {
         this.valid = valid;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -711,8 +730,10 @@ public abstract class GraphicObject implements Cloneable {
     /**
      * Set referenced method
      * @param referenced the reference status to set
+     * @return TODO
      */
-    public void setReferenced(Boolean referenced) {
+    public UpdateStatus setReferenced(Boolean referenced) {
         this.referenced = referenced;
+        return UpdateStatus.Success;
     }
 }
index 7d7470e..754c7e7 100644 (file)
@@ -15,6 +15,7 @@ package org.scilab.modules.graphic_objects.imageplot;
 import org.scilab.modules.graphic_objects.ObjectRemovedException;
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
 
@@ -120,15 +121,17 @@ public class Grayplot extends Imageplot {
     /**
      * @param dataMapping the dataMapping to set
      */
-    public void setDataMapping(Integer dataMapping) {
+    public UpdateStatus setDataMapping(Integer dataMapping) {
         setDataMappingAsEnum(DataMapping.intToEnum(dataMapping));
+        return UpdateStatus.Success;
     }
 
     /**
      * @param dataMapping the dataMapping to set
      */
-    public void setDataMappingAsEnum(DataMapping dataMapping) {
+    public UpdateStatus setDataMappingAsEnum(DataMapping dataMapping) {
         this.dataMapping = dataMapping;
+        return UpdateStatus.Success;
     }
 
     /**
index d3c5179..fd921f2 100644 (file)
@@ -16,6 +16,7 @@ import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProp
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MATPLOT_TRANSLATE__;
 
 import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 /**
  * ImagePlot class
@@ -89,15 +90,17 @@ public abstract class Imageplot extends ClippableContouredObject {
         return new Double[] {scale[0], scale[1]};
     }
 
-    public void setScale(Double[] scale) {
+    public UpdateStatus setScale(Double[] scale) {
         this.scale = scale;
+        return UpdateStatus.Success;
     }
 
     public Double[] getTranslate() {
         return new Double[] {translate[0], translate[1]};
     }
 
-    public void setTranslate(Double[] translate) {
+    public UpdateStatus setTranslate(Double[] translate) {
         this.translate = translate;
+        return UpdateStatus.Success;
     }
 }
index cf50a39..4389bd5 100644 (file)
@@ -14,6 +14,7 @@ package org.scilab.modules.graphic_objects.label;
 
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 import org.scilab.modules.graphic_objects.textObject.TextObject;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
 
@@ -155,8 +156,9 @@ public class Label extends TextObject {
     /**
      * @param autoPosition the autoPosition to set
      */
-    public void setAutoPosition(Boolean autoPosition) {
+    public UpdateStatus setAutoPosition(Boolean autoPosition) {
         this.autoPosition = autoPosition;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -169,8 +171,9 @@ public class Label extends TextObject {
     /**
      * @param autoRotation the autoRotation to set
      */
-    public void setAutoRotation(Boolean autoRotation) {
+    public UpdateStatus setAutoRotation(Boolean autoRotation) {
         this.autoRotation = autoRotation;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -183,12 +186,13 @@ public class Label extends TextObject {
     /**
      * @param fontAngle the fontAngle to set
      */
-    public void setFontAngle(Double fontAngle) {
+    public UpdateStatus setFontAngle(Double fontAngle) {
         if (autoRotation == true) {
             autoRotation = false;
         }
 
         this.fontAngle = fontAngle;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -207,7 +211,7 @@ public class Label extends TextObject {
     /**
      * @param position the position to set
      */
-    public void setPosition(Double[] position) {
+    public UpdateStatus setPosition(Double[] position) {
         if (autoPosition == true) {
             autoPosition = false;
         }
@@ -215,6 +219,7 @@ public class Label extends TextObject {
         this.position[0] = position[0];
         this.position[1] = position[1];
         this.position[2] = position[2];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -243,9 +248,9 @@ public class Label extends TextObject {
      * clockwise order.
      * @param coordinates the corners' coordinates (12-element array)
      */
-    public void setCorners(Double [] coordinates) {
+    public UpdateStatus setCorners(Double [] coordinates) {
         if (coordinates.length != 12) {
-            return;
+            return UpdateStatus.NoChange;
         }
 
         corners[0][0] = coordinates[0];
@@ -263,6 +268,7 @@ public class Label extends TextObject {
         corners[3][0] = coordinates[9];
         corners[3][1] = coordinates[10];
         corners[3][2] = coordinates[11];
+        return UpdateStatus.Success;
     }
 
     /**
index 62b29bc..804af8b 100644 (file)
@@ -18,6 +18,7 @@ import org.scilab.modules.graphic_objects.graphicController.GraphicController;
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObject;
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 import org.scilab.modules.graphic_objects.textObject.ClippableTextObject;
 import org.scilab.modules.graphic_objects.textObject.FormattedText;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
@@ -180,15 +181,17 @@ public class Legend extends ClippableTextObject {
     /**
      * @param legendLocation the legendLocation to set
      */
-    public void setLegendLocation(Integer legendLocation) {
+    public UpdateStatus setLegendLocation(Integer legendLocation) {
         setLegendLocationAsEnum(LegendLocation.intToEnum(legendLocation));
+        return UpdateStatus.Success;
     }
 
     /**
      * @param legendLocation the legendLocation to set
      */
-    public void setLegendLocationAsEnum(LegendLocation legendLocation) {
+    public UpdateStatus setLegendLocationAsEnum(LegendLocation legendLocation) {
         this.legendLocation = legendLocation;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -248,7 +251,7 @@ public class Legend extends ClippableTextObject {
     /**
      * @param links the links to set
      */
-    public void setLinks(Integer[] links) {
+    public UpdateStatus setLinks(Integer[] links) {
         if (!this.links.isEmpty()) {
             this.links.clear();
         }
@@ -256,6 +259,7 @@ public class Legend extends ClippableTextObject {
         for (int i = 0; i < links.length; i++) {
             this.links.add(links[i]);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -291,8 +295,9 @@ public class Legend extends ClippableTextObject {
     /**
      * @param links the links to set
      */
-    public void setLinks(ArrayList<Integer> links) {
+    public UpdateStatus setLinks(ArrayList<Integer> links) {
         this.links = links;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -309,9 +314,10 @@ public class Legend extends ClippableTextObject {
     /**
      * @param position the position to set
      */
-    public void setPosition(Double[] position) {
+    public UpdateStatus setPosition(Double[] position) {
         this.position[0] = position[0];
         this.position[1] = position[1];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -328,9 +334,10 @@ public class Legend extends ClippableTextObject {
     /**
     * @param size the size to set
     */
-    public void setSize(Double[] size) {
+    public UpdateStatus setSize(Double[] size) {
         this.size[0] = size[0];
         this.size[1] = size[1];
+        return UpdateStatus.Success;
     }
 
     /**
index 9343379..c276efd 100644 (file)
@@ -16,6 +16,7 @@ import org.scilab.modules.graphic_objects.ObjectRemovedException;
 import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject;
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
 
@@ -209,8 +210,9 @@ public class Polyline extends ClippableContouredObject {
     /**
      * @param barWidth the barWidth to set
      */
-    public void setBarWidth(Double barWidth) {
+    public UpdateStatus setBarWidth(Double barWidth) {
         this.barWidth = barWidth;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -223,8 +225,9 @@ public class Polyline extends ClippableContouredObject {
     /**
      * @param closed the closed to set
      */
-    public void setClosed(Boolean closed) {
+    public UpdateStatus setClosed(Boolean closed) {
         this.closed = closed;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -260,7 +263,7 @@ public class Polyline extends ClippableContouredObject {
     /**
      * @param interpColorVector the interpColorVector to set
      */
-    public void setInterpColorVector(Integer[] interpColorVector) {
+    public UpdateStatus setInterpColorVector(Integer[] interpColorVector) {
         if (interpColorVectorSet == false) {
             interpColorVectorSet = true;
         }
@@ -268,6 +271,7 @@ public class Polyline extends ClippableContouredObject {
         for (int i = 0; i < interpColorVector.length; i++) {
             this.interpColorVector[i] = interpColorVector[i];
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -280,8 +284,9 @@ public class Polyline extends ClippableContouredObject {
     /**
      * @param interpColorVectorSet the interpColorVectorSet to set
      */
-    public void setInterpColorVectorSet(Boolean interpColorVectorSet) {
+    public UpdateStatus setInterpColorVectorSet(Boolean interpColorVectorSet) {
         this.interpColorVectorSet = interpColorVectorSet;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -312,8 +317,9 @@ public class Polyline extends ClippableContouredObject {
     /**
      * @param shift the xShift to set
      */
-    public void setXShift(double[] shift) {
+    public UpdateStatus setXShift(double[] shift) {
         xShift = shift;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -326,8 +332,9 @@ public class Polyline extends ClippableContouredObject {
     /**
      * @param shift the yShift to set
      */
-    public void setYShift(double[] shift) {
+    public UpdateStatus setYShift(double[] shift) {
         yShift = shift;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -340,8 +347,9 @@ public class Polyline extends ClippableContouredObject {
     /**
      * @param shift the zShift to set
      */
-    public void setZShift(double[] shift) {
+    public UpdateStatus setZShift(double[] shift) {
         zShift = shift;
+        return UpdateStatus.Success;
     }
 
     /**
index d321760..57e83c0 100644 (file)
@@ -15,6 +15,7 @@ package org.scilab.modules.graphic_objects.rectangle;
 import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject;
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
 
@@ -113,8 +114,9 @@ public class Rectangle extends ClippableContouredObject {
     /**
      * @param height the height to set
      */
-    public void setHeight(Double height) {
+    public UpdateStatus setHeight(Double height) {
         this.height = height;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -133,10 +135,11 @@ public class Rectangle extends ClippableContouredObject {
     /**
      * @param upperLeftPoint the upperLeftPoint to set
      */
-    public void setUpperLeftPoint(Double[] upperLeftPoint) {
+    public UpdateStatus setUpperLeftPoint(Double[] upperLeftPoint) {
         this.upperLeftPoint[0] = upperLeftPoint[0];
         this.upperLeftPoint[1] = upperLeftPoint[1];
         this.upperLeftPoint[2] = upperLeftPoint[2];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -149,8 +152,9 @@ public class Rectangle extends ClippableContouredObject {
     /**
      * @param width the width to set
      */
-    public void setWidth(Double width) {
+    public UpdateStatus setWidth(Double width) {
         this.width = width;
+        return UpdateStatus.Success;
     }
 
     /**
index 12ed614..b84a193 100644 (file)
@@ -15,6 +15,7 @@ package org.scilab.modules.graphic_objects.surface;
 import org.scilab.modules.graphic_objects.ObjectRemovedException;
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
 
@@ -119,15 +120,17 @@ public class Fac3d extends Surface {
     /**
      * @param dataMapping the dataMapping to set
      */
-    public void setDataMapping(Integer dataMapping) {
+    public UpdateStatus setDataMapping(Integer dataMapping) {
         setDataMappingAsEnum(DataMapping.intToEnum(dataMapping));
+        return UpdateStatus.Success;
     }
 
     /**
      * @param dataMapping the dataMapping to set
      */
-    public void setDataMappingAsEnum(DataMapping dataMapping) {
+    public UpdateStatus setDataMappingAsEnum(DataMapping dataMapping) {
         this.dataMapping = dataMapping;
+        return UpdateStatus.Success;
     }
 
     /**
index e342fe5..3957af8 100644 (file)
@@ -13,6 +13,8 @@
 package org.scilab.modules.graphic_objects.surface;
 
 import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
+
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
 import org.scilab.modules.graphic_objects.lighting.ColorTriplet;
 import org.scilab.modules.graphic_objects.lighting.Material;
@@ -180,8 +182,9 @@ public abstract class Surface extends ClippableContouredObject {
     /**
      * @param surfaceMode the surfaceMode to set
      */
-    public void setSurfaceMode(Boolean surfaceMode) {
+    public UpdateStatus setSurfaceMode(Boolean surfaceMode) {
         this.surfaceMode = surfaceMode;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -194,8 +197,9 @@ public abstract class Surface extends ClippableContouredObject {
     /**
      * @param colorMode the colorMode to set
      */
-    public void setColorMode(Integer colorMode) {
+    public UpdateStatus setColorMode(Integer colorMode) {
         this.colorMode = colorMode;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -208,8 +212,9 @@ public abstract class Surface extends ClippableContouredObject {
     /**
      * @param colorFlag the colorFlag to set
      */
-    public void setColorFlag(Integer colorFlag) {
+    public UpdateStatus setColorFlag(Integer colorFlag) {
         this.colorFlag = colorFlag;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -222,15 +227,16 @@ public abstract class Surface extends ClippableContouredObject {
     /**
      * @param hiddenColor the hiddenColor to set
      */
-    public void setHiddenColor(Integer hiddenColor) {
+    public UpdateStatus setHiddenColor(Integer hiddenColor) {
         this.hiddenColor = hiddenColor;
+        return UpdateStatus.Success;
     }
 
     /**
      * Sets the color-material mode, that is,
      * use the surface color as diffuse color
      * @param status if true enables color-material
-     */ 
+     */
     public UpdateStatus setColorMaterialMode(Boolean status) {
         return material.setColorMaterialMode(status);
     }
@@ -308,9 +314,10 @@ public abstract class Surface extends ClippableContouredObject {
     /**
      * @param the new material.
      */
-    public void setMaterial(Material material) {
+    public UpdateStatus setMaterial(Material material) {
         if (material != null) {
             this.material = material;
         }
+        return UpdateStatus.Success;
     }
 }
index 964808b..e264a22 100644 (file)
@@ -15,6 +15,8 @@ package org.scilab.modules.graphic_objects.textObject;
 import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty;
 import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty.ClippablePropertyType;
 import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty.ClipStateType;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
+
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
 
 /**
@@ -104,8 +106,9 @@ public abstract class ClippableTextObject extends TextObject {
     /**
      * @param clipProperty the clipProperty to set
      */
-    public void setClipProperty(ClippableProperty clipProperty) {
+    public UpdateStatus setClipProperty(ClippableProperty clipProperty) {
         this.clipProperty = clipProperty;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -118,8 +121,8 @@ public abstract class ClippableTextObject extends TextObject {
     /**
      * @param clipBox the clipBox to set
      */
-    public void setClipBox(Double[] clipBox) {
-        clipProperty.setClipBox(clipBox);
+    public UpdateStatus setClipBox(Double[] clipBox) {
+        return clipProperty.setClipBox(clipBox);
     }
 
     /**
@@ -139,15 +142,15 @@ public abstract class ClippableTextObject extends TextObject {
     /**
      * @param clipState the clipState to set
      */
-    public void setClipState(Integer clipState) {
-        setClipStateAsEnum(ClipStateType.intToEnum(clipState));
+    public UpdateStatus setClipState(Integer clipState) {
+        return setClipStateAsEnum(ClipStateType.intToEnum(clipState));
     }
 
     /**
      * @param clipState the clipState to set
      */
-    public void setClipStateAsEnum(ClipStateType clipState) {
-        clipProperty.setClipState(clipState);
+    public UpdateStatus setClipStateAsEnum(ClipStateType clipState) {
+        return clipProperty.setClipState(clipState);
     }
 
     /**
@@ -160,8 +163,8 @@ public abstract class ClippableTextObject extends TextObject {
     /**
      * @param clipBoxSet the clipBoxSet to set
      */
-    public void setClipBoxSet(Boolean clipBoxSet) {
-        clipProperty.setClipBoxSet(clipBoxSet);
+    public UpdateStatus setClipBoxSet(Boolean clipBoxSet) {
+        return clipProperty.setClipBoxSet(clipBoxSet);
     }
 
 }
index fbbd0eb..1ac76aa 100644 (file)
 
 package org.scilab.modules.graphic_objects.textObject;
 
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_COLOR__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_FRACTIONAL__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_SIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_STYLE__;
+
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 /**
  * Font class
@@ -121,8 +126,9 @@ public class Font {
     /**
      * @param color the color to set
      */
-    public void setColor(Integer color) {
+    public UpdateStatus setColor(Integer color) {
         this.color = color;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -135,8 +141,9 @@ public class Font {
     /**
      * @param fractional the fractional to set
      */
-    public void setFractional(Boolean fractional) {
+    public UpdateStatus setFractional(Boolean fractional) {
         this.fractional = fractional;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -149,8 +156,9 @@ public class Font {
     /**
      * @param size the size to set
      */
-    public void setSize(Double size) {
+    public UpdateStatus setSize(Double size) {
         this.size = size;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -163,8 +171,9 @@ public class Font {
     /**
      * @param style the style to set
      */
-    public void setStyle(Integer style) {
+    public UpdateStatus setStyle(Integer style) {
         this.style = style;
+        return UpdateStatus.Success;
     }
 
 }
index 3756d6e..fbd48e8 100644 (file)
@@ -12,6 +12,8 @@
 
 package org.scilab.modules.graphic_objects.textObject;
 
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
+
 /**
  * FormattedText class
  * @author Manuel JULIACHS
@@ -67,8 +69,9 @@ public class FormattedText {
     /**
      * @param font the font to set
      */
-    public void setFont(Font font) {
+    public UpdateStatus setFont(Font font) {
         this.font = font;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -81,8 +84,9 @@ public class FormattedText {
     /**
      * @param text the text to set
      */
-    public void setText(String text) {
+    public UpdateStatus setText(String text) {
         this.text = text == null ? "" : text;
+        return UpdateStatus.Success;
     }
 
 }
index 5a5e041..65ad8a5 100644 (file)
@@ -14,6 +14,7 @@ package org.scilab.modules.graphic_objects.textObject;
 
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
 
@@ -219,15 +220,16 @@ public class Text extends ClippableTextObject {
     /**
      * @param alignment the alignment to set
      */
-    public void setAlignment(Integer alignment) {
-        setAlignmentAsEnum(Alignment.intToEnum(alignment));
+    public UpdateStatus setAlignment(Integer alignment) {
+        return setAlignmentAsEnum(Alignment.intToEnum(alignment));
     }
 
     /**
      * @param alignment the alignment to set
      */
-    public void setAlignmentAsEnum(Alignment alignment) {
+    public UpdateStatus setAlignmentAsEnum(Alignment alignment) {
         this.alignment = alignment;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -240,8 +242,9 @@ public class Text extends ClippableTextObject {
     /**
      * @param autoDimensioning the autoDimensioning to set
      */
-    public void setAutoDimensioning(Boolean autoDimensioning) {
+    public UpdateStatus setAutoDimensioning(Boolean autoDimensioning) {
         this.autoDimensioning = autoDimensioning;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -254,8 +257,9 @@ public class Text extends ClippableTextObject {
     /**
      * @param box the box to set
      */
-    public void setBox(Boolean box) {
+    public UpdateStatus setBox(Boolean box) {
         this.box = box;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -268,8 +272,9 @@ public class Text extends ClippableTextObject {
     /**
      * @param fontAngle the fontAngle to set
      */
-    public void setFontAngle(Double fontAngle) {
+    public UpdateStatus setFontAngle(Double fontAngle) {
         this.fontAngle = fontAngle;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -287,10 +292,11 @@ public class Text extends ClippableTextObject {
     /**
      * @param position the position to set
      */
-    public void setPosition(Double[] position) {
+    public UpdateStatus setPosition(Double[] position) {
         this.position[0] = position[0];
         this.position[1] = position[1];
         this.position[2] = position[2];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -319,9 +325,9 @@ public class Text extends ClippableTextObject {
      * clockwise order.
      * @param coordinates the corners' coordinates (12-element array)
      */
-    public void setCorners(Double[] coordinates) {
+    public UpdateStatus setCorners(Double[] coordinates) {
         if (coordinates.length != 12) {
-            return;
+            return UpdateStatus.NoChange;
         }
 
         corners[0][0] = coordinates[0];
@@ -339,6 +345,8 @@ public class Text extends ClippableTextObject {
         corners[3][0] = coordinates[9];
         corners[3][1] = coordinates[10];
         corners[3][2] = coordinates[11];
+
+        return UpdateStatus.Success;
     }
 
     /**
@@ -355,9 +363,10 @@ public class Text extends ClippableTextObject {
     /**
      * @param textBox the textBox to set
      */
-    public void setTextBox(Double[] textBox) {
+    public UpdateStatus setTextBox(Double[] textBox) {
         this.textBox[0] = textBox[0];
         this.textBox[1] = textBox[1];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -377,15 +386,16 @@ public class Text extends ClippableTextObject {
     /**
      * @param textBoxMode the textBoxMode to set
      */
-    public void setTextBoxMode(Integer textBoxMode) {
-        setTextBoxModeAsEnum(TextBoxMode.intToEnum(textBoxMode));
+    public UpdateStatus setTextBoxMode(Integer textBoxMode) {
+        return setTextBoxModeAsEnum(TextBoxMode.intToEnum(textBoxMode));
     }
 
     /**
      * @param textBoxMode the textBoxMode to set
      */
-    public void setTextBoxModeAsEnum(TextBoxMode textBoxMode) {
+    public UpdateStatus setTextBoxModeAsEnum(TextBoxMode textBoxMode) {
         this.textBoxMode = textBoxMode;
+        return UpdateStatus.Success;
     }
 
     /**
index 5ccefc5..728872d 100644 (file)
@@ -13,6 +13,7 @@
 package org.scilab.modules.graphic_objects.textObject;
 
 import org.scilab.modules.graphic_objects.contouredObject.ContouredObject;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_COLOR__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_FRACTIONAL__;
@@ -183,7 +184,7 @@ public abstract class TextObject extends ContouredObject {
      *
      * @param dimensions the text array dimensions to set
      */
-    public void setTextArrayDimensions(Integer[] dimensions) {
+    public UpdateStatus setTextArrayDimensions(Integer[] dimensions) {
         int currentSize = this.dimensions[0] * this.dimensions[1];
 
         if (dimensions[0] * dimensions[1] != currentSize) {
@@ -202,6 +203,7 @@ public abstract class TextObject extends ContouredObject {
 
         this.dimensions[0] = dimensions[0];
         this.dimensions[1] = dimensions[1];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -220,10 +222,11 @@ public abstract class TextObject extends ContouredObject {
     /**
      * @param textArray the textArray to set
      */
-    public void setText(FormattedText[] textArray) {
+    public UpdateStatus setText(FormattedText[] textArray) {
         for (int i = 0; i < dimensions[0] * dimensions[1]; i++) {
             text[i] = new FormattedText(textArray[i]);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -242,10 +245,11 @@ public abstract class TextObject extends ContouredObject {
     /**
      * @param textStrings the text strings array to set
      */
-    public void setTextStrings(String[] textStrings) {
+    public UpdateStatus setTextStrings(String[] textStrings) {
         for (int i = 0; i < dimensions[0] * dimensions[1]; i++) {
             text[i].setText(textStrings[i]);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -258,10 +262,11 @@ public abstract class TextObject extends ContouredObject {
     /**
      * @param font the font to set
      */
-    public void setFont(Font font) {
+    public UpdateStatus setFont(Font font) {
         for (int i = 0; i < dimensions[0] * dimensions[1]; i++) {
             text[i].setFont(font);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -274,10 +279,11 @@ public abstract class TextObject extends ContouredObject {
     /**
      * @param style the font style to set
      */
-    public void setFontStyle(Integer style) {
+    public UpdateStatus setFontStyle(Integer style) {
         for (int i = 0; i < dimensions[0] * dimensions[1]; i++) {
             text[i].getFont().setStyle(style);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -290,10 +296,11 @@ public abstract class TextObject extends ContouredObject {
     /**
      * @param color the font color to set
      */
-    public void setFontColor(Integer color) {
+    public UpdateStatus setFontColor(Integer color) {
         for (int i = 0; i < dimensions[0] * dimensions[1]; i++) {
             text[i].getFont().setColor(color);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -306,10 +313,11 @@ public abstract class TextObject extends ContouredObject {
     /**
      * @param size the font size to set
      */
-    public void setFontSize(Double size) {
+    public UpdateStatus setFontSize(Double size) {
         for (int i = 0; i < dimensions[0] * dimensions[1]; i++) {
             text[i].getFont().setSize(size);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -322,10 +330,11 @@ public abstract class TextObject extends ContouredObject {
     /**
      * @param fractional the font fractional to set
      */
-    public void setFontFractional(Boolean fractional) {
+    public UpdateStatus setFontFractional(Boolean fractional) {
         for (int i = 0; i < dimensions[0] * dimensions[1]; i++) {
             text[i].getFont().setFractional(fractional);
         }
+        return UpdateStatus.Success;
     }
 
 }
index 9a1e37a..290e05d 100644 (file)
@@ -18,6 +18,7 @@ import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProp
 
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObject;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 /**
  * @author Vincent COUVERT
@@ -110,8 +111,9 @@ public abstract class Uibar extends GraphicObject {
      * Set the uibar message
      * @param message the message
      */
-    public void setMessage(String[] message) {
+    public UpdateStatus setMessage(String[] message) {
         this.message = message;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -126,8 +128,9 @@ public abstract class Uibar extends GraphicObject {
      * Set the uibar value
      * @param value the value
      */
-    public void setValue(Integer value) {
+    public UpdateStatus setValue(Integer value) {
         this.value = value;
+        return UpdateStatus.Success;
     }
 
     /**
index 7a5fe7b..959e8f0 100644 (file)
@@ -52,10 +52,13 @@ import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProp
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_VALUE_SIZE__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_VERTICALALIGNMENT__;
 
+import java.util.Arrays;
 import java.util.StringTokenizer;
 
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObject;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.GraphicObjectPropertyType;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 /**
  * @author Bruno JOFRET
@@ -378,55 +381,59 @@ public class Uicontrol extends GraphicObject {
      * @return true if the property has been set, false otherwise
      */
     public UpdateStatus setProperty(Object property, Object value) {
-        if (property == UicontrolProperty.STYLE) {
-            setStyle((Integer) value);
-        } else if (property == UicontrolProperty.BACKGROUNDCOLOR) {
-            setBackgroundColor((Double[]) value);
-        } else if (property == UicontrolProperty.ENABLE) {
-            setEnable((Boolean) value);
-        } else if (property == UicontrolProperty.FONTANGLE) {
-            setFontAngle((String) value);
-        } else if (property == UicontrolProperty.FONTNAME) {
-            setFontName((String) value);
-        } else if (property == UicontrolProperty.FONTSIZE) {
-            setFontSize((Double) value);
-        } else if (property == UicontrolProperty.FONTUNITS) {
-            setFontUnits((String) value);
-        } else if (property == UicontrolProperty.FONTWEIGHT) {
-            setFontWeight((String) value);
-        } else if (property == UicontrolProperty.FOREGROUNDCOLOR) {
-            setForegroundColor((Double[]) value);
-        } else if (property == UicontrolProperty.HORIZONTALALIGNMENT) {
-            setHorizontalAlignment((String) value);
-        } else if (property == UicontrolProperty.LISTBOXTOP) {
-            setListboxTop((Integer[]) value);
-        } else if (property == UicontrolProperty.MAX) {
-            setMax((Double) value);
-        } else if (property == UicontrolProperty.MIN) {
-            setMin((Double) value);
-        } else if (property == UicontrolProperty.POSITION) {
-            setUiPosition((Double[]) value);
-        } else if (property == UicontrolProperty.RELIEF) {
-            setRelief((String) value);
-        } else if (property == UicontrolProperty.SLIDERSTEP) {
-            setSliderStep((Double[]) value);
-        } else if (property == UicontrolProperty.STRING) {
-            setString((String[]) value);
-        } else if (property == UicontrolProperty.STRING_COLNB) {
-            setStringColNb((Integer) value);
-        } else if (property == UicontrolProperty.TOOLTIPSTRING) {
-            setTooltipString((String[]) value);
-        } else if (property == UicontrolProperty.UNITS) {
-            setUnits((String) value);
-        } else if (property == UicontrolProperty.VALUE) {
-            setUiValue((Double[]) value);
-        } else if (property == UicontrolProperty.VERTICALALIGNMENT) {
-            setVerticalAlignment((String) value);
-        } else {
+        if (!(property instanceof UicontrolProperty)) {
             return super.setProperty(property, value);
         }
 
-        return UpdateStatus.Success;
+        UicontrolProperty p = (UicontrolProperty) property;
+        switch (p) {
+            case STYLE:
+                return setStyle((Integer) value);
+            case BACKGROUNDCOLOR:
+                return setBackgroundColor((Double[]) value);
+            case ENABLE:
+                return setEnable((Boolean) value);
+            case FONTANGLE:
+                return setFontAngle((String) value);
+            case FONTNAME:
+                return setFontName((String) value);
+            case FONTSIZE:
+                return setFontSize((Double) value);
+            case FONTUNITS:
+                return setFontUnits((String) value);
+            case FONTWEIGHT:
+                return setFontWeight((String) value);
+            case FOREGROUNDCOLOR:
+                return setForegroundColor((Double[]) value);
+            case HORIZONTALALIGNMENT:
+                return setHorizontalAlignment((String) value);
+            case LISTBOXTOP:
+                return setListboxTop((Integer[]) value);
+            case MAX:
+                return setMax((Double) value);
+            case MIN:
+                return setMin((Double) value);
+            case POSITION:
+                return setUiPosition((Double[]) value);
+            case RELIEF:
+                return setRelief((String) value);
+            case SLIDERSTEP:
+                return setSliderStep((Double[]) value);
+            case STRING:
+                return setString((String[]) value);
+            case STRING_COLNB:
+                return setStringColNb((Integer) value);
+            case TOOLTIPSTRING:
+                return setTooltipString((String[]) value);
+            case UNITS:
+                return setUnits((String) value);
+            case VALUE:
+                return setUiValue((Double[]) value);
+            case VERTICALALIGNMENT:
+                return setVerticalAlignment((String) value);
+            default:
+                return super.setProperty(property, value);
+        }
     }
 
     /**
@@ -440,9 +447,16 @@ public class Uicontrol extends GraphicObject {
     /**
      * Set the style
      * @param style the style
+     * @return TODO
      */
-    public void setStyle(int style) {
-        this.style = intToStyleEnum(style);
+    public UpdateStatus setStyle(int style) {
+        UicontrolStyle val =  intToStyleEnum(style);
+        if (val == this.style) {
+            return UpdateStatus.NoChange;
+        }
+
+        this.style = val;
+        return UpdateStatus.Success;
     }
 
     /* Background Color */
@@ -450,8 +464,13 @@ public class Uicontrol extends GraphicObject {
         return this.backgroundColor;
     }
 
-    public void setBackgroundColor(Double[] colors) {
+    public UpdateStatus setBackgroundColor(Double[] colors) {
+        if (Arrays.equals(colors, this.backgroundColor)) {
+            return UpdateStatus.NoChange;
+        }
+
         this.backgroundColor = colors;
+        return UpdateStatus.Success;
     }
 
     /* Enable */
@@ -459,8 +478,12 @@ public class Uicontrol extends GraphicObject {
         return this.enable;
     }
 
-    public void setEnable(boolean status) {
+    public UpdateStatus setEnable(boolean status) {
+        if (this.enable == status) {
+            return UpdateStatus.NoChange;
+        }
         this.enable = status;
+        return UpdateStatus.Success;
     }
 
     /* FontAngle */
@@ -468,8 +491,12 @@ public class Uicontrol extends GraphicObject {
         return this.fontAngle;
     }
 
-    public void setFontAngle(String fontAngle) {
+    public UpdateStatus setFontAngle(String fontAngle) {
+        if (this.fontAngle.equals(fontAngle)) {
+            return UpdateStatus.NoChange;
+        }
         this.fontAngle = fontAngle;
+        return UpdateStatus.Success;
     }
 
     /* FontName */
@@ -477,8 +504,12 @@ public class Uicontrol extends GraphicObject {
         return this.fontName;
     }
 
-    public void setFontName(String fontName) {
+    public UpdateStatus setFontName(String fontName) {
+        if (this.fontName.equals(fontName)) {
+            return UpdateStatus.NoChange;
+        }
         this.fontName = fontName;
+        return UpdateStatus.Success;
     }
 
     /* FontSize */
@@ -486,8 +517,12 @@ public class Uicontrol extends GraphicObject {
         return this.fontSize;
     }
 
-    public void setFontSize(double fontSize) {
+    public UpdateStatus setFontSize(double fontSize) {
+        if (this.fontSize == fontSize) {
+            return UpdateStatus.NoChange;
+        }
         this.fontSize = fontSize;
+        return UpdateStatus.Success;
     }
 
     /* FontUnits */
@@ -495,8 +530,12 @@ public class Uicontrol extends GraphicObject {
         return this.fontUnits;
     }
 
-    public void setFontUnits(String fontUnits) {
+    public UpdateStatus setFontUnits(String fontUnits) {
+        if (this.fontUnits.equals(fontUnits)) {
+            return UpdateStatus.NoChange;
+        }
         this.fontUnits = fontUnits;
+        return UpdateStatus.Success;
     }
 
     /* FontWeight */
@@ -504,8 +543,12 @@ public class Uicontrol extends GraphicObject {
         return this.fontWeight;
     }
 
-    public void setFontWeight(String fontWeight) {
+    public UpdateStatus setFontWeight(String fontWeight) {
+        if (this.fontWeight.equals(fontWeight)) {
+            return UpdateStatus.NoChange;
+        }
         this.fontWeight = fontWeight;
+        return UpdateStatus.Success;
     }
 
     /* Foreground Color */
@@ -513,8 +556,12 @@ public class Uicontrol extends GraphicObject {
         return this.foregroundColor;
     }
 
-    public void setForegroundColor(Double[] colors) {
+    public UpdateStatus setForegroundColor(Double[] colors) {
+        if (Arrays.equals(this.foregroundColor, colors)) {
+            return UpdateStatus.NoChange;
+        }
         this.foregroundColor = colors;
+        return UpdateStatus.Success;
     }
 
     /* Horizontal Alignment */
@@ -522,8 +569,12 @@ public class Uicontrol extends GraphicObject {
         return this.horizontalAlignment;
     }
 
-    public void setHorizontalAlignment(String alignment) {
+    public UpdateStatus setHorizontalAlignment(String alignment) {
+        if (this.horizontalAlignment.equals(alignment)) {
+            return UpdateStatus.NoChange;
+        }
         this.horizontalAlignment = alignment;
+        return UpdateStatus.Success;
     }
 
     /* Listbox Top */
@@ -535,8 +586,12 @@ public class Uicontrol extends GraphicObject {
         return this.listboxTop;
     }
 
-    public void setListboxTop(Integer[] listboxTop) {
+    public UpdateStatus setListboxTop(Integer[] listboxTop) {
+        if (Arrays.equals(this.listboxTop, listboxTop)) {
+            return UpdateStatus.NoChange;
+        }
         this.listboxTop = listboxTop;
+        return UpdateStatus.Success;
     }
 
     /* Max */
@@ -544,8 +599,12 @@ public class Uicontrol extends GraphicObject {
         return this.max;
     }
 
-    public void setMax(double max) {
+    public UpdateStatus setMax(double max) {
+        if (this.max == max) {
+            return UpdateStatus.NoChange;
+        }
         this.max = max;
+        return UpdateStatus.Success;
     }
 
     /* Min */
@@ -553,8 +612,12 @@ public class Uicontrol extends GraphicObject {
         return this.min;
     }
 
-    public void setMin(double min) {
+    public UpdateStatus setMin(double min) {
+        if (this.min == min) {
+            return UpdateStatus.NoChange;
+        }
         this.min = min;
+        return UpdateStatus.Success;
     }
 
     /* Position */
@@ -562,8 +625,12 @@ public class Uicontrol extends GraphicObject {
         return this.position;
     }
 
-    public void setUiPosition(Double[] position) {
+    public UpdateStatus setUiPosition(Double[] position) {
+        if (Arrays.equals(this.position, position)) {
+            return UpdateStatus.NoChange;
+        }
         this.position = position;
+        return UpdateStatus.Success;
     }
 
     /* Relief */
@@ -571,8 +638,12 @@ public class Uicontrol extends GraphicObject {
         return this.relief;
     }
 
-    public void setRelief(String relief) {
+    public UpdateStatus setRelief(String relief) {
+        if (this.relief.equals(relief)) {
+            return UpdateStatus.NoChange;
+        }
         this.relief = relief;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -587,7 +658,7 @@ public class Uicontrol extends GraphicObject {
      * Set the string
      * @param string the string
      */
-    public void setString(String[] string) {
+    public UpdateStatus setString(String[] string) {
         if (this.style == UicontrolStyle.LISTBOX || this.style == UicontrolStyle.POPUPMENU) {
             /* String can be set using a|b|c|d */
             if (string.length == 1 & string[0].contains(STRING_SEPARATOR)) {
@@ -597,10 +668,11 @@ public class Uicontrol extends GraphicObject {
                     stringTab[stringTab.length - strTok.countTokens()] = strTok.nextToken();
                 }
                 this.string = stringTab;
-                return;
+                return UpdateStatus.Success;
             }
         }
         this.string = string;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -615,8 +687,12 @@ public class Uicontrol extends GraphicObject {
      * Set the string column number
      * @param stringColNb the number of columns
      */
-    public void setStringColNb(Integer stringColNb) {
+    public UpdateStatus setStringColNb(Integer stringColNb) {
+        if (this.stringColNb == stringColNb) {
+            return UpdateStatus.NoChange;
+        }
         this.stringColNb = stringColNb;
+        return UpdateStatus.Success;
     }
 
 
@@ -632,8 +708,12 @@ public class Uicontrol extends GraphicObject {
      * Set the tooltip string
      * @param tooltipString the tooltip string
      */
-    public void setTooltipString(String[] tooltipString) {
+    public UpdateStatus setTooltipString(String[] tooltipString) {
+        if (Arrays.equals(this.tooltipString, tooltipString)) {
+            return UpdateStatus.NoChange;
+        }
         this.tooltipString = tooltipString;
+        return UpdateStatus.Success;
     }
 
     /* Slider Step */
@@ -641,8 +721,12 @@ public class Uicontrol extends GraphicObject {
         return this.sliderStep;
     }
 
-    public void setSliderStep(Double[] sliderStep) {
+    public UpdateStatus setSliderStep(Double[] sliderStep) {
+        if (Arrays.equals(this.sliderStep, sliderStep)) {
+            return UpdateStatus.NoChange;
+        }
         this.sliderStep = sliderStep;
+        return UpdateStatus.Success;
     }
 
     /* Units */
@@ -650,8 +734,12 @@ public class Uicontrol extends GraphicObject {
         return this.units;
     }
 
-    public void setUnits(String units) {
+    public UpdateStatus setUnits(String units) {
+        if (this.units.equals(units)) {
+            return UpdateStatus.NoChange;
+        }
         this.units = units;
+        return UpdateStatus.Success;
     }
 
     /* Value */
@@ -663,8 +751,12 @@ public class Uicontrol extends GraphicObject {
         return this.value;
     }
 
-    public void setUiValue(Double[] value) {
+    public UpdateStatus setUiValue(Double[] value) {
+        if (Arrays.equals(this.value, value)) {
+            return UpdateStatus.NoChange;
+        }
         this.value = value;
+        return UpdateStatus.Success;
     }
 
     /* Vertical Alignment */
@@ -672,8 +764,12 @@ public class Uicontrol extends GraphicObject {
         return this.verticalAlignment;
     }
 
-    public void setVerticalAlignment(String alignment) {
+    public UpdateStatus setVerticalAlignment(String alignment) {
+        if (this.verticalAlignment.equals(alignment)) {
+            return UpdateStatus.NoChange;
+        }
         this.verticalAlignment = alignment;
+        return UpdateStatus.Success;
     }
 
     public void accept(Visitor visitor) {
index d24cde1..eb601ee 100644 (file)
@@ -24,6 +24,7 @@ import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProp
 
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObject;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 /**
  * @author Vincent COUVERT
@@ -170,8 +171,9 @@ public class Uimenu extends GraphicObject {
      * Set the menu checked status
      * @param checked the status
      */
-    public void setChecked(Boolean checked) {
+    public UpdateStatus setChecked(Boolean checked) {
         this.checked = checked;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -186,8 +188,9 @@ public class Uimenu extends GraphicObject {
      * Set the menu enable status
      * @param enable the status
      */
-    public void setEnable(Boolean enable) {
+    public UpdateStatus setEnable(Boolean enable) {
         this.enable = enable;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -202,8 +205,9 @@ public class Uimenu extends GraphicObject {
      * Set the menu Foreground Color
      * @param colors the RGB color
      */
-    public void setForegroundColor(Double[] colors) {
+    public UpdateStatus setForegroundColor(Double[] colors) {
         this.foregroundColor = colors;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -218,8 +222,9 @@ public class Uimenu extends GraphicObject {
      * Set the menu icon
      * @param icon the icon
      */
-    public void setIcon(String icon) {
+    public UpdateStatus setIcon(String icon) {
         this.icon = icon;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -234,8 +239,9 @@ public class Uimenu extends GraphicObject {
      * Set the menu label
      * @param label the label
      */
-    public void setLabel(String label) {
+    public UpdateStatus setLabel(String label) {
         this.label = label;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -250,8 +256,9 @@ public class Uimenu extends GraphicObject {
      * Set the menu mnemonic
      * @param mnemonic the mnemonic
      */
-    public void setMnemonic(String mnemonic) {
+    public UpdateStatus setMnemonic(String mnemonic) {
         this.mnemonic = mnemonic;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -266,8 +273,9 @@ public class Uimenu extends GraphicObject {
      * Set the menu accelerator
      * @param accelerator the accelerator
      */
-    public void setAccelerator(String accelerator) {
+    public UpdateStatus setAccelerator(String accelerator) {
         this.accelerator = accelerator;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -282,8 +290,9 @@ public class Uimenu extends GraphicObject {
      * Set the menu separator mode
      * @param separator the separator mode
      */
-    public void setSeparator(Boolean separator) {
+    public UpdateStatus setSeparator(Boolean separator) {
         this.separator = separator;
+        return UpdateStatus.Success;
     }
 
     @Override
index 1e97368..eb72548 100644 (file)
 
 package org.scilab.modules.graphic_objects.vectfield;
 
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ARROW_SIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BASE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DIRECTION__;
+
 import org.scilab.modules.graphic_objects.contouredObject.ContouredObject;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
-
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 
 /**
@@ -124,8 +127,9 @@ public class Arrow extends ContouredObject {
     /**
      * @param arrowSize the arrowSize to set
      */
-    public void setArrowSize(Double arrowSize) {
+    public UpdateStatus setArrowSize(Double arrowSize) {
         this.arrowSize = arrowSize;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -144,10 +148,11 @@ public class Arrow extends ContouredObject {
     /**
      * @param base the base to set
      */
-    public void setBase(Double[] base) {
+    public UpdateStatus setBase(Double[] base) {
         this.base[0] = base[0];
         this.base[1] = base[1];
         this.base[2] = base[2];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -166,10 +171,11 @@ public class Arrow extends ContouredObject {
     /**
      * @param direction the direction to set
      */
-    public void setDirection(Double[] direction) {
+    public UpdateStatus setDirection(Double[] direction) {
         this.direction[0] = direction[0];
         this.direction[1] = direction[1];
         this.direction[2] = direction[2];
+        return UpdateStatus.Success;
     }
 
     public Integer getType() {
index 000397a..237ff68 100644 (file)
@@ -15,6 +15,7 @@ package org.scilab.modules.graphic_objects.vectfield;
 import org.scilab.modules.graphic_objects.ObjectRemovedException;
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 import org.scilab.modules.graphic_objects.utils.Utils;
 
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
@@ -136,9 +137,10 @@ public class Champ extends VectField {
     /**
      * @param dimensions the field dimensions to set
      */
-    public void setDimensions(Integer[] dimensions) {
+    public UpdateStatus setDimensions(Integer[] dimensions) {
         this.dimensions[0] = dimensions[0];
         this.dimensions[1] = dimensions[1];
+        return UpdateStatus.Success;
     }
 
     /**
@@ -163,7 +165,7 @@ public class Champ extends VectField {
      * The arrows part of column i have the same base x-coordinate
      * @param baseX the array of x coordinates (Ni elements)
      */
-    public void setBaseX(Double[] baseX) {
+    public UpdateStatus setBaseX(Double[] baseX) {
         for (int j = 0; j < dimensions[1]; j++) {
             for (int i = 0; i < dimensions[0]; i++) {
                 Double[] base = getArrow(i, j).getBase();
@@ -172,6 +174,7 @@ public class Champ extends VectField {
                 getArrow(i, j).setBase(base);
             }
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -196,7 +199,7 @@ public class Champ extends VectField {
      * The arrows part of row j have the same base y-coordinate
      * @param baseY the array of y coordinates (Nj elements)
      */
-    public void setBaseY(Double[] baseY) {
+    public UpdateStatus setBaseY(Double[] baseY) {
         for (int j = 0; j < dimensions[1]; j++) {
             for (int i = 0; i < dimensions[0]; i++) {
                 Double[] base = getArrow(i, j).getBase();
@@ -205,6 +208,7 @@ public class Champ extends VectField {
                 getArrow(i, j).setBase(base);
             }
         }
+        return UpdateStatus.Success;
     }
 
 
@@ -219,8 +223,9 @@ public class Champ extends VectField {
     /**
      * @param colored the colored to set
      */
-    public void setColored(Boolean colored) {
+    public UpdateStatus setColored(Boolean colored) {
         this.colored = colored;
+        return UpdateStatus.Success;
     }
 
     /**
index 78ec6a1..dffa9b4 100644 (file)
 
 package org.scilab.modules.graphic_objects.vectfield;
 
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_BACKGROUND__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_FOREGROUND__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_MODE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_SIZE_UNIT__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_SIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_STYLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SEGS_COLORS__;
+
 import org.scilab.modules.graphic_objects.ObjectRemovedException;
 import org.scilab.modules.graphic_objects.contouredObject.Mark;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
-
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
 import org.scilab.modules.graphic_objects.graphicObject.Visitor;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 /**
  * Segs class
@@ -126,7 +133,7 @@ public class Segs extends VectField {
      * To be modified
      * @param number the number of arrows to set
      */
-    public void setNumberArrows(Integer number) {
+    public UpdateStatus setNumberArrows(Integer number) {
         int currentNumber;
 
         currentNumber = arrows.size();
@@ -138,6 +145,8 @@ public class Segs extends VectField {
                 arrows.get(i).setLineColor(0);
             }
         }
+
+        return UpdateStatus.Success;
     }
 
     /**
@@ -158,7 +167,7 @@ public class Segs extends VectField {
      * If the input color array contains only one element, each arrow's color is set to the latter.
      * @param colors the segs colors to set (number of elements either 1 or equal to the number of arrows)
      */
-    public void setColors(Integer[] colors) {
+    public UpdateStatus setColors(Integer[] colors) {
         if (colors.length == 1) {
             for (int i = 0; i < arrows.size(); i++) {
                 arrows.get(i).setLineColor(colors[0]);
@@ -168,6 +177,7 @@ public class Segs extends VectField {
                 arrows.get(i).setLineColor(colors[i]);
             }
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -184,10 +194,11 @@ public class Segs extends VectField {
      * To be done: change the argument to an array of Boolean
      * @param mode the mark mode to set
      */
-    public void setMarkMode(Boolean mode) {
+    public UpdateStatus setMarkMode(Boolean mode) {
         for (int i = 0; i < arrows.size(); i++) {
             arrows.get(i).setMarkMode(mode);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -204,10 +215,11 @@ public class Segs extends VectField {
      * To be done: change the argument to an array of Integer
      * @param style the mark style to set
      */
-    public void setMarkStyle(Integer style) {
+    public UpdateStatus setMarkStyle(Integer style) {
         for (int i = 0; i < arrows.size(); i++) {
             arrows.get(i).setMarkStyle(style);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -224,10 +236,11 @@ public class Segs extends VectField {
      * To be done: change the argument to an array of Integer
      * @param style the mark size unit to set
      */
-    public void setMarkSizeUnit(Integer sizeUnit) {
+    public UpdateStatus setMarkSizeUnit(Integer sizeUnit) {
         for (int i = 0; i < arrows.size(); i++) {
             arrows.get(i).setMarkSizeUnit(sizeUnit);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -244,10 +257,11 @@ public class Segs extends VectField {
      * To be done: change the argument to an array of Integer
      * @param style the mark size to set
      */
-    public void setMarkSize(Integer size) {
+    public UpdateStatus setMarkSize(Integer size) {
         for (int i = 0; i < arrows.size(); i++) {
             arrows.get(i).setMarkSize(size);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -264,10 +278,11 @@ public class Segs extends VectField {
      * To be done: change the argument to an array of Integer
      * @param style the mark foreground to set
      */
-    public void setMarkForeground(Integer foreground) {
+    public UpdateStatus setMarkForeground(Integer foreground) {
         for (int i = 0; i < arrows.size(); i++) {
             arrows.get(i).setMarkForeground(foreground);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -284,10 +299,11 @@ public class Segs extends VectField {
      * To be done: change the argument to an array of Integer
      * @param style the mark background to set
      */
-    public void setMarkBackground(Integer background) {
+    public UpdateStatus setMarkBackground(Integer background) {
         for (int i = 0; i < arrows.size(); i++) {
             arrows.get(i).setMarkBackground(background);
         }
+        return UpdateStatus.Success;
     }
 
     /**
index 941fc30..a6044f8 100644 (file)
 
 package org.scilab.modules.graphic_objects.vectfield;
 
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ARROWS__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ARROW_SIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BASE_X__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BASE_Y__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BASE_Z__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BASE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DIRECTION_X__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DIRECTION_Y__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DIRECTION_Z__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DIRECTION__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_MODE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_STYLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_THICKNESS__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_NUMBER_ARROWS__;
+
 import java.util.ArrayList;
 
-import org.scilab.modules.graphic_objects.graphicObject.GraphicClippableObject;
 import org.scilab.modules.graphic_objects.contouredObject.Line;
 import org.scilab.modules.graphic_objects.contouredObject.Line.LineType;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicClippableObject;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
 
 /**
  * VectField class
@@ -167,8 +182,9 @@ public abstract class VectField extends GraphicClippableObject {
     /**
      * @param arrows the arrows to set
      */
-    public void setArrows(ArrayList<Arrow> arrows) {
+    public UpdateStatus setArrows(ArrayList<Arrow> arrows) {
         this.arrows = arrows;
+        return UpdateStatus.Success;
     }
 
     /**
@@ -190,8 +206,9 @@ public abstract class VectField extends GraphicClippableObject {
      * To be modified when Contour values can be specified independently
      * for each Arrow.
      * @param number the number of arrows to set
+     * @return
      */
-    public void setNumberArrows(Integer number) {
+    public UpdateStatus setNumberArrows(Integer number) {
         if (!arrows.isEmpty() && number != arrows.size()) {
             ArrayList <Arrow> newArrows = new ArrayList<Arrow>(0);
 
@@ -210,6 +227,7 @@ public abstract class VectField extends GraphicClippableObject {
             }
         }
 
+        return UpdateStatus.Success;
     }
 
     /**
@@ -233,7 +251,7 @@ public abstract class VectField extends GraphicClippableObject {
     /**
      * @param bases the arrow bases to set
      */
-    public void setBase(Double[] bases) {
+    public UpdateStatus setBase(Double[] bases) {
         Double[] arrowBase = new Double[3];
 
         final int len = Math.min(bases.length / 3, arrows.size());
@@ -243,6 +261,7 @@ public abstract class VectField extends GraphicClippableObject {
             arrowBase[2] = bases[3 * i + 2];
             arrows.get(i).setBase(arrowBase);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -264,13 +283,14 @@ public abstract class VectField extends GraphicClippableObject {
     /**
      * @param baseX the arrow base x coordinates to set
      */
-    public void setBaseX(Double[] baseX) {
+    public UpdateStatus setBaseX(Double[] baseX) {
         final int len = Math.min(baseX.length, arrows.size());
         for (int i = 0; i < len; i++) {
             Double[] base = arrows.get(i).getBase();
             base[0] = baseX[i];
             arrows.get(i).setBase(base);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -292,13 +312,14 @@ public abstract class VectField extends GraphicClippableObject {
     /**
      * @param baseY the arrow base y coordinates to set
      */
-    public void setBaseY(Double[] baseY) {
+    public UpdateStatus setBaseY(Double[] baseY) {
         final int len = Math.min(baseY.length, arrows.size());
         for (int i = 0; i < len; i++) {
             Double[] base = arrows.get(i).getBase();
             base[1] = baseY[i];
             arrows.get(i).setBase(base);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -320,13 +341,14 @@ public abstract class VectField extends GraphicClippableObject {
     /**
      * @param baseZ the arrow base z coordinates to set
      */
-    public void setBaseZ(Double[] baseZ) {
+    public UpdateStatus setBaseZ(Double[] baseZ) {
         final int len = Math.min(baseZ.length, arrows.size());
         for (int i = 0; i < len; i++) {
             Double[] base = arrows.get(i).getBase();
             base[2] = baseZ[i];
             arrows.get(i).setBase(base);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -350,7 +372,7 @@ public abstract class VectField extends GraphicClippableObject {
     /**
      * @param directions the arrow directions to set
      */
-    public void setDirection(Double[] directions) {
+    public UpdateStatus setDirection(Double[] directions) {
         Double[] arrowDirection = new Double[3];
 
         final int len = Math.min(directions.length / 3, arrows.size());
@@ -360,6 +382,7 @@ public abstract class VectField extends GraphicClippableObject {
             arrowDirection[2] = directions[3 * i + 2];
             arrows.get(i).setDirection(arrowDirection);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -381,13 +404,14 @@ public abstract class VectField extends GraphicClippableObject {
     /**
      * @param directionX the arrow direction x coordinates to set
      */
-    public void setDirectionX(Double[] directionX) {
+    public UpdateStatus setDirectionX(Double[] directionX) {
         final int len = Math.min(directionX.length, arrows.size());
         for (int i = 0; i < len; i++) {
             Double[] direction = arrows.get(i).getDirection();
             direction[0] = directionX[i];
             arrows.get(i).setDirection(direction);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -409,13 +433,14 @@ public abstract class VectField extends GraphicClippableObject {
     /**
      * @param directionY the arrow direction y coordinates to set
      */
-    public void setDirectionY(Double[] directionY) {
+    public UpdateStatus setDirectionY(Double[] directionY) {
         final int len = Math.min(directionY.length, arrows.size());
         for (int i = 0; i < len; i++) {
             Double[] direction = arrows.get(i).getDirection();
             direction[1] = directionY[i];
             arrows.get(i).setDirection(direction);
         }
+        return UpdateStatus.Success;
     }
 
 
@@ -439,13 +464,14 @@ public abstract class VectField extends GraphicClippableObject {
     /**
      * @param directionZ the arrow direction z coordinates to set
      */
-    public void setDirectionZ(Double[] directionZ) {
+    public UpdateStatus setDirectionZ(Double[] directionZ) {
         final int len = Math.min(directionZ.length, arrows.size());
         for (int i = 0; i < len; i++) {
             Double[] direction = arrows.get(i).getDirection();
             direction[2] = directionZ[i];
             arrows.get(i).setDirection(direction);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -466,10 +492,11 @@ public abstract class VectField extends GraphicClippableObject {
      * To be done: change the argument to an array of Double
      * @param size the arrow size to set
      */
-    public void setArrowSize(Double size) {
+    public UpdateStatus setArrowSize(Double size) {
         for (int i = 0; i < arrows.size(); i++) {
             arrows.get(i).setArrowSize(size);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -489,10 +516,11 @@ public abstract class VectField extends GraphicClippableObject {
      * To be done: change the argument to an array of Boolean
      * @param lineMode the arrow line mode to set
      */
-    public void setLineMode(Boolean lineMode) {
+    public UpdateStatus setLineMode(Boolean lineMode) {
         for (int i = 0; i < arrows.size(); i++) {
             arrows.get(i).setLineMode(lineMode);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -512,10 +540,11 @@ public abstract class VectField extends GraphicClippableObject {
      * To be done: change the argument to an array of Integer
      * @param lineStyle the arrow line style to set
      */
-    public void setLineStyle(Integer lineStyle) {
+    public UpdateStatus setLineStyle(Integer lineStyle) {
         for (int i = 0; i < arrows.size(); i++) {
             arrows.get(i).setLineStyle(lineStyle);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -547,10 +576,11 @@ public abstract class VectField extends GraphicClippableObject {
      * To be done: change the argument to an array of Double
      * @param lineThickness the arrow line thickness to set
      */
-    public void setLineThickness(Double lineThickness) {
+    public UpdateStatus setLineThickness(Double lineThickness) {
         for (int i = 0; i < arrows.size(); i++) {
             arrows.get(i).setLineThickness(lineThickness);
         }
+        return UpdateStatus.Success;
     }
 
     /**
@@ -570,10 +600,11 @@ public abstract class VectField extends GraphicClippableObject {
      * To be done: change the argument to an array of Integer
      * @param lineColor the arrow line color to set
      */
-    public void setLineColor(Integer lineColor) {
+    public UpdateStatus setLineColor(Integer lineColor) {
         for (int i = 0; i < arrows.size(); i++) {
             arrows.get(i).setLineColor(lineColor);
         }
+        return UpdateStatus.Success;
     }
 
 }
index 1e4bd7b..93453f4 100644 (file)
@@ -27,7 +27,7 @@ import org.scilab.modules.gui.toolbar.ToolBar;
  * @author Bruno JOFRET
  * @author Marouane BEN JELLOUL
  */
-public abstract class ScilabUIElement extends Uicontrol implements UIElement {
+public abstract class ScilabUIElement implements UIElement {
 
     /**
      * The toolBar associated to the UIElement