* Rename style 'ImageRenderer' to 'Image' 44/6844/1
Vincent COUVERT [Mon, 2 Apr 2012 14:33:38 +0000 (16:33 +0200)]
* 'uiimage' used in Java code to avoid conflicts with java.awt.Image

* Clean/remove old bridge system for 'Image' uicontrols.

Change-Id: Ic33df4735f336d8302236ad22de44f7ee7f08678

40 files changed:
scilab/modules/graphic_objects/includes/graphicObjectProperties.h
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicModel/GraphicModel.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/graphicObject/GraphicObjectProperties.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/uicontrol/uiimage/UiImage.java [moved from scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/imagerenderer/ImageRenderer.java with 76% similarity]
scilab/modules/graphic_objects/src/scripts/propertiesMap.properties
scilab/modules/graphics/includes/ObjectStructure.h
scilab/modules/gui/Makefile.am
scilab/modules/gui/Makefile.in
scilab/modules/gui/demos/uicontrol_image.dem.sce
scilab/modules/gui/help/en_US/uicontrol.xml
scilab/modules/gui/includes/ImageRenderer.h [deleted file]
scilab/modules/gui/sci_gateway/c/sci_uicontrol.c
scilab/modules/gui/src/c/CreateUIControl.c
scilab/modules/gui/src/c/UicontrolStyleToString.c
scilab/modules/gui/src/c/gui.vcxproj
scilab/modules/gui/src/c/gui.vcxproj.filters
scilab/modules/gui/src/cpp/ImageRenderer.cpp [deleted file]
scilab/modules/gui/src/cpp/ImageRenderer.hxx [deleted file]
scilab/modules/gui/src/cpp/SetUicontrolParent.cpp
scilab/modules/gui/src/java/org/scilab/modules/gui/SwingView.java
scilab/modules/gui/src/java/org/scilab/modules/gui/SwingViewWidget.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/CallScilabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/ScilabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/uiimage/SwingScilabUiImage.java [moved from scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/imagerenderer/SwingScilabImageRenderer.java with 84% similarity]
scilab/modules/gui/src/java/org/scilab/modules/gui/imagerenderer/ImageRenderer.java [deleted file]
scilab/modules/gui/src/java/org/scilab/modules/gui/imagerenderer/ScilabImageRenderer.java [deleted file]
scilab/modules/gui/src/java/org/scilab/modules/gui/imagerenderer/ScilabImageRendererBridge.java [deleted file]
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/ScilabTabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/SimpleTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/uiimage/SimpleUiImage.java [moved from scilab/modules/gui/src/java/org/scilab/modules/gui/imagerenderer/SimpleImageRenderer.java with 81% similarity]
scilab/modules/gui/src/jni/CallScilabBridge.cpp
scilab/modules/gui/src/jni/CallScilabBridge.giws.xml
scilab/modules/gui/src/jni/CallScilabBridge.hxx
scilab/modules/gui/tests/unit_tests/image.dia.ref [moved from scilab/modules/gui/tests/unit_tests/imagerenderer.dia.ref with 77% similarity]
scilab/modules/gui/tests/unit_tests/image.tst [moved from scilab/modules/gui/tests/unit_tests/imagerenderer.tst with 77% similarity]
scilab/modules/renderer/src/jni/CallRenderer.cpp
scilab/modules/renderer/src/jni/CallRenderer.hxx

index 0e25410..fd55982 100644 (file)
 #define __GO_UI_CHECKBOX__                 "checkbox"
 #define __GO_UI_EDIT__                     "edit"
 #define __GO_UI_FRAME__                    "frame"
-#define __GO_UI_IMAGERENDERER__            "imagerenderer"
+#define __GO_UI_IMAGE__                    "image"
 #define __GO_UI_LISTBOX__                  "listbox"
 #define __GO_UI_POPUPMENU__                "popupmenu"
 #define __GO_UI_PUSHBUTTON__               "pushbutton"
index 5594408..681b731 100644 (file)
@@ -40,13 +40,13 @@ import org.scilab.modules.graphic_objects.uicontextmenu.Uicontextmenu;
 import org.scilab.modules.graphic_objects.uicontrol.checkbox.CheckBox;
 import org.scilab.modules.graphic_objects.uicontrol.edit.Edit;
 import org.scilab.modules.graphic_objects.uicontrol.frame.Frame;
-import org.scilab.modules.graphic_objects.uicontrol.imagerenderer.ImageRenderer;
 import org.scilab.modules.graphic_objects.uicontrol.listbox.ListBox;
 import org.scilab.modules.graphic_objects.uicontrol.popupmenu.PopupMenu;
 import org.scilab.modules.graphic_objects.uicontrol.pushbutton.PushButton;
 import org.scilab.modules.graphic_objects.uicontrol.radiobutton.RadioButton;
 import org.scilab.modules.graphic_objects.uicontrol.slider.Slider;
 import org.scilab.modules.graphic_objects.uicontrol.table.Table;
+import org.scilab.modules.graphic_objects.uicontrol.uiimage.UiImage;
 import org.scilab.modules.graphic_objects.uicontrol.uitext.UiText;
 import org.scilab.modules.graphic_objects.uimenu.Uimenu;
 import org.scilab.modules.graphic_objects.vectfield.Champ;
@@ -175,132 +175,132 @@ public final class GraphicModel {
     private GraphicObject createTypedObject(Type type) {
         GraphicObject createdObject = null;
         switch (type) {
-        case ARC:
-            createdObject = new Arc();
-            break;
-        case AXES:
-            createdObject = new Axes();
-            break;
-        case AXESMODEL:
-            createdObject = new Axes();
-            createdObject.setValid(false);
-            break;
-        case AXIS:
-            createdObject = new Axis();
-            break;
-        case CHAMP:
-            createdObject = new Champ();
-            break;
-        case COMPOUND:
-            createdObject = new Compound();
-            break;
-        case FAC3D:
-            createdObject = new Fac3d();
-            break;
-        case FEC:
-            createdObject = new Fec();
-            break;
-        case FIGURE:
-            createdObject = new Figure();
-            break;
-        case FIGUREMODEL:
-            createdObject = new Figure();
-            createdObject.setValid(false);
-            break;
-        case GRAYPLOT:
-            createdObject = new Grayplot();
-            break;
-        case LABEL:
-            createdObject = new Label();
-            break;
-        case LEGEND:
-            createdObject = new Legend();
-            break;
-        case MATPLOT:
-            createdObject = new Matplot();
-            break;
-        case PLOT3D:
-            createdObject = new Plot3d();
-            break;
-        case POLYLINE:
-            createdObject = new Polyline();
-            break;
-        case RECTANGLE:
-            createdObject = new Rectangle();
-            break;
-        case SEGS:
-            createdObject = new Segs();
-            break;
-        case TEXT:
-            createdObject = new Text();
-            break;
-            /* UICONTROLS */
-        case CHECKBOX:
-            createdObject = new CheckBox();
-            break;
-        case EDIT:
-            createdObject = new Edit();
-            break;
-        case FRAME:
-            createdObject = new Frame();
-            break;
-        case IMAGERENDERER:
-            createdObject = new ImageRenderer();
-            break;
-        case LISTBOX:
-            createdObject = new ListBox();
-            break;
-        case POPUPMENU:
-            createdObject = new PopupMenu();
-            break;
-        case PUSHBUTTON:
-            createdObject = new PushButton();
-            break;
-        case RADIOBUTTON:
-            createdObject = new RadioButton();
-            break;
-        case SLIDER:
-            createdObject = new Slider();
-            break;
-        case TABLE:
-            createdObject = new Table();
-            break;
-        case UITEXT:
-            createdObject = new UiText();
-            break;
-            /* UIMENU */
-        case UIMENU:
-            createdObject = new Uimenu();
-            break;
-        case UIMENUMODEL:
-            createdObject = new Uimenu();
-            createdObject.setValid(false);
-            break;
-            /* UICONTEXTMENU */
-        case UICONTEXTMENU:
-            createdObject = new Uicontextmenu();
-            break;
-            /* Create Scilab console object */
-        case CONSOLE:
-            createdObject = Console.getConsole();
-            ((Console) createdObject).setScilabMode(Console.ScilabMode.NW);
-            break;
-        case JAVACONSOLE:
-            createdObject = Console.getConsole();
-            ((Console) createdObject).setScilabMode(Console.ScilabMode.STD);
-            break;
-            /* Uibar */
-        case PROGRESSIONBAR:
-            createdObject = new Progressionbar();
-            break;
-        case WAITBAR:
-            createdObject = new Waitbar();
-            break;
-        case UNKNOWNOBJECT:
-            createdObject = null;
-            break;
-        default:
-            createdObject = null;
+            case ARC:
+                createdObject = new Arc();
+                break;
+            case AXES:
+                createdObject = new Axes();
+                break;
+            case AXESMODEL:
+                createdObject = new Axes();
+                createdObject.setValid(false);
+                break;
+            case AXIS:
+                createdObject = new Axis();
+                break;
+            case CHAMP:
+                createdObject = new Champ();
+                break;
+            case COMPOUND:
+                createdObject = new Compound();
+                break;
+            case FAC3D:
+                createdObject = new Fac3d();
+                break;
+            case FEC:
+                createdObject = new Fec();
+                break;
+            case FIGURE:
+                createdObject = new Figure();
+                break;
+            case FIGUREMODEL:
+                createdObject = new Figure();
+                createdObject.setValid(false);
+                break;
+            case GRAYPLOT:
+                createdObject = new Grayplot();
+                break;
+            case LABEL:
+                createdObject = new Label();
+                break;
+            case LEGEND:
+                createdObject = new Legend();
+                break;
+            case MATPLOT:
+                createdObject = new Matplot();
+                break;
+            case PLOT3D:
+                createdObject = new Plot3d();
+                break;
+            case POLYLINE:
+                createdObject = new Polyline();
+                break;
+            case RECTANGLE:
+                createdObject = new Rectangle();
+                break;
+            case SEGS:
+                createdObject = new Segs();
+                break;
+            case TEXT:
+                createdObject = new Text();
+                break;
+                /* UICONTROLS */
+            case CHECKBOX:
+                createdObject = new CheckBox();
+                break;
+            case EDIT:
+                createdObject = new Edit();
+                break;
+            case FRAME:
+                createdObject = new Frame();
+                break;
+            case IMAGE:
+                createdObject = new UiImage();
+                break;
+            case LISTBOX:
+                createdObject = new ListBox();
+                break;
+            case POPUPMENU:
+                createdObject = new PopupMenu();
+                break;
+            case PUSHBUTTON:
+                createdObject = new PushButton();
+                break;
+            case RADIOBUTTON:
+                createdObject = new RadioButton();
+                break;
+            case SLIDER:
+                createdObject = new Slider();
+                break;
+            case TABLE:
+                createdObject = new Table();
+                break;
+            case UITEXT:
+                createdObject = new UiText();
+                break;
+                /* UIMENU */
+            case UIMENU:
+                createdObject = new Uimenu();
+                break;
+            case UIMENUMODEL:
+                createdObject = new Uimenu();
+                createdObject.setValid(false);
+                break;
+                /* UICONTEXTMENU */
+            case UICONTEXTMENU:
+                createdObject = new Uicontextmenu();
+                break;
+                /* Create Scilab console object */
+            case CONSOLE:
+                createdObject = Console.getConsole();
+                ((Console) createdObject).setScilabMode(Console.ScilabMode.NW);
+                break;
+            case JAVACONSOLE:
+                createdObject = Console.getConsole();
+                ((Console) createdObject).setScilabMode(Console.ScilabMode.STD);
+                break;
+                /* Uibar */
+            case PROGRESSIONBAR:
+                createdObject = new Progressionbar();
+                break;
+            case WAITBAR:
+                createdObject = new Waitbar();
+                break;
+            case UNKNOWNOBJECT:
+                createdObject = null;
+                break;
+            default:
+                createdObject = null;
         }
         return createdObject;
     }
index 25a75e5..9dfab65 100644 (file)
@@ -43,15 +43,15 @@ public abstract class GraphicObject implements Cloneable {
 
     /** Graphic objects types */
     public enum Type { ARC, AXES, AXESMODEL, AXIS, CHAMP, COMPOUND, FAC3D, FEC, FIGURE, FIGUREMODEL, GRAYPLOT,
-        LABEL, LEGEND, MATPLOT, PLOT3D, POLYLINE, RECTANGLE, SEGS, TEXT, CHECKBOX, EDIT, FRAME,
-        IMAGERENDERER, LISTBOX, POPUPMENU, PUSHBUTTON, RADIOBUTTON, CONSOLE, JAVACONSOLE, SLIDER, TABLE, UITEXT, UIMENU, UIMENUMODEL, 
-        PROGRESSIONBAR, WAITBAR, UICONTEXTMENU, UNKNOWNOBJECT
-    };
+                       LABEL, LEGEND, MATPLOT, PLOT3D, POLYLINE, RECTANGLE, SEGS, TEXT, CHECKBOX, EDIT, FRAME,
+                       IMAGE, LISTBOX, POPUPMENU, PUSHBUTTON, RADIOBUTTON, CONSOLE, JAVACONSOLE, SLIDER, TABLE, UITEXT, UIMENU, UIMENUMODEL,
+                       PROGRESSIONBAR, WAITBAR, UICONTEXTMENU, UNKNOWNOBJECT
+                     };
 
     /** GraphicObject properties */
     public enum GraphicObjectPropertyType { PARENT, CHILDREN, CHILDREN_COUNT, HIDDEN, VISIBLE, USERDATA, USERDATASIZE, TYPE, REFERENCED, VALID, DATA,
-        PARENT_FIGURE, PARENT_AXES, HASLEGENDCHILD, LEGENDCHILD, SELECTEDCHILD, TAG, CALLBACK, CALLBACKTYPE, UNKNOWNPROPERTY 
-    };
+                                            PARENT_FIGURE, PARENT_AXES, HASLEGENDCHILD, LEGENDCHILD, SELECTEDCHILD, TAG, CALLBACK, CALLBACKTYPE, UNKNOWNPROPERTY
+                                          };
 
     /** Identifier */
     private String identifier;
@@ -142,7 +142,7 @@ public abstract class GraphicObject implements Cloneable {
     }
 
     abstract public void accept(Visitor visitor) throws ObjectRemovedException;
+
     /**
      * Returns the enum associated to a type name
      * @param typeName the property name
@@ -193,8 +193,8 @@ public abstract class GraphicObject implements Cloneable {
             return Type.EDIT;
         } else if (typeName.equals(__GO_UI_FRAME__)) {
             return Type.FRAME;
-        } else if (typeName.equals(__GO_UI_IMAGERENDERER__)) {
-            return Type.IMAGERENDERER;
+        } else if (typeName.equals(__GO_UI_IMAGE__)) {
+            return Type.IMAGE;
         } else if (typeName.equals(__GO_UI_LISTBOX__)) {
             return Type.LISTBOX;
         } else if (typeName.equals(__GO_UI_POPUPMENU__)) {
@@ -680,7 +680,7 @@ public abstract class GraphicObject implements Cloneable {
 
     /**
      * isReferenced method
-     * @return referenced 
+     * @return referenced
      */
     public Boolean isReferenced() {
         return referenced;
index 10432e2..00888b8 100644 (file)
@@ -302,7 +302,7 @@ public class GraphicObjectProperties {
     public static final String __GO_UI_CHECKBOX__ =            "checkbox";
     public static final String __GO_UI_EDIT__ =                "edit";
     public static final String __GO_UI_FRAME__ =               "frame";
-    public static final String __GO_UI_IMAGERENDERER__ =       "imagerenderer";
+    public static final String __GO_UI_IMAGE__ =               "image";
     public static final String __GO_UI_LISTBOX__ =             "listbox";
     public static final String __GO_UI_POPUPMENU__ =           "popupmenu";
     public static final String __GO_UI_PUSHBUTTON__ =          "pushbutton";
index f603c16..6aa7d13 100644 (file)
@@ -28,7 +28,7 @@ import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProp
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTWEIGHT__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FOREGROUNDCOLOR__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_HORIZONTALALIGNMENT__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_IMAGERENDERER__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_IMAGE__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOX__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOXTOP__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOXTOP_SIZE__;
@@ -137,7 +137,7 @@ public class Uicontrol extends GraphicObject {
         CHECKBOX,
         EDIT,
         FRAME,
-        IMAGERENDERER,
+        IMAGE,
         LISTBOX,
         POPUPMENU,
         PUSHBUTTON,
@@ -171,8 +171,8 @@ public class Uicontrol extends GraphicObject {
             case FRAME:
                 stringStyle = __GO_UI_FRAME__;
                 break;
-            case IMAGERENDERER:
-                stringStyle = __GO_UI_IMAGERENDERER__;
+            case IMAGE:
+                stringStyle = __GO_UI_IMAGE__;
                 break;
             case LISTBOX:
                 stringStyle = __GO_UI_LISTBOX__;
@@ -215,8 +215,8 @@ public class Uicontrol extends GraphicObject {
             enumStyle = UicontrolStyle.EDIT;
         } else if (style.equals(__GO_UI_FRAME__)) {
             enumStyle = UicontrolStyle.FRAME;
-        } else if (style.equals(__GO_UI_IMAGERENDERER__)) {
-            enumStyle = UicontrolStyle.IMAGERENDERER;
+        } else if (style.equals(__GO_UI_IMAGE__)) {
+            enumStyle = UicontrolStyle.IMAGE;
         } else if (style.equals(__GO_UI_LISTBOX__)) {
             enumStyle = UicontrolStyle.LISTBOX;
         } else if (style.equals(__GO_UI_POPUPMENU__)) {
  *
  */
 
-package org.scilab.modules.graphic_objects.uicontrol.imagerenderer;
+package org.scilab.modules.graphic_objects.uicontrol.uiimage;
 
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_IMAGERENDERER__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_IMAGE__;
 
 import org.scilab.modules.graphic_objects.uicontrol.Uicontrol;
 
 /**
  * @author Vincent COUVERT
  */
-public class ImageRenderer extends Uicontrol {
+public class UiImage extends Uicontrol {
 
     /**
      * Constructor
      */
-    public ImageRenderer() {
+    public UiImage() {
         super();
-        setStyle(__GO_UI_IMAGERENDERER__);
+        setStyle(__GO_UI_IMAGE__);
         Double[] imageInfos = {1.0, 1.0, 0.0, 0.0, 0.0}; // {XScale, YScale, XShear, YShear, RotationAngle}
         setUiValue(imageInfos);
     }
index c71d7ee..b3c93d2 100644 (file)
 @DECLARE@ __GO_UI_CHECKBOX__ @EQUAL@            "checkbox" @END@
 @DECLARE@ __GO_UI_EDIT__ @EQUAL@                "edit" @END@
 @DECLARE@ __GO_UI_FRAME__ @EQUAL@               "frame" @END@
-@DECLARE@ __GO_UI_IMAGERENDERER__ @EQUAL@       "imagerenderer" @END@
+@DECLARE@ __GO_UI_IMAGE__ @EQUAL@               "image" @END@
 @DECLARE@ __GO_UI_LISTBOX__ @EQUAL@             "listbox" @END@
 @DECLARE@ __GO_UI_POPUPMENU__ @EQUAL@           "popupmenu" @END@
 @DECLARE@ __GO_UI_PUSHBUTTON__ @EQUAL@          "pushbutton" @END@
index 316e07c..5872a0e 100644 (file)
@@ -52,8 +52,8 @@
 
 typedef struct tagPOINT2D
 {
-  double x;
-  double y;
+    double x;
+    double y;
 }
 POINT2D;
 
@@ -77,7 +77,8 @@ POINT2D;
  * @memo SCI_UICONTEXTMENU,
  */
 typedef enum
-  {/**Entity type FIGURE*/
+{
+    /**Entity type FIGURE*/
     SCI_FIGURE,
     /**Entity type SUBWINDOW*/
     SCI_SUBWIN,
@@ -115,7 +116,7 @@ typedef enum
     SCI_WAITBAR,
     /** Entity type PROGRESSIONBAR */
     SCI_PROGRESSIONBAR
-  }
+}
 /**Struct of Entity type*/
 sciEntityType;
 
@@ -125,16 +126,17 @@ struct _sciRelationShip;
  * Used to determine the feature and the type of the entity
  */
 typedef struct
-{ /** Type of the object (such as SCI_FIGURE, SCI_UICONTROL,...) */
-  sciEntityType entitytype;
-  /**  points to the characteristic of the structure (figure, axes...) */
-  void * pfeatures;
-  /** List of all observers watching this object */
-  DoublyLinkedList * pObservers ;
-  /** Drawing object used to actually draw the graphic handle */
-  void * pDrawer ;
-       /** reference the object in the hierachy */
-       struct _sciRelationShip * relationShip;
+{
+    /** Type of the object (such as SCI_FIGURE, SCI_UICONTROL,...) */
+    sciEntityType entitytype;
+    /**  points to the characteristic of the structure (figure, axes...) */
+    void * pfeatures;
+    /** List of all observers watching this object */
+    DoublyLinkedList * pObservers ;
+    /** Drawing object used to actually draw the graphic handle */
+    void * pDrawer ;
+    /** reference the object in the hierachy */
+    struct _sciRelationShip * relationShip;
     /** UID */
     char * UID;
     /** Scilab Handle */
@@ -149,12 +151,12 @@ sciPointObj;
 */
 typedef struct tagSons
 {
-  /** */
-  struct tagSons *pprev;
-  /**  is the pointer of next the son's structure      */
-  sciPointObj *pointobj;
-  /** */
-  struct tagSons *pnext;
+    /** */
+    struct tagSons *pprev;
+    /**  is the pointer of next the son's structure      */
+    sciPointObj *pointobj;
+    /** */
+    struct tagSons *pnext;
 }
 /** */
 sciSons;
@@ -164,16 +166,16 @@ sciSons;
  */
 typedef struct _sciRelationShip
 {
-  /** is the scilab handle of THIS */
-  long handleIndex;
-  /** points to the parent structures */
-  sciPointObj * pparent;
-  /** points to the sons structures */
-  sciSons * psons;
-  /** the last sciSons of the list (the first created!) */
-  sciSons * plastsons;
-  /** the set of selected sons. List of lists for each type. Not to be used directly.*/
-  DoublyLinkedList * pSelectedSon ;
+    /** is the scilab handle of THIS */
+    long handleIndex;
+    /** points to the parent structures */
+    sciPointObj * pparent;
+    /** points to the sons structures */
+    sciSons * psons;
+    /** the last sciSons of the list (the first created!) */
+    sciSons * plastsons;
+    /** the set of selected sons. List of lists for each type. Not to be used directly.*/
+    DoublyLinkedList * pSelectedSon ;
 }/** */
 sciRelationShip;
 
@@ -183,33 +185,33 @@ sciRelationShip;
  */
 typedef struct
 {
-  /** currently not used in this version */
-  /** pointe sur un ID de la table des couleur Scilab */
-  int backgroundcolor;
-  /** pointe sur un ID de la table des couleur Scilab */
-  int foregroundcolor;
-  /** */
-  int fillcolor;
-  /** Wheter the object is filled or not */
-  BOOL isfilled;
-  /** thickness of lines */
-  double linewidth;
-  /** */
-  BOOL isline;
-  /** */
-  int linestyle;
-  /** */
-  BOOL ismark;
-  /** */
-  int markstyle;
-  /** */
-  int marksize;
-  /** */
-  int marksizeunit;
-  /** */
-  int markbackground;
-  /** */
-  int markforeground;
+    /** currently not used in this version */
+    /** pointe sur un ID de la table des couleur Scilab */
+    int backgroundcolor;
+    /** pointe sur un ID de la table des couleur Scilab */
+    int foregroundcolor;
+    /** */
+    int fillcolor;
+    /** Wheter the object is filled or not */
+    BOOL isfilled;
+    /** thickness of lines */
+    double linewidth;
+    /** */
+    BOOL isline;
+    /** */
+    int linestyle;
+    /** */
+    BOOL ismark;
+    /** */
+    int markstyle;
+    /** */
+    int marksize;
+    /** */
+    int marksizeunit;
+    /** */
+    int markbackground;
+    /** */
+    int markforeground;
 }/** */
 sciGraphicContext;
 
@@ -219,20 +221,20 @@ sciGraphicContext;
  */
 typedef struct
 {
-  /** currently not used in this version */
-  /* il faudrait prendre la font windows */
-  /** pointe sur un ID de la table des couleur Scilab */
-  int backgroundcolor;
-  /** pointe sur un ID de la table des couleur Scilab */
-  int foregroundcolor;
-  /** type of the font */
-  int fonttype; /* scilab font index 0 to 9 */
-  /** specify if the font size must be stucks to Scilab font sizes 0:6 or might be any double */
-  BOOL useFractionalMetrics;
-  /** Gets the width of the character in tenth of point */
-  double fontSize;
-  /** this is coded in radian*/
-  double textorientation;
+    /** currently not used in this version */
+    /* il faudrait prendre la font windows */
+    /** pointe sur un ID de la table des couleur Scilab */
+    int backgroundcolor;
+    /** pointe sur un ID de la table des couleur Scilab */
+    int foregroundcolor;
+    /** type of the font */
+    int fonttype; /* scilab font index 0 to 9 */
+    /** specify if the font size must be stucks to Scilab font sizes 0:6 or might be any double */
+    BOOL useFractionalMetrics;
+    /** Gets the width of the character in tenth of point */
+    double fontSize;
+    /** this is coded in radian*/
+    double textorientation;
 }/** */
 sciFont;
 
@@ -242,8 +244,8 @@ sciFont;
  */
 typedef struct
 {
-  /** Is zooming allowed                                               */
-  BOOL zooming;
+    /** Is zooming allowed                                               */
+    BOOL zooming;
 }/** */
 scigMode;
 
@@ -253,18 +255,19 @@ scigMode;
  * Structure used to specify Range
  */
 typedef struct
-{/** */
-  double xmin;
-  /** */
-  double xmax;
-  /** */
-  double ymin;
-  /** */
-  double ymax;
-  /** */
-  double zmin;
-  /** */
-  double zmax;
+{
+    /** */
+    double xmin;
+    /** */
+    double xmax;
+    /** */
+    double ymin;
+    /** */
+    double ymax;
+    /** */
+    double zmin;
+    /** */
+    double zmax;
 }/** */
 sciRange;
 
@@ -274,17 +277,17 @@ sciRange;
  */
 typedef struct
 {
-  int figureWidth ;
-  int figureHeight ;
-  int windowWidth ;
-  int windowHeight ;
-  int windowPosition[2];
-  int viewport[4]; /* 4 but for now only two are used */
-  double * colorMap ;
-  int numColors ;
-  BOOL autoResizeMode;
-       char * infoMessage; /**< String displayed in the info bar of the graphic window */
-       int antialiasingQuality;
+    int figureWidth ;
+    int figureHeight ;
+    int windowWidth ;
+    int windowHeight ;
+    int windowPosition[2];
+    int viewport[4]; /* 4 but for now only two are used */
+    double * colorMap ;
+    int numColors ;
+    BOOL autoResizeMode;
+    char * infoMessage; /**< String displayed in the info bar of the graphic window */
+    int antialiasingQuality;
 }
 FigureModelData ;
 
@@ -293,41 +296,41 @@ FigureModelData ;
  */
 typedef struct
 {
-  scigMode gmode;
-  sciGraphicContext graphiccontext; /* the only property used here is background */
-  sciPointObj * originalsubwin0011;
-  /** specifies the title for this window  */
-  char * name;
+    scigMode gmode;
+    sciGraphicContext graphiccontext; /* the only property used here is background */
+    sciPointObj * originalsubwin0011;
+    /** specifies the title for this window  */
+    char * name;
 
-  /** specifies the number of this window            */
-  int number;
+    /** specifies the number of this window            */
+    int number;
 
-  int numcolors;
+    int numcolors;
 
-  /** specifies if this window is selected             */
-  BOOL isselected;
-  int rotstyle;
-  /** specifies if this object is visble             */
-  BOOL visible;
-  BOOL auto_redraw;
-  /** specifies the number of the selected son         */
-  int numsubwinselected;
-  /** specifies the current pixmap status         */
-  int pixmapMode ;
+    /** specifies if this window is selected             */
+    BOOL isselected;
+    int rotstyle;
+    /** specifies if this object is visble             */
+    BOOL visible;
+    BOOL auto_redraw;
+    /** specifies the number of the selected son         */
+    int numsubwinselected;
+    /** specifies the current pixmap status         */
+    int pixmapMode ;
 
-  BOOL allredraw;
+    BOOL allredraw;
 
-  sciFont fontcontext; /* F.Leray 08.04.04 */
+    sciFont fontcontext; /* F.Leray 08.04.04 */
 
-  char * eventHandler         ; /**< Name of the EventHandler function */
-  BOOL   isEventHandlerEnable ; /**< flag enabling or disabling eventhandler */
+    char * eventHandler         ; /**< Name of the EventHandler function */
+    BOOL   isEventHandlerEnable ; /**< flag enabling or disabling eventhandler */
 
-  FigureModelData * pModelData ; /**< To be used by figure model */
+    FigureModelData * pModelData ; /**< To be used by figure model */
 
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
 
-  char * tag;
+    char * tag;
 }/** */
 sciFigure;
 
@@ -338,49 +341,49 @@ typedef enum { ALIGN_NONE = 0, ALIGN_LEFT = 1, ALIGN_CENTER = 2, ALIGN_RIGHT = 3
  */
 typedef struct
 {
-  /** */
-  sciFont fontcontext;
-  sciGraphicContext graphiccontext; /* the only properties used by Text are foreground and background */
+    /** */
+    sciFont fontcontext;
+    sciGraphicContext graphiccontext; /* the only properties used by Text are foreground and background */
 
-  /** the displayed text */
-  StringMatrix * pStrings ;
+    /** the displayed text */
+    StringMatrix * pStrings ;
 
-  /** position inside the axes (not pixel) */
-  double x ;
-  /** position inside the axes (not pixel) */
-  double y ;
-  double z ;
+    /** position inside the axes (not pixel) */
+    double x ;
+    /** position inside the axes (not pixel) */
+    double y ;
+    double z ;
 
-  BOOL is3d ; /**< If FALSE the text will be displayed using the 2d scale even if its parent
+    BOOL is3d ; /**< If FALSE the text will be displayed using the 2d scale even if its parent
                *   subwindow is in 3d mode. */
 
-  BOOL autoSize ; /* to know wether the size of the displayed array is specified by user or */
-                   /* automatically computed. */
+    BOOL autoSize ; /* to know wether the size of the displayed array is specified by user or */
+    /* automatically computed. */
 
-  double userSize[2] ; /**< Width and height of the displayed string array defined by user */
+    double userSize[2] ; /**< Width and height of the displayed string array defined by user */
 
-  sciTextAlignment stringsAlign ; /**< Alignment of the strings inside the array */
+    sciTextAlignment stringsAlign ; /**< Alignment of the strings inside the array */
 
-  BOOL centeredPos ; /**< to know wether the (x,y) position is the point in the middle of the
+    BOOL centeredPos ; /**< to know wether the (x,y) position is the point in the middle of the
                         string or the lower-left point */
-  BOOL isboxed  ;
-  /** */
-  /** specifies the text scilab code for the callback associated with this entity */
-  char *callback;
-  /** the length of the callback code */
-  int callbacklen;
-  int callbackevent;
+    BOOL isboxed  ;
+    /** */
+    /** specifies the text scilab code for the callback associated with this entity */
+    char *callback;
+    /** the length of the callback code */
+    int callbacklen;
+    int callbackevent;
 
-  double corners[4][3]; /**< position of the text bounding box corners */
+    double corners[4][3]; /**< position of the text bounding box corners */
 
-  /** specifies if this object is visble             */
-  BOOL visible;
-  int isclip;
-  double clip_region[4];
-  int clip_region_set;
+    /** specifies if this object is visble             */
+    BOOL visible;
+    int isclip;
+    double clip_region[4];
+    int clip_region_set;
 
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
 
 }
 sciText;
@@ -393,7 +396,7 @@ sciText;
  * Matches the MVC Legend object's LegendLocation enum.
  */
 typedef enum
-  {
+{
     /** */
     SCI_LEGEND_POSITION_UNSPECIFIED = -1,
     /** */
@@ -414,11 +417,11 @@ typedef enum
     SCI_LEGEND_OUT_LOWER_LEFT = 7,
     /** */
     SCI_LEGEND_UPPER_CAPTION = 8,
-   /** */
+    /** */
     SCI_LEGEND_LOWER_CAPTION = 9,
     /** */
     SCI_LEGEND_BY_COORDINATES = 10
-  }  /** */
+}  /** */
 sciLegendPlace;
 
 
@@ -428,35 +431,35 @@ sciLegendPlace;
  */
 typedef struct
 {
-  sciGraphicContext graphiccontext; /* used to draw the line and marks of the curve F.Leray 21.01.05 */
-  /** */
-  int nblegends;
-  /** */
-  int *pstyle;
-  /** */
-  sciText text;
-  /** */
-  POINT2D pos;
-  /** specifies the frame's width */
-  int width;
-  /** specifies the frame's height */
-  int height;
-  /** */
-  BOOL isselected;
-  /** specifies if the legend is surrounded */
-  BOOL issurround;
-  /* void    *associetedentity;  get the associated entity by asking parents.relation.sons */
-  /* the subwindow dimension is get by asking relation     */
-  sciLegendPlace place;
-  /** pointer on the labelled objects */
-  long long *tabofhandles;
-  /** specifies if this object is visble             */
-  BOOL visible;
-  int isclip;
-  double clip_region[4];
-  int clip_region_set;
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
+    sciGraphicContext graphiccontext; /* used to draw the line and marks of the curve F.Leray 21.01.05 */
+    /** */
+    int nblegends;
+    /** */
+    int *pstyle;
+    /** */
+    sciText text;
+    /** */
+    POINT2D pos;
+    /** specifies the frame's width */
+    int width;
+    /** specifies the frame's height */
+    int height;
+    /** */
+    BOOL isselected;
+    /** specifies if the legend is surrounded */
+    BOOL issurround;
+    /* void    *associetedentity;  get the associated entity by asking parents.relation.sons */
+    /* the subwindow dimension is get by asking relation     */
+    sciLegendPlace place;
+    /** pointer on the labelled objects */
+    long long *tabofhandles;
+    /** specifies if this object is visble             */
+    BOOL visible;
+    int isclip;
+    double clip_region[4];
+    int clip_region_set;
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
 }/** */
 sciLegend;
 
@@ -466,19 +469,19 @@ sciLegend;
  */
 typedef struct
 {
-  /* sciRelationShip relationship; */
-  /** contains the data to display the label */
- /*  sciText text; */
-  sciPointObj * text ;
-  /** absolut position in subindow*/
+    /* sciRelationShip relationship; */
+    /** contains the data to display the label */
+    /*  sciText text; */
+    sciPointObj * text ;
+    /** absolut position in subindow*/
 
-  int ptype ; /**< to distinguish between title, x_label,.... */
+    int ptype ; /**< to distinguish between title, x_label,.... */
 
-  /** */
-  BOOL isselected;
-  BOOL auto_position; /* automatic or manual position selection for label */
-  BOOL auto_rotation; /* automatic or manual rotation selection for label (depends on the current view mode 2d or 3d mainly for y and z labels) */
-                      /* not implemented for titles */
+    /** */
+    BOOL isselected;
+    BOOL auto_position; /* automatic or manual position selection for label */
+    BOOL auto_rotation; /* automatic or manual rotation selection for label (depends on the current view mode 2d or 3d mainly for y and z labels) */
+    /* not implemented for titles */
 
 }
 sciLabel ;
@@ -486,130 +489,130 @@ sciLabel ;
 typedef struct
 {
 
-  /* Color property */
-  double *foregroundcolor;
+    /* Color property */
+    double *foregroundcolor;
 
-  /* Callback property */
-  char *callback;
-  int callbackType;
+    /* Callback property */
+    char *callback;
+    int callbackType;
 
-  /* Specifies if this object is visible in its parent children */
-  BOOL handle_visible;
+    /* Specifies if this object is visible in its parent children */
+    BOOL handle_visible;
 
-  int MenuPosition;
+    int MenuPosition;
 
-  /* Userdata property */
-  int * user_data;
-  int size_of_user_data;
+    /* Userdata property */
+    int * user_data;
+    int size_of_user_data;
 
-  /* Index in the java UIElementMapper */
-  int hashMapIndex;
+    /* Index in the java UIElementMapper */
+    int hashMapIndex;
 
-  /* Tag property */
-  char * tag;
+    /* Tag property */
+    char * tag;
 
 }/** */
 sciUimenu;
 
 typedef struct
 {
-  int hashMapIndex;
+    int hashMapIndex;
 }/** */
 sciUicontextmenu;
 
 typedef struct
 {
-  int hashMapIndex;
+    int hashMapIndex;
 }/** */
 sciWaitbar;
 
 typedef struct
 {
-  int hashMapIndex;
+    int hashMapIndex;
 }/** */
 sciProgressionbar;
 
 typedef struct
 {
 
-  /* Specifies if this object is visible in its parent children */
-  BOOL handle_visible;
+    /* Specifies if this object is visible in its parent children */
+    BOOL handle_visible;
 
-  /* Colors property */
-  double *backgroundcolor;
-  double *foregroundcolor;
+    /* Colors property */
+    double *backgroundcolor;
+    double *foregroundcolor;
 
-  /* Callback property */
-  char *callback;
-  int callbackType;
+    /* Callback property */
+    char *callback;
+    int callbackType;
 
-  /* Userdata property */
-  int * user_data;
-  int size_of_user_data;
+    /* Userdata property */
+    int * user_data;
+    int size_of_user_data;
 
-  /* Index in the java UIElementMapper */
-  int hashMapIndex;
+    /* Index in the java UIElementMapper */
+    int hashMapIndex;
 
-  /* ListboxTop property */
-  int * listboxTop;
+    /* ListboxTop property */
+    int * listboxTop;
 
-  /* Value property */
-  int * value;
-  int valueSize;
-  double * doubleValue;
+    /* Value property */
+    int * value;
+    int valueSize;
+    double * doubleValue;
 
-  /* Style property: Must be a value from UicontrolStyle enum */
-  int style;
+    /* Style property: Must be a value from UicontrolStyle enum */
+    int style;
 
-  /* FontAngle property: Must be a value from UicontrolFontProperties enum */
-  int fontAngle;
+    /* FontAngle property: Must be a value from UicontrolFontProperties enum */
+    int fontAngle;
 
-  /* FontWeight property: Must be a value from UicontrolFontProperties enum */
-  int fontWeight;
+    /* FontWeight property: Must be a value from UicontrolFontProperties enum */
+    int fontWeight;
 
-  /* FontUnits property: Must be a value from UicontrolUnits enum */
-  int fontUnits;
+    /* FontUnits property: Must be a value from UicontrolUnits enum */
+    int fontUnits;
 
-  /* Units property: Must be a value from UicontrolUnits enum */
-  int units;
+    /* Units property: Must be a value from UicontrolUnits enum */
+    int units;
 
-  /* Relief property: Must be a value from UicontrolRelief enum */
-  int relief;
+    /* Relief property: Must be a value from UicontrolRelief enum */
+    int relief;
 
-  /* Horizontalalignment property */
-  int horizontalAlignment;
+    /* Horizontalalignment property */
+    int horizontalAlignment;
 
-  /* Verticalalignment property */
-  int verticalAlignment;
+    /* Verticalalignment property */
+    int verticalAlignment;
 
-  /* Min/Max properties */
-  int min;
-  int max;
+    /* Min/Max properties */
+    int min;
+    int max;
 
-  /* SliderStep property */
-  double * sliderStep;
+    /* SliderStep property */
+    double * sliderStep;
 
-  /* Tag property */
-  char * tag;
+    /* Tag property */
+    char * tag;
 }/** */
 sciUicontrol;
 
 /* uicontrol font properties */
 typedef enum {LIGHT_FONT, NORMAL_FONT, DEMI_FONT, BOLD_FONT, ITALIC_FONT, OBLIQUE_FONT} UicontrolFontProperties ;
 /* uicontrol style */
-typedef enum {
-  SCI_PUSHBUTTON,
-  SCI_RADIOBUTTON,
-  SCI_CHECKBOX,
-  SCI_EDIT,
-  SCI_UITEXT,
-  SCI_SLIDER,
-  SCI_UIFRAME,
-  SCI_LISTBOX,
-  SCI_POPUPMENU,
-  SCI_IMAGERENDERER,
-  SCI_UITABLE,
-  SCI_UIDISPLAYTREE
+typedef enum
+{
+    SCI_PUSHBUTTON,
+    SCI_RADIOBUTTON,
+    SCI_CHECKBOX,
+    SCI_EDIT,
+    SCI_UITEXT,
+    SCI_SLIDER,
+    SCI_UIFRAME,
+    SCI_LISTBOX,
+    SCI_POPUPMENU,
+    SCI_UITABLE,
+    SCI_UIDISPLAYTREE
 } UicontrolStyle ;
 /* uicontrol units */
 typedef enum {POINTS_UNITS, NORMALIZED_UNITS, INCHES_UNITS, CENTIMETERS_UNITS, PIXELS_UNITS} UicontrolUnits ;
@@ -623,43 +626,43 @@ typedef enum { BT_OFF = FALSE, BT_ON = TRUE, BT_HIDDEN_AXES, BT_BACK_HALF } EAxe
 
 typedef struct
 {
-  /* tics data from algo */
-  double  xgrads[20], ygrads[20], zgrads[20];                   /* Here they are  */
-  int nxgrads, nygrads, nzgrads;                         /* with their size <=> nber of tics */
-
-  /* tics data from user (=> u_...)*/
-  double *u_xgrads, *u_ygrads, *u_zgrads;                       /* Here they are  */
-  int u_nxgrads, u_nygrads, u_nzgrads;                   /* with their size <=> nber of tics */
-
-  int  ticscolor;
-  /*  int  fontsize;
-      int  textcolor;*/
-  sciFont fontcontext;
-
-  int  subint[3]; /* Dj.A 17/12/03 */
-  EAxesBoxType  rect ; /**< to know the part of the box we have to draw */
-  BOOL filled; /**< Specify wether the axis background should be drawn or not.
+    /* tics data from algo */
+    double  xgrads[20], ygrads[20], zgrads[20];                   /* Here they are  */
+    int nxgrads, nygrads, nzgrads;                         /* with their size <=> nber of tics */
+
+    /* tics data from user (=> u_...)*/
+    double *u_xgrads, *u_ygrads, *u_zgrads;                       /* Here they are  */
+    int u_nxgrads, u_nygrads, u_nzgrads;                   /* with their size <=> nber of tics */
+
+    int  ticscolor;
+    /*  int  fontsize;
+        int  textcolor;*/
+    sciFont fontcontext;
+
+    int  subint[3]; /* Dj.A 17/12/03 */
+    EAxesBoxType  rect ; /**< to know the part of the box we have to draw */
+    BOOL filled; /**< Specify wether the axis background should be drawn or not.
                     graphic_context is not used because otherwise all the children would inherit the value.*/
 
-  char xdir;   /**<  xdir  = 'u' | 'd'  : gives the xy-axes positions */
-  char ydir;   /**<  ydir  = 'r' | 'l' : gives the xy-axes positions */
+    char xdir;   /**<  xdir  = 'u' | 'd'  : gives the xy-axes positions */
+    char ydir;   /**<  ydir  = 'r' | 'l' : gives the xy-axes positions */
 
 
-  /* flags for switching from auto to manual ticks */
-  BOOL auto_ticks[3]; /* if on, it means that the ticks are taken from computation (see theticks algo. by Francois D.) */
+    /* flags for switching from auto to manual ticks */
+    BOOL auto_ticks[3]; /* if on, it means that the ticks are taken from computation (see theticks algo. by Francois D.) */
 
-  char **u_xlabels,  **u_ylabels,  **u_zlabels; /* label string corresponding to each specified u_xyzgrads */
+    char **u_xlabels,  **u_ylabels,  **u_zlabels; /* label string corresponding to each specified u_xyzgrads */
 
-  int hiddenAxisColor ; /* the color and style of the hidden axis */
+    int hiddenAxisColor ; /* the color and style of the hidden axis */
 
-  double  limits[7]; /* = 1 set tight limits = 0 set axes auto shape */
-  int flag[3]; /* 3d options */
+    double  limits[7]; /* = 1 set tight limits = 0 set axes auto shape */
+    int flag[3]; /* 3d options */
 
-  /* F.Leray 07.10.04 REMOVE AAINT*/
-  int nbsubtics[3]; /* Don't touch to subint because also deals with drawaxis: AXES structure has multiple uses... */ /* F.Leray 07.10.04 */
+    /* F.Leray 07.10.04 REMOVE AAINT*/
+    int nbsubtics[3]; /* Don't touch to subint because also deals with drawaxis: AXES structure has multiple uses... */ /* F.Leray 07.10.04 */
 
-  BOOL reverse[3]; /* if TRUE, it means that the corresponding axe is reversed */
-  BOOL axes_visible[3]; /* if TRUE, it means that the corresponding axes is drawn */
+    BOOL reverse[3]; /* if TRUE, it means that the corresponding axe is reversed */
+    BOOL axes_visible[3]; /* if TRUE, it means that the corresponding axes is drawn */
 
 }
 AXES;
@@ -669,64 +672,64 @@ AXES;
  */
 typedef struct
 {
-  AXES axes;
-  /** */
-  scigMode gmode;
-  /** */
-  sciGraphicContext graphiccontext;
-  /** specifies if this subwindow is selected                */
-
-  double SRect[6]; /* [xmin xmax ymin ymax zmin zmax] : Strict rect. coming from update_specification_bounds function or from a set(a,"data_bounds",[...]) */
-  double FRect[6]; /* real data_bounds */
-  double WRect[4]; /* size of the subplot */
-  double ARect[4]; /* margins, give the size of the axe*/
-  int zoomy_kp;
-  /* ZRect_kp is now useless : when unzooming we deal with SRect values */
-  double ZRect[6]; /* reversed for zoom only to avoid using FRect as zoom box AND computed box */ /* F.Leray 09.12.04 */
-
-  char logflags[3]; /* Z has a logflag now F.Leray 03.11.04 */
-  int grid[3]; /* Specify color of grid for each axis. If -1, no grid is drawn */
-       BOOL gridFront; /* If TRUE grid is drawn in front, if FALSE it is drawn behind other objects */
-
-  /*   BOOL isaxes; */
-
-  BOOL is3d;
-  BOOL tight_limits;
-  double theta_kp;
-  double alpha_kp;
-  /* viewing angles */
-  double theta;
-  double alpha;
-  /** specifies the text scilab code for the callback associated with this entity */
-  char *callback;
-  /** the length of the callback code */
-  int callbacklen;
-  int callbackevent;
-  /** specifies if this object is visble             */
-  BOOL visible;
-
-  BOOL useNurbsForArcs;
-
-  int isclip;
-  double clip_region[4];
-  int clip_region_set;
-  /**DJ.Abdemouche 2003**/
-  int project[3];
-  BOOL isoview;
-  int hiddencolor;
-  BOOL cube_scaling; /* Matlab like view in 3D when one or two range is/are preferential */
-  BOOL FirstPlot; /* An internal state used to indicated that high level functions must not use SRect*/
-
-  /* F.Leray 25.04.05 Labels in sciSubWin*/
-  sciPointObj * mon_title;
-  sciPointObj * mon_x_label;
-  sciPointObj * mon_y_label;
-  sciPointObj * mon_z_label;
-
-  /*  An internal state used as subtics flag (auto == FALSE, TRUE == manual) named flagNax */
-  BOOL flagNax;
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
+    AXES axes;
+    /** */
+    scigMode gmode;
+    /** */
+    sciGraphicContext graphiccontext;
+    /** specifies if this subwindow is selected                */
+
+    double SRect[6]; /* [xmin xmax ymin ymax zmin zmax] : Strict rect. coming from update_specification_bounds function or from a set(a,"data_bounds",[...]) */
+    double FRect[6]; /* real data_bounds */
+    double WRect[4]; /* size of the subplot */
+    double ARect[4]; /* margins, give the size of the axe*/
+    int zoomy_kp;
+    /* ZRect_kp is now useless : when unzooming we deal with SRect values */
+    double ZRect[6]; /* reversed for zoom only to avoid using FRect as zoom box AND computed box */ /* F.Leray 09.12.04 */
+
+    char logflags[3]; /* Z has a logflag now F.Leray 03.11.04 */
+    int grid[3]; /* Specify color of grid for each axis. If -1, no grid is drawn */
+    BOOL gridFront; /* If TRUE grid is drawn in front, if FALSE it is drawn behind other objects */
+
+    /*   BOOL isaxes; */
+
+    BOOL is3d;
+    BOOL tight_limits;
+    double theta_kp;
+    double alpha_kp;
+    /* viewing angles */
+    double theta;
+    double alpha;
+    /** specifies the text scilab code for the callback associated with this entity */
+    char *callback;
+    /** the length of the callback code */
+    int callbacklen;
+    int callbackevent;
+    /** specifies if this object is visble             */
+    BOOL visible;
+
+    BOOL useNurbsForArcs;
+
+    int isclip;
+    double clip_region[4];
+    int clip_region_set;
+    /**DJ.Abdemouche 2003**/
+    int project[3];
+    BOOL isoview;
+    int hiddencolor;
+    BOOL cube_scaling; /* Matlab like view in 3D when one or two range is/are preferential */
+    BOOL FirstPlot; /* An internal state used to indicated that high level functions must not use SRect*/
+
+    /* F.Leray 25.04.05 Labels in sciSubWin*/
+    sciPointObj * mon_title;
+    sciPointObj * mon_x_label;
+    sciPointObj * mon_y_label;
+    sciPointObj * mon_z_label;
+
+    /*  An internal state used as subtics flag (auto == FALSE, TRUE == manual) named flagNax */
+    BOOL flagNax;
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
 
 
 }/** */
@@ -743,39 +746,39 @@ sciSubWindow;
  */
 typedef struct
 {
-  /** */
-  sciGraphicContext graphiccontext;
-  /** */
-  double x;
-  /** */
-  double y;
-  /** */
-  double width;
-  /** */
-  double height;
-  /** begin at alpha1 */
-  double alphabegin;
-  /** end at alpha2   */
-  double alphaend;
-  /** */
-  BOOL isselected;
-  /** specifies the text scilab code for the callback associated with this entity */
-  char *callback;
-  /** the length of the callback code */
-  int callbacklen;
-  int callbackevent;
-  /** specifies if this object is visble             */
-  BOOL visible;
-  int isclip;
-  double clip_region[4];
-  int clip_region_set;
-  double z; /**DJ.Abdemouche 2003**/
-
-  BOOL useNurbs; /* Specify whether the arc should be drawn using nurbs or a set of lines */
-
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
-  /* the isline property is inside the associated graphiccontext */
+    /** */
+    sciGraphicContext graphiccontext;
+    /** */
+    double x;
+    /** */
+    double y;
+    /** */
+    double width;
+    /** */
+    double height;
+    /** begin at alpha1 */
+    double alphabegin;
+    /** end at alpha2   */
+    double alphaend;
+    /** */
+    BOOL isselected;
+    /** specifies the text scilab code for the callback associated with this entity */
+    char *callback;
+    /** the length of the callback code */
+    int callbacklen;
+    int callbackevent;
+    /** specifies if this object is visble             */
+    BOOL visible;
+    int isclip;
+    double clip_region[4];
+    int clip_region_set;
+    double z; /**DJ.Abdemouche 2003**/
+
+    BOOL useNurbs; /* Specify whether the arc should be drawn using nurbs or a set of lines */
+
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
+    /* the isline property is inside the associated graphiccontext */
 }  /** */
 sciArc;
 
@@ -790,35 +793,35 @@ sciArc;
  */
 typedef struct
 {
-  sciGraphicContext graphiccontext;
-  double *pvx;                 /* vecteur des points x doublon avec pvector je les garde pour compatiblite*/
-  double *pvy;                 /* vecteur des points y doublon avec pvector*/
-  double *pvz; /**DJ.Abdemouche 2003**/
-  int n1;                       /** number of points, for interp vector shoud be 3 or 4 */
-  int closed;                   /** is it a closed polyline */
-  int plot;                     /** defines the polyline_style (interpolated, staircase, bar_plot,...) : is it simple poly or a plot (Plot2d /Plot2d1/.../Plot2d4) */
-  BOOL isselected;
-  char *callback;              /** specifies the text scilab code for the callback associated with this entity */
-  int callbacklen;             /** the length of the callback code */
-  int callbackevent;
-  /** specifies if this object is visble             */
-  BOOL visible;
-  int isclip;
-  double clip_region[4];
-  int clip_region_set;
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
-  BOOL isinterpshaded;
-  int *scvector; /* interpolation vector */
-  int bar_layout;
-
-  double * x_shift;
-  double * y_shift;
-  double * z_shift;
-
-  double bar_width;
-
-  double arsize_factor; /* to be able to enlarge arrow size without changing the line thickness */
+    sciGraphicContext graphiccontext;
+    double *pvx;                       /* vecteur des points x doublon avec pvector je les garde pour compatiblite*/
+    double *pvy;                       /* vecteur des points y doublon avec pvector*/
+    double *pvz; /**DJ.Abdemouche 2003**/
+    int n1;                       /** number of points, for interp vector shoud be 3 or 4 */
+    int closed;                   /** is it a closed polyline */
+    int plot;                     /** defines the polyline_style (interpolated, staircase, bar_plot,...) : is it simple poly or a plot (Plot2d /Plot2d1/.../Plot2d4) */
+    BOOL isselected;
+    char *callback;            /** specifies the text scilab code for the callback associated with this entity */
+    int callbacklen;           /** the length of the callback code */
+    int callbackevent;
+    /** specifies if this object is visble             */
+    BOOL visible;
+    int isclip;
+    double clip_region[4];
+    int clip_region_set;
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
+    BOOL isinterpshaded;
+    int *scvector; /* interpolation vector */
+    int bar_layout;
+
+    double * x_shift;
+    double * y_shift;
+    double * z_shift;
+
+    double bar_width;
+
+    double arsize_factor; /* to be able to enlarge arrow size without changing the line thickness */
 }
 sciPolyline;  /** */
 
@@ -828,36 +831,36 @@ sciPolyline;  /** */
  */
 typedef struct
 {
-  sciGraphicContext graphiccontext;
-  double x;                       /** original */
-  double y;                       /** original */
-  double width;
-  double height;
-  BOOL isselected;
-  char *callback; /** specifies the text scilab code for the callback associated with this entity */
-  int callbacklen; /** the length of the callback code */
-  int callbackevent;
-  /** specifies if this object is visble             */
-  BOOL visible;
-  int isclip;
-  double clip_region[4];
-  int clip_region_set;
-  double z;  /** rectangle */
-
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
+    sciGraphicContext graphiccontext;
+    double x;                     /** original */
+    double y;                     /** original */
+    double width;
+    double height;
+    BOOL isselected;
+    char *callback; /** specifies the text scilab code for the callback associated with this entity */
+    int callbacklen; /** the length of the callback code */
+    int callbackevent;
+    /** specifies if this object is visble             */
+    BOOL visible;
+    int isclip;
+    double clip_region[4];
+    int clip_region_set;
+    double z;  /** rectangle */
+
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
 }
 sciRectangle;  /** */
 
 
 typedef enum
-  {
+{
     SCI_FAC3D = 0,
     SCI_PLOT3D = 1,
     SCI_CONTOUR,
     SCI_PARAM3D,
     SCI_PARAM3D1
-  }
+}
 sciTypeOf3D;
 
 
@@ -866,66 +869,66 @@ sciTypeOf3D;
  */
 typedef struct
 {
-  sciGraphicContext graphiccontext;
-  double * pvecx; /* x data */
-  double * pvecy; /* y data */
-  double * pvecz; /* z data */
-  double *inputCMoV; /* Adding here in order to always have the input data*/
-  /* We will determinate if it is a vector or matrix data with m3n and n3n values*/
-  /* temporary variable, useless for drawing */
-  /* name means input color or vector */
-  double *zcol; /* temporary variable, useless for drawing */
-  double *color;  /* Final matrix used only for drawing :  */
-                  /*  color == zcol if 'direct' mode used (direct indices on colormap)  */
-                  /* else 'scaled' mode used => color == linear interp. of zcol on the colormap */
-                  /* if flag_color = 0 or 1, color is null */
-                  /* if flag_color = 2, color is a vector */
-                  /* if flag_color = 3, color is a matrix */
-                  /* if flag_color = 4, color is a vector */
-
-  int cdatamapping; /* like in Matlab, it determines how the color is computed ('scaled' or 'direct' mode) */
-                    /* 0: scaled */
-                    /* 1: direct (default) */
-  int izcol; /* 0 : no color; 1 : color is a vector, 2 : color is a matrix */
-  int dimzx; /* == m3 */
-  int dimzy; /* == n3 */
-
-  /*F.Leray 12.03.04 Adding here to know the length of arrays pvecx, pvecy and pvecz*/
-
-  int nc; /* number of colors = m3n * n3n */
-  int nx; /* number of x data */
-  int ny; /* number of y data */
-  int nz; /* number of z data */
-  int isfac; /* redondant with typof3d */
-  int m1,n1; /* size of pvecx */
-  int m2,n2; /* size of pvecy */
-  int m3,n3; /* size of pvecz */
-  int m3n,n3n; /* size of color */
-
-  int flag[3]; /* only the first value is used as color_mode */
-  double ebox[6]; /* apparently unused */
-  int flagcolor; /* this flag indicates the type of the color of how the facet have to be colored
+    sciGraphicContext graphiccontext;
+    double * pvecx; /* x data */
+    double * pvecy; /* y data */
+    double * pvecz; /* z data */
+    double *inputCMoV; /* Adding here in order to always have the input data*/
+    /* We will determinate if it is a vector or matrix data with m3n and n3n values*/
+    /* temporary variable, useless for drawing */
+    /* name means input color or vector */
+    double *zcol; /* temporary variable, useless for drawing */
+    double *color;  /* Final matrix used only for drawing :  */
+    /*  color == zcol if 'direct' mode used (direct indices on colormap)  */
+    /* else 'scaled' mode used => color == linear interp. of zcol on the colormap */
+    /* if flag_color = 0 or 1, color is null */
+    /* if flag_color = 2, color is a vector */
+    /* if flag_color = 3, color is a matrix */
+    /* if flag_color = 4, color is a vector */
+
+    int cdatamapping; /* like in Matlab, it determines how the color is computed ('scaled' or 'direct' mode) */
+    /* 0: scaled */
+    /* 1: direct (default) */
+    int izcol; /* 0 : no color; 1 : color is a vector, 2 : color is a matrix */
+    int dimzx; /* == m3 */
+    int dimzy; /* == n3 */
+
+    /*F.Leray 12.03.04 Adding here to know the length of arrays pvecx, pvecy and pvecz*/
+
+    int nc; /* number of colors = m3n * n3n */
+    int nx; /* number of x data */
+    int ny; /* number of y data */
+    int nz; /* number of z data */
+    int isfac; /* redondant with typof3d */
+    int m1, n1; /* size of pvecx */
+    int m2, n2; /* size of pvecy */
+    int m3, n3; /* size of pvecz */
+    int m3n, n3n; /* size of color */
+
+    int flag[3]; /* only the first value is used as color_mode */
+    double ebox[6]; /* apparently unused */
+    int flagcolor; /* this flag indicates the type of the color of how the facet have to be colored
                    0: uniformed color
                    1: facet's color are computed with z*/ /* in case of a simple plot...!!! F.Leray 19.03.04 */
-  sciTypeOf3D typeof3d; /* Fac3d or Plot3d */
-  int hiddencolor;
-  BOOL isselected;
-  char *callback; /** specifies the text scilab code for the callback associated with this entity */
-  int callbacklen; /** the length of the callback code */
-  int callbackevent;
-  /** specifies if this object is visble             */
-  BOOL visible;
-
-  int flag_x; /* 1 if the vector is increasing, -1 if decreasing. */
-              /* The vector should be either increasing or decreasing. */
-  int flag_y;
-
-  int isclip; /**< Clipping state of the object */
-  double clip_region[4]; /**< Clipping region */
-  int clip_region_set; /**< To know if the clippign region is set */
-
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
+    sciTypeOf3D typeof3d; /* Fac3d or Plot3d */
+    int hiddencolor;
+    BOOL isselected;
+    char *callback; /** specifies the text scilab code for the callback associated with this entity */
+    int callbacklen; /** the length of the callback code */
+    int callbackevent;
+    /** specifies if this object is visble             */
+    BOOL visible;
+
+    int flag_x; /* 1 if the vector is increasing, -1 if decreasing. */
+    /* The vector should be either increasing or decreasing. */
+    int flag_y;
+
+    int isclip; /**< Clipping state of the object */
+    double clip_region[4]; /**< Clipping region */
+    int clip_region_set; /**< To know if the clippign region is set */
+
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
 }
 sciSurface;  /** */
 
@@ -941,34 +944,34 @@ sciSurface;  /** */
 
 typedef struct
 {
-  sciGraphicContext graphiccontext;
-  sciFont fontcontext;
-  char dir;   /** dir = 'r' | 'l' | 'u' | 'd' : gives the tics directions **/
-  char tics;  /** tics = 'v' (for vector) or 'r' (for range) or i **/
-  double *vx;  /** vx vector of size nx **/
-  double *vy;  /** vy vector of size ny **/
-  /**DJ.Abdemouche 2003**/
-  double *vz; /* not used */
-  int nx;
-  int ny;
-  int nb_tics_labels; /* F.Leray 29.04.05 : number of tics_labels can be different from Max(nx,ny) if xy_type diff. from 'v' */
-  /***/
-  int nz;
-  char **str ;  /** string vector **/
-  int subint;  /** subints : number of sub intervals **/
-  char *format; /** format for tick marks **/
-  int seg;      /**0 or 1, flag which control the drawing of the segment associated to the axes **/
-  char *callback; /** specifies the text scilab code for the callback associated with this entity */
-  int callbacklen; /** the length of the callback code */
-  int callbackevent;
-  /** specifies if this object is visble             */
-  BOOL visible;
-  int isclip;
-  double clip_region[4]; /* to introduce for axis ? */
-  int clip_region_set;
-
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
+    sciGraphicContext graphiccontext;
+    sciFont fontcontext;
+    char dir;   /** dir = 'r' | 'l' | 'u' | 'd' : gives the tics directions **/
+    char tics;  /** tics = 'v' (for vector) or 'r' (for range) or i **/
+    double *vx;  /** vx vector of size nx **/
+    double *vy;  /** vy vector of size ny **/
+    /**DJ.Abdemouche 2003**/
+    double *vz; /* not used */
+    int nx;
+    int ny;
+    int nb_tics_labels; /* F.Leray 29.04.05 : number of tics_labels can be different from Max(nx,ny) if xy_type diff. from 'v' */
+    /***/
+    int nz;
+    char **str ;  /** string vector **/
+    int subint;  /** subints : number of sub intervals **/
+    char *format; /** format for tick marks **/
+    int seg;      /**0 or 1, flag which control the drawing of the segment associated to the axes **/
+    char *callback; /** specifies the text scilab code for the callback associated with this entity */
+    int callbacklen; /** the length of the callback code */
+    int callbackevent;
+    /** specifies if this object is visble             */
+    BOOL visible;
+    int isclip;
+    double clip_region[4]; /* to introduce for axis ? */
+    int clip_region_set;
+
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
 }
 sciAxes;
 
@@ -983,32 +986,32 @@ sciAxes;
 
 typedef struct
 {
-  sciGraphicContext graphiccontext;
-  double *vx;  /** vx vector of size Nbr **/ /*F.Leray 18.02.04 ...of size Nbr1 ? No depending on the type ptype*/
-  double *vy;  /** vy vector of size Nbr **/ /*F.Leray 18.02.04 ...of size Nbr2 ? No depending on the type ptype*/
-  double *vfx; /* size Nbr1 * Nbr2 */
-  double *vfy; /* size Nbr1 * Nbr2 */
-  int Nbr1; /**< size of vx and vy id segs handle, or size of vx if champ */
-  int Nbr2; /**< size of vy if champ handle */
-  int *pstyle;
-  int iflag;      /**0 or 1, flag which control the drawing of the segment  **/
-  double arrowsize;  /*F.Leray units : hundreds (i.e. 100, 150,...)*/
-  int ptype; /* if ptype=0, it is segments; if ptype=1, it is champ (champ or champ1)*/
-  int typeofchamp; /* when ptype=0, if typeofchamp=0 => champ is invoked else champ1 is invoked (typeofchamp==1) */
-  BOOL isselected;
-  char *callback; /** specifies the text scilab code for the callback associated with this entity */
-  int callbacklen; /** the length of the callback code */
-  int callbackevent;
-  /** specifies if this object is visble             */
-  BOOL visible;
-  int isclip;
-  double clip_region[4];
-  int clip_region_set;
-  double *vz; /**DJ.Abdemouche 2003**/
-  double *vfz;
-
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
+    sciGraphicContext graphiccontext;
+    double *vx;  /** vx vector of size Nbr **/ /*F.Leray 18.02.04 ...of size Nbr1 ? No depending on the type ptype*/
+    double *vy;  /** vy vector of size Nbr **/ /*F.Leray 18.02.04 ...of size Nbr2 ? No depending on the type ptype*/
+    double *vfx; /* size Nbr1 * Nbr2 */
+    double *vfy; /* size Nbr1 * Nbr2 */
+    int Nbr1; /**< size of vx and vy id segs handle, or size of vx if champ */
+    int Nbr2; /**< size of vy if champ handle */
+    int *pstyle;
+    int iflag;      /**0 or 1, flag which control the drawing of the segment  **/
+    double arrowsize;  /*F.Leray units : hundreds (i.e. 100, 150,...)*/
+    int ptype; /* if ptype=0, it is segments; if ptype=1, it is champ (champ or champ1)*/
+    int typeofchamp; /* when ptype=0, if typeofchamp=0 => champ is invoked else champ1 is invoked (typeofchamp==1) */
+    BOOL isselected;
+    char *callback; /** specifies the text scilab code for the callback associated with this entity */
+    int callbacklen; /** the length of the callback code */
+    int callbackevent;
+    /** specifies if this object is visble             */
+    BOOL visible;
+    int isclip;
+    double clip_region[4];
+    int clip_region_set;
+    double *vz; /**DJ.Abdemouche 2003**/
+    double *vfz;
+
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
 }
 sciSegs;
 
@@ -1026,28 +1029,28 @@ sciSegs;
 
 typedef struct
 {
-  sciGraphicContext graphiccontext;
-
-  double *pvecx;  /** vx vector of size nx **/
-  double *pvecy;  /** vy vector of size ny **/
-  double *pvecz;  /** vz vector of size nx*ny **/
-  int nx;
-  int ny;
-  int type;   /** 0 if a grayplot, 1if a matplot, 2 if matplot 1 **/
-  char datamapping[7]; /* "scaled" or "direct" */
-  BOOL isselected;
-  char *callback; /** specifies the text scilab code for the callback associated with this entity */
-  int callbacklen; /** the length of the callback code */
-  int callbackevent;
-  /** specifies if this object is visble             */
-  BOOL visible;
-
-  int isclip; /**< Clipping state of the object */
-  double clip_region[4]; /**< Clipping region */
-  int clip_region_set; /**< To know if the clippign region is set */
-
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
+    sciGraphicContext graphiccontext;
+
+    double *pvecx;  /** vx vector of size nx **/
+    double *pvecy;  /** vy vector of size ny **/
+    double *pvecz;  /** vz vector of size nx*ny **/
+    int nx;
+    int ny;
+    int type;   /** 0 if a grayplot, 1if a matplot, 2 if matplot 1 **/
+    char datamapping[7]; /* "scaled" or "direct" */
+    BOOL isselected;
+    char *callback; /** specifies the text scilab code for the callback associated with this entity */
+    int callbacklen; /** the length of the callback code */
+    int callbackevent;
+    /** specifies if this object is visble             */
+    BOOL visible;
+
+    int isclip; /**< Clipping state of the object */
+    double clip_region[4]; /**< Clipping region */
+    int clip_region_set; /**< To know if the clippign region is set */
+
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
 }
 sciGrayplot;
 /** */
@@ -1063,30 +1066,30 @@ sciGrayplot;
 
 typedef struct
 {
-  sciGraphicContext graphiccontext;
-
-  double *pvecx; /* X coordinates of nodes */
-  double *pvecy; /* Y coordinates of nodes */
-  double *pnoeud; /* indices of nodes */
-  double *pfun; /* Height value for nodes */
-  int Nnode; /* number of nodes */
-  int Ntr;   /* number of triangles */
-  double zminmax[2]; /* Array of size 2 containing zmin and zmax */
-  int colminmax[2]; /* subset of the colormap to use */
-  int colout[2]; /* color to use when outside zmin/zmax */
-  BOOL isselected;
-  char *callback; /** specifies the text scilab code for the callback associated with this entity */
-  int callbacklen; /** the length of the callback code */
-  int callbackevent;
-  /** specifies if this object is visble             */
-  BOOL visible;
-
-  int isclip; /**< Clipping state of the object */
-  double clip_region[4]; /**< Clipping region */
-  int clip_region_set; /**< To know if the clippign region is set */
-
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
+    sciGraphicContext graphiccontext;
+
+    double *pvecx; /* X coordinates of nodes */
+    double *pvecy; /* Y coordinates of nodes */
+    double *pnoeud; /* indices of nodes */
+    double *pfun; /* Height value for nodes */
+    int Nnode; /* number of nodes */
+    int Ntr;   /* number of triangles */
+    double zminmax[2]; /* Array of size 2 containing zmin and zmax */
+    int colminmax[2]; /* subset of the colormap to use */
+    int colout[2]; /* color to use when outside zmin/zmax */
+    BOOL isselected;
+    char *callback; /** specifies the text scilab code for the callback associated with this entity */
+    int callbacklen; /** the length of the callback code */
+    int callbackevent;
+    /** specifies if this object is visble             */
+    BOOL visible;
+
+    int isclip; /**< Clipping state of the object */
+    double clip_region[4]; /**< Clipping region */
+    int clip_region_set; /**< To know if the clippign region is set */
+
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
 }
 sciFec;  /** */
 
@@ -1097,19 +1100,19 @@ sciFec;  /** */
  */
 typedef struct
 {
-  double xmin;                    /** original xmin */
-  double ymin;                    /** original ymin */
-  double xmax;
-  double ymax;
-  BOOL isselected;
-  char *callback; /** specifies the text scilab code for the callback associated with this entity */
-  int callbacklen; /** the length of the callback code */
-  int callbackevent;
-  /** specifies if this object is visble             */
-  BOOL visible;
-
-  int * user_data; /* adding 27.06.05 */
-  int size_of_user_data;
+    double xmin;                          /** original xmin */
+    double ymin;                          /** original ymin */
+    double xmax;
+    double ymax;
+    BOOL isselected;
+    char *callback; /** specifies the text scilab code for the callback associated with this entity */
+    int callbacklen; /** the length of the callback code */
+    int callbackevent;
+    /** specifies if this object is visble             */
+    BOOL visible;
+
+    int * user_data; /* adding 27.06.05 */
+    int size_of_user_data;
 }
 sciAgreg;  /** */
 
index 13baf71..09c1226 100644 (file)
@@ -76,7 +76,6 @@ src/cpp/EditBox.cpp \
 src/cpp/Label.cpp \
 src/cpp/CheckBox.cpp \
 src/cpp/RadioButton.cpp \
-src/cpp/ImageRenderer.cpp \
 src/cpp/UiTable.cpp \
 src/cpp/UiDisplayTree.cpp \
 src/cpp/Slider.cpp \
index 06a40f7..7733b4e 100644 (file)
@@ -155,9 +155,7 @@ am__objects_2 = libscigui_algo_la-InitUIMenu.lo \
        libscigui_algo_la-CallHelpBrowser.lo \
        libscigui_algo_la-PushButton.lo libscigui_algo_la-EditBox.lo \
        libscigui_algo_la-Label.lo libscigui_algo_la-CheckBox.lo \
-       libscigui_algo_la-RadioButton.lo \
-       libscigui_algo_la-ImageRenderer.lo \
-       libscigui_algo_la-UiTable.lo \
+       libscigui_algo_la-RadioButton.lo libscigui_algo_la-UiTable.lo \
        libscigui_algo_la-UiDisplayTree.lo libscigui_algo_la-Slider.lo \
        libscigui_algo_la-PopupMenu.lo \
        libscigui_algo_la-ContextMenu.lo libscigui_algo_la-ListBox.lo \
@@ -611,7 +609,6 @@ src/cpp/EditBox.cpp \
 src/cpp/Label.cpp \
 src/cpp/CheckBox.cpp \
 src/cpp/RadioButton.cpp \
-src/cpp/ImageRenderer.cpp \
 src/cpp/UiTable.cpp \
 src/cpp/UiDisplayTree.cpp \
 src/cpp/Slider.cpp \
@@ -1119,7 +1116,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-GetUiobjectEnable.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-GetUiobjectForegroundColor.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-GetUiobjectVisible.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-ImageRenderer.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-InitUIMenu.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-InitializeGUI.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-Juigetfile.Plo@am__quote@
@@ -1634,13 +1630,6 @@ libscigui_algo_la-RadioButton.lo: src/cpp/RadioButton.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@ $(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigui_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscigui_algo_la-RadioButton.lo `test -f 'src/cpp/RadioButton.cpp' || echo '$(srcdir)/'`src/cpp/RadioButton.cpp
 
-libscigui_algo_la-ImageRenderer.lo: src/cpp/ImageRenderer.cpp
-@am__fastdepCXX_TRUE@  $(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigui_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscigui_algo_la-ImageRenderer.lo -MD -MP -MF $(DEPDIR)/libscigui_algo_la-ImageRenderer.Tpo -c -o libscigui_algo_la-ImageRenderer.lo `test -f 'src/cpp/ImageRenderer.cpp' || echo '$(srcdir)/'`src/cpp/ImageRenderer.cpp
-@am__fastdepCXX_TRUE@  $(am__mv) $(DEPDIR)/libscigui_algo_la-ImageRenderer.Tpo $(DEPDIR)/libscigui_algo_la-ImageRenderer.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     source='src/cpp/ImageRenderer.cpp' object='libscigui_algo_la-ImageRenderer.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigui_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libscigui_algo_la-ImageRenderer.lo `test -f 'src/cpp/ImageRenderer.cpp' || echo '$(srcdir)/'`src/cpp/ImageRenderer.cpp
-
 libscigui_algo_la-UiTable.lo: src/cpp/UiTable.cpp
 @am__fastdepCXX_TRUE@  $(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigui_algo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libscigui_algo_la-UiTable.lo -MD -MP -MF $(DEPDIR)/libscigui_algo_la-UiTable.Tpo -c -o libscigui_algo_la-UiTable.lo `test -f 'src/cpp/UiTable.cpp' || echo '$(srcdir)/'`src/cpp/UiTable.cpp
 @am__fastdepCXX_TRUE@  $(am__mv) $(DEPDIR)/libscigui_algo_la-UiTable.Tpo $(DEPDIR)/libscigui_algo_la-UiTable.Plo
index 46ddf94..a6159cb 100644 (file)
@@ -11,7 +11,7 @@ figSize = f.axes_size;
 imageWidth = 181;
 imageHeight = 144;
 h = uicontrol("Parent", f, ..
-              "Style", "imagerenderer", ..
+              "Style", "image", ..
               "Position", [(figSize(1)-imageWidth)/2 (figSize(2)-imageHeight)/2 imageWidth imageHeight], ..
               "String", SCI + "/modules/demo_tools/images/logo_scilab.png");
 
index 88905d9..15d8293 100644 (file)
             as a MathML one.
           </para>
           <para>
-            For ImageRenderer, the value specifies the path of the image file.
+            For Image, the value specifies the path of the image file.
           </para>
           <para>
-            For Table, the value specifies the whole table data: <litteral>[IGNORED COL1-HEADER...COLN-HEADER;ROW1-HEADER, ROW1COL1-DATA, ROW1COLN-DATA;...;ROWM-HEADER, ROWMCOL1-DATA, ROWMCOLN-DATA]</litteral>.
+            For Table, the value specifies the whole table data: <literal>[IGNORED COL1-HEADER...COLN-HEADER;ROW1-HEADER, ROW1COL1-DATA, ROW1COLN-DATA;...;ROWM-HEADER, ROWMCOL1-DATA, ROWMCOLN-DATA]</literal>.
           </para>
         </listitem>
       </varlistentry>
         <term>Style</term>
         <listitem>
           <para>{pushbutton} | radiobutton | checkbox | edit | text | slider |
-            frame | listbox | popupmenu | imagerenderer | table
+            frame | listbox | popupmenu | image | table
           </para>
           <para>Style of the uicontrol. This property has to be set at creation time and can not be changed once the uicontrol is created. Here is a short description of each
             one:
               </para>
             </listitem>
             <listitem>
-              <para>ImageRenderer: a sub-window where the image specified is displayed.</para>
+              <para>Image: a sub-window where the image specified is displayed.</para>
             </listitem>
             <listitem>
               <para>Table: an editable table.</para>
             </listitem>
             <listitem>
               <para>
-                Imagerenderers: value is used to set some image properties <literal>[X-Scale Y-Scale X-Shear Y-Shear RotationAngle]</literal>
+                Images: value is used to set some image properties <literal>[X-Scale Y-Scale X-Shear Y-Shear RotationAngle]</literal>
               </para>
             </listitem>
           </itemizedlist>
diff --git a/scilab/modules/gui/includes/ImageRenderer.h b/scilab/modules/gui/includes/ImageRenderer.h
deleted file mode 100644 (file)
index a28d4cf..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2010 - Han DONG
- * 
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at    
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-#ifndef __IMAGERENDERER_H__
-#define __IMAGERENDERER_H__
-#include "dynlib_gui.h"
-#include "ObjectStructure.h"
-#include "returnProperty.h"
-
-/**
- * Create a new ImageRenderer in Scilab GUIs
- *
- * @param sciObj the corresponding Scilab object
- */
-GUI_IMPEXP void createImageRenderer(sciPointObj* sciObj);
-
-/**
- * Set the current figure as parent for a ImageRenderer in Scilab GUIs
- *
- * @param sciObj the corresponding Scilab object   
- * @return true parent setting has be done without error
- */
-GUI_IMPEXP int setCurentFigureAsImageRendererParent(sciPointObj* sciObj);
-
-#endif /* __IMAGERENDERER_H__ */
index d8df59a..c39d4a7 100644 (file)
@@ -33,7 +33,6 @@
 #include "Slider.h"             /* setCurentFigureAsSliderParent */
 #include "PopupMenu.h"          /* setCurentFigureAsPopupMenuParent */
 #include "ListBox.h"            /* setCurentFigureAsListBoxParent */
-#include "ImageRenderer.h"      /* setCurentFigureAsImageRendererParent */
 #include "UiTable.h"            /* setCurentFigureAsUiTableParent */
 #include "UiDisplayTree.h"      /* setCurentFigureAsUiDisplayTreeParent */
 #include "Scierror.h"
index bf3a0bb..97a5cf1 100644 (file)
@@ -25,7 +25,6 @@
 #include "PopupMenu.h"
 #include "ListBox.h"
 #include "Frame.h"
-#include "ImageRenderer.h"
 #include "UiTable.h"
 #include "UiDisplayTree.h"
 #include "DestroyObjects.h" /* sciStandardDestroyOperations */
 char *CreateUIControl(char *style)
 {
     char *pobjUID = NULL;
-    if (style == NULL || strcmp(style, "pushbutton")==0)
+    if (style == NULL || strcmp(style, "pushbutton") == 0)
     {
         pobjUID = createGraphicObject(__GO_UI_PUSHBUTTON__);
     }
-    else if (strcmp(style,"checkbox")==0)
+    else if (strcmp(style, "checkbox") == 0)
     {
         pobjUID = createGraphicObject(__GO_UI_CHECKBOX__);
     }
-    else if (strcmp(style,"edit")==0)
+    else if (strcmp(style, "edit") == 0)
     {
         pobjUID = createGraphicObject(__GO_UI_EDIT__);
     }
-    else if (strcmp(style,"frame")==0)
+    else if (strcmp(style, "frame") == 0)
     {
         pobjUID = createGraphicObject(__GO_UI_FRAME__);
     }
-    else if (strcmp(style,"listbox")==0)
+    else if (strcmp(style, "listbox") == 0)
     {
         pobjUID = createGraphicObject(__GO_UI_LISTBOX__);
     }
-    else if (strcmp(style,"imagerenderer")==0)
+    else if (strcmp(style, "image") == 0)
     {
-        pobjUID = createGraphicObject(__GO_UI_IMAGERENDERER__);
+        pobjUID = createGraphicObject(__GO_UI_IMAGE__);
     }
-    else if (strcmp(style,"popupmenu")==0)
+    else if (strcmp(style, "popupmenu") == 0)
     {
         pobjUID = createGraphicObject(__GO_UI_POPUPMENU__);
     }
-    else if (strcmp(style,"radiobutton")==0)
+    else if (strcmp(style, "radiobutton") == 0)
     {
         pobjUID = createGraphicObject(__GO_UI_RADIOBUTTON__);
     }
-    else if (strcmp(style,"slider")==0)
+    else if (strcmp(style, "slider") == 0)
     {
         pobjUID = createGraphicObject(__GO_UI_SLIDER__);
     }
-    else if (strcmp(style,"table")==0)
+    else if (strcmp(style, "table") == 0)
     {
         pobjUID = createGraphicObject(__GO_UI_TABLE__);
     }
-    else if (strcmp(style,"text")==0)
+    else if (strcmp(style, "text") == 0)
     {
         pobjUID = createGraphicObject(__GO_UI_TEXT__);
     }
 
-  return pobjUID;
+    return pobjUID;
 }
 /*----------------------------------------------------------------------------*/
 
index ad47d7d..8e2e929 100644 (file)
@@ -2,11 +2,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2007 - INRIA - Vincent COUVERT
  * Return the style name corresponding to the int value from UicontrolStyle enum
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
 
 char * UicontrolStyleToString(int style)
 {
-  switch(style)
+    switch (style)
     {
-    case SCI_PUSHBUTTON:
-      return "pushbutton";
-    case SCI_RADIOBUTTON:
-      return "radiobutton";
-    case SCI_CHECKBOX:
-      return "checkbox";
-    case SCI_EDIT:
-      return "edit";
-    case SCI_UITEXT:
-      return "text";
-    case SCI_SLIDER:
-      return "slider";
-    case SCI_UIFRAME:
-      return "frame";
-    case SCI_LISTBOX:
-      return "listbox";
-    case SCI_POPUPMENU:
-      return "popupmenu";
-    case SCI_IMAGERENDERER:
-      return "imagerenderer";
-    case SCI_UITABLE:
-      return "uitable";
-    case SCI_UIDISPLAYTREE:
-      return "uidisplaytree";
-    default:
-      return "Unknown";
+        case SCI_PUSHBUTTON:
+            return "pushbutton";
+        case SCI_RADIOBUTTON:
+            return "radiobutton";
+        case SCI_CHECKBOX:
+            return "checkbox";
+        case SCI_EDIT:
+            return "edit";
+        case SCI_UITEXT:
+            return "text";
+        case SCI_SLIDER:
+            return "slider";
+        case SCI_UIFRAME:
+            return "frame";
+        case SCI_LISTBOX:
+            return "listbox";
+        case SCI_POPUPMENU:
+            return "popupmenu";
+        case SCI_UITABLE:
+            return "uitable";
+        case SCI_UIDISPLAYTREE:
+            return "uidisplaytree";
+        default:
+            return "Unknown";
     }
 }
index 2ca6adb..c7e0f31 100644 (file)
   <ItemGroup>
     <ClCompile Include="..\cpp\displayUiTree.cpp" />
     <ClCompile Include="..\cpp\GetConsoleShowHiddenHandles.cpp" />
-    <ClCompile Include="..\cpp\ImageRenderer.cpp" />
     <ClCompile Include="..\cpp\SetConsoleShowHiddenHandles.cpp" />
     <ClCompile Include="..\cpp\UiDisplayTree.cpp" />
     <ClCompile Include="..\cpp\UiTable.cpp" />
     <ClInclude Include="..\..\includes\CallJuigetfile.hxx" />
     <ClInclude Include="..\..\includes\GetConsoleShowHiddenHandles.h" />
     <ClInclude Include="..\..\includes\GetUiobjectEnable.h" />
-    <ClInclude Include="..\..\includes\ImageRenderer.h" />
     <ClInclude Include="..\..\includes\SetConsoleShowHiddenHandles.h" />
     <ClInclude Include="..\..\includes\SetUiobjectEnable.h" />
     <ClInclude Include="..\..\includes\UiDisplayTree.h" />
index 099e128..a1b639d 100644 (file)
     <ClCompile Include="..\cpp\UiTable.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\cpp\ImageRenderer.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="..\cpp\SetUiobjectRotate.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClInclude Include="..\..\includes\GetUiobjectShear.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\includes\ImageRenderer.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\includes\SetUiobjectEnable.h">
       <Filter>Header Files</Filter>
     </ClInclude>
diff --git a/scilab/modules/gui/src/cpp/ImageRenderer.cpp b/scilab/modules/gui/src/cpp/ImageRenderer.cpp
deleted file mode 100644 (file)
index 718b319..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2010 - Han Dong
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-
-#include "ImageRenderer.hxx"
-
-using namespace org_scilab_modules_gui_bridge;
-
-void createImageRenderer(sciPointObj* sciObj)
-{
-  pUICONTROL_FEATURE(sciObj)->hashMapIndex = CallScilabBridge::newImageRenderer(getScilabJavaVM());
-}
-
-int setCurentFigureAsImageRendererParent(sciPointObj* sciObj)
-{
-// ???
-#if 0
-  int parentFigureIndex = 0;
-
-  // Scilab list of parent
-  sciAddThisToItsParent(sciObj, sciGetCurrentFigure());
-
-  // Java objects
-  parentFigureIndex = sciGetNum(sciGetCurrentFigure());
-  CallScilabBridge::setImageRendererParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-#endif
-  return SET_PROPERTY_SUCCEED;
-}
diff --git a/scilab/modules/gui/src/cpp/ImageRenderer.hxx b/scilab/modules/gui/src/cpp/ImageRenderer.hxx
deleted file mode 100644 (file)
index 52fdfa4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2010 - Han DONG
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-#ifndef __IMAGERENDERER_HXX__
-#define __IMAGERENDERER_HXX__
-
-#include "CallScilabBridge.hxx"
-extern "C"{
-#include "ImageRenderer.h"
-#include "getScilabJavaVM.h"
-#include "GetProperty.h"
-#include "SetPropertyStatus.h"
-#include "getPropertyAssignedValue.h"
-#include "Scierror.h"
-}
-
-#endif /* __IMAGERENDERER_HXX__ */
index 492cc32..21c69ba 100644 (file)
@@ -18,215 +18,209 @@ using namespace org_scilab_modules_gui_bridge;
 
 int SetUicontrolParent(sciPointObj* sciObj, size_t stackPointer, int valueType, int nbRow, int nbCol)
 {
-// ???
+    // ???
 #if 0
-  int parentFigureIndex = 0;
+    int parentFigureIndex = 0;
 
-  int * returnValues = NULL;
+    int * returnValues = NULL;
 
-  sciPointObj *figure = NULL;
-  sciPointObj *parent = NULL;
-  sciPointObj *oldParentFigure = NULL;
+    sciPointObj *figure = NULL;
+    sciPointObj *parent = NULL;
+    sciPointObj *oldParentFigure = NULL;
 
-  if (nbRow*nbCol != 1)
+    if (nbRow*nbCol != 1)
     {
-      Scierror(999, const_cast<char*>(_("Wrong size for '%s' property: A graphic handle expected.\n")), "Parent");
-      return SET_PROPERTY_ERROR;
+        Scierror(999, const_cast<char*>(_("Wrong size for '%s' property: A graphic handle expected.\n")), "Parent");
+        return SET_PROPERTY_ERROR;
     }
 
-  if ((valueType == sci_handles) || (valueType == sci_matrix))
+    if ((valueType == sci_handles) || (valueType == sci_matrix))
     {
-      if (valueType == sci_handles)
+        if (valueType == sci_handles)
         {
-          figure = sciGetPointerFromHandle(getHandleFromStack(stackPointer));
+            figure = sciGetPointerFromHandle(getHandleFromStack(stackPointer));
 
-          parent = figure;
+            parent = figure;
 
-          /* Set a Frame as parent: we need to get the parent figure */
-          if (sciGetEntityType(figure) != SCI_FIGURE)
+            /* Set a Frame as parent: we need to get the parent figure */
+            if (sciGetEntityType(figure) != SCI_FIGURE)
             {
-              while (sciGetEntityType(figure) != SCI_FIGURE)
+                while (sciGetEntityType(figure) != SCI_FIGURE)
                 {
-                  figure = sciGetParent(figure);
+                    figure = sciGetParent(figure);
                 }
             }
         }
 
-      if (valueType == sci_matrix)
+        if (valueType == sci_matrix)
         {
-          figure = getFigureFromIndex((int)getDoubleMatrixFromStack(stackPointer)[0]);
-          parent = figure;
+            figure = getFigureFromIndex((int)getDoubleMatrixFromStack(stackPointer)[0]);
+            parent = figure;
         }
 
-      if (figure == NULL)
+        if (figure == NULL)
         {
-          // Can not set the parent
-          Scierror(999, const_cast<char*>(_("Wrong value for '%s' property: A '%s' or '%s' handle expected.\n")), "Parent", "Figure", "Frame uicontrol");
-          return SET_PROPERTY_ERROR;
+            // Can not set the parent
+            Scierror(999, const_cast<char*>(_("Wrong value for '%s' property: A '%s' or '%s' handle expected.\n")), "Parent", "Figure", "Frame uicontrol");
+            return SET_PROPERTY_ERROR;
         }
 
-      if (sciGetEntityType(figure) == SCI_FIGURE)
+        if (sciGetEntityType(figure) == SCI_FIGURE)
         {
-          // Get the position from Java to reset it
-          if (pUICONTROL_FEATURE(sciObj)->style == SCI_UIFRAME) /* Frame style uicontrols */
+            // Get the position from Java to reset it
+            if (pUICONTROL_FEATURE(sciObj)->style == SCI_UIFRAME) /* Frame style uicontrols */
             {
-              returnValues = CallScilabBridge::getFramePosition(getScilabJavaVM(),
-                                                                pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                returnValues = CallScilabBridge::getFramePosition(getScilabJavaVM(),
+                               pUICONTROL_FEATURE(sciObj)->hashMapIndex);
             }
-          else
+            else
             {
-              returnValues = CallScilabBridge::getWidgetPosition(getScilabJavaVM(),
-                                                                 pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                returnValues = CallScilabBridge::getWidgetPosition(getScilabJavaVM(),
+                               pUICONTROL_FEATURE(sciObj)->hashMapIndex);
             }
 
-          // Remove from previous parent
-          if (sciGetParent(sciObj) != NULL)
+            // Remove from previous parent
+            if (sciGetParent(sciObj) != NULL)
             {
-              oldParentFigure = sciGetParent(sciObj);
-              if (sciGetEntityType(oldParentFigure) != SCI_FIGURE)
+                oldParentFigure = sciGetParent(sciObj);
+                if (sciGetEntityType(oldParentFigure) != SCI_FIGURE)
                 {
-                  while (sciGetEntityType(oldParentFigure) != SCI_FIGURE)
+                    while (sciGetEntityType(oldParentFigure) != SCI_FIGURE)
                     {
-                      oldParentFigure = sciGetParent(oldParentFigure);
+                        oldParentFigure = sciGetParent(oldParentFigure);
                     }
                 }
-              parentFigureIndex = sciGetNum(oldParentFigure);
+                parentFigureIndex = sciGetNum(oldParentFigure);
 
-              sciDelThisToItsParent(sciObj, sciGetParent(sciObj));
+                sciDelThisToItsParent(sciObj, sciGetParent(sciObj));
 
-              switch(pUICONTROL_FEATURE(sciObj)->style)
+                switch (pUICONTROL_FEATURE(sciObj)->style)
                 {
+                    case SCI_PUSHBUTTON:
+                        CallScilabBridge::removePushButtonFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                        break;
+                    case SCI_EDIT:
+                        CallScilabBridge::removeEditBoxFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                        break;
+                    case SCI_UITEXT:
+                        CallScilabBridge::removeLabelFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                        break;
+                    case SCI_CHECKBOX:
+                        CallScilabBridge::removeCheckBoxFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                        break;
+                    case SCI_RADIOBUTTON:
+                        CallScilabBridge::removeRadioButtonFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                        break;
+                    case SCI_SLIDER:
+                        CallScilabBridge::removeSliderFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                        break;
+                    case SCI_POPUPMENU:
+                        CallScilabBridge::removePopupMenuFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                        break;
+                    case SCI_LISTBOX:
+                        CallScilabBridge::removeListBoxFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                        break;
+                    case SCI_UIFRAME:
+                        CallScilabBridge::removeFrameFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                        break;
+                    case SCI_UITABLE:
+                        CallScilabBridge::removeUiTableFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                        break;
+                    case SCI_UIDISPLAYTREE:
+                        CallScilabBridge::removeUiDisplayTreeFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                        break;
+                    default:
+                        Scierror(999, const_cast<char*>(_("No '%s' property for uicontrols of style: %s.\n")), "Parent", UicontrolStyleToString(pUICONTROL_FEATURE(sciObj)->style));
+                        delete [] returnValues;
+                        return SET_PROPERTY_ERROR;
+                }
+            }
+
+            // Scilab relationship
+            sciAddThisToItsParent(sciObj, parent);
+
+            // The parent is a figure
+            parentFigureIndex = sciGetNum(figure);
+
+            switch (pUICONTROL_FEATURE(sciObj)->style)
+            {
                 case SCI_PUSHBUTTON:
-                  CallScilabBridge::removePushButtonFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
+                    CallScilabBridge::setPushButtonParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                    break;
                 case SCI_EDIT:
-                  CallScilabBridge::removeEditBoxFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
+                    CallScilabBridge::setEditBoxParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                    break;
                 case SCI_UITEXT:
-                  CallScilabBridge::removeLabelFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
+                    CallScilabBridge::setLabelParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                    break;
                 case SCI_CHECKBOX:
-                  CallScilabBridge::removeCheckBoxFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
+                    CallScilabBridge::setCheckBoxParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                    break;
                 case SCI_RADIOBUTTON:
-                  CallScilabBridge::removeRadioButtonFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
+                    CallScilabBridge::setRadioButtonParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                    break;
                 case SCI_SLIDER:
-                  CallScilabBridge::removeSliderFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
+                    CallScilabBridge::setSliderParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                    break;
                 case SCI_POPUPMENU:
-                  CallScilabBridge::removePopupMenuFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
+                    CallScilabBridge::setPopupMenuParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                    break;
                 case SCI_LISTBOX:
-                  CallScilabBridge::removeListBoxFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
+                    CallScilabBridge::setListBoxParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                    break;
                 case SCI_UIFRAME:
-                  CallScilabBridge::removeFrameFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
-               case SCI_IMAGERENDERER:
-                  CallScilabBridge::removeImageRendererFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
+                    CallScilabBridge::setFrameParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                    break;
                 case SCI_UITABLE:
-                  CallScilabBridge::removeUiTableFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
-               case SCI_UIDISPLAYTREE:
-                  CallScilabBridge::removeUiDisplayTreeFromParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-                  break;
+                    CallScilabBridge::setUiTableParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                    break;
+                case SCI_UIDISPLAYTREE:
+                    CallScilabBridge::setUiDisplayTreeParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
+                    break;
                 default:
-                  Scierror(999, const_cast<char*>(_("No '%s' property for uicontrols of style: %s.\n")), "Parent", UicontrolStyleToString(pUICONTROL_FEATURE(sciObj)->style));
-                                 delete [] returnValues;
-                  return SET_PROPERTY_ERROR;
-                }
-            }
-
-          // Scilab relationship
-          sciAddThisToItsParent(sciObj, parent);
-
-          // The parent is a figure
-          parentFigureIndex = sciGetNum(figure);
-
-          switch(pUICONTROL_FEATURE(sciObj)->style)
-            {
-            case SCI_PUSHBUTTON:
-              CallScilabBridge::setPushButtonParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-            case SCI_EDIT:
-              CallScilabBridge::setEditBoxParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-            case SCI_UITEXT:
-              CallScilabBridge::setLabelParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-            case SCI_CHECKBOX:
-              CallScilabBridge::setCheckBoxParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-            case SCI_RADIOBUTTON:
-              CallScilabBridge::setRadioButtonParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-            case SCI_SLIDER:
-              CallScilabBridge::setSliderParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-            case SCI_POPUPMENU:
-              CallScilabBridge::setPopupMenuParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-            case SCI_LISTBOX:
-              CallScilabBridge::setListBoxParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-            case SCI_UIFRAME:
-              CallScilabBridge::setFrameParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-           case SCI_IMAGERENDERER:
-              CallScilabBridge::setImageRendererParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-            case SCI_UITABLE:
-              CallScilabBridge::setUiTableParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-           case SCI_UIDISPLAYTREE:
-              CallScilabBridge::setUiDisplayTreeParent(getScilabJavaVM(), parentFigureIndex, pUICONTROL_FEATURE(sciObj)->hashMapIndex);
-              break;
-            default:
-              Scierror(999, const_cast<char*>(_("No '%s' property for uicontrols of style: %s.\n")), "Parent", UicontrolStyleToString(pUICONTROL_FEATURE(sciObj)->style));
-                         delete [] returnValues;
-              return SET_PROPERTY_ERROR;
+                    Scierror(999, const_cast<char*>(_("No '%s' property for uicontrols of style: %s.\n")), "Parent", UicontrolStyleToString(pUICONTROL_FEATURE(sciObj)->style));
+                    delete [] returnValues;
+                    return SET_PROPERTY_ERROR;
             }
 
-          // Adjust position: position read from java and reset
-          if (pUICONTROL_FEATURE(sciObj)->style == SCI_UIFRAME) /* Frame style uicontrols */
+            // Adjust position: position read from java and reset
+            if (pUICONTROL_FEATURE(sciObj)->style == SCI_UIFRAME) /* Frame style uicontrols */
             {
-              CallScilabBridge::setFramePosition(getScilabJavaVM(),
-                                                 pUICONTROL_FEATURE(sciObj)->hashMapIndex,
-                                                 returnValues[0],
-                                                 returnValues[1],
-                                                 returnValues[2],
-                                                 returnValues[3]);
+                CallScilabBridge::setFramePosition(getScilabJavaVM(),
+                                                   pUICONTROL_FEATURE(sciObj)->hashMapIndex,
+                                                   returnValues[0],
+                                                   returnValues[1],
+                                                   returnValues[2],
+                                                   returnValues[3]);
             }
-          else /* All other uicontrol styles */
+            else /* All other uicontrol styles */
             {
-              CallScilabBridge::setWidgetPosition(getScilabJavaVM(),
-                                                  pUICONTROL_FEATURE(sciObj)->hashMapIndex,
-                                                  returnValues[0],
-                                                  returnValues[1],
-                                                  returnValues[2],
-                                                  returnValues[3]);
+                CallScilabBridge::setWidgetPosition(getScilabJavaVM(),
+                                                    pUICONTROL_FEATURE(sciObj)->hashMapIndex,
+                                                    returnValues[0],
+                                                    returnValues[1],
+                                                    returnValues[2],
+                                                    returnValues[3]);
             }
-                 delete [] returnValues;
-          return SET_PROPERTY_SUCCEED;
+            delete [] returnValues;
+            return SET_PROPERTY_SUCCEED;
         }
-      else
+        else
         {
-                 delete [] returnValues;
-          // Parent is not a figure
-          Scierror(999, const_cast<char*>(_("Wrong value for '%s' property: A '%s' or '%s' handle expected.\n")), "Parent", "Figure", "Frame uicontrol");
-          return SET_PROPERTY_ERROR;
+            delete [] returnValues;
+            // Parent is not a figure
+            Scierror(999, const_cast<char*>(_("Wrong value for '%s' property: A '%s' or '%s' handle expected.\n")), "Parent", "Figure", "Frame uicontrol");
+            return SET_PROPERTY_ERROR;
         }
     }
-  else
+    else
     {
-         delete [] returnValues;
-      // Do not know how to set the parent
-      Scierror(999, const_cast<char*>(_("Wrong value for '%s' property: A '%s' or '%s' handle expected.\n")), "Parent", "Figure", "Frame uicontrol");
-      return SET_PROPERTY_ERROR;
+        delete [] returnValues;
+        // Do not know how to set the parent
+        Scierror(999, const_cast<char*>(_("Wrong value for '%s' property: A '%s' or '%s' handle expected.\n")), "Parent", "Figure", "Frame uicontrol");
+        return SET_PROPERTY_ERROR;
     }
 #endif
-  return SET_PROPERTY_ERROR;
+    return SET_PROPERTY_ERROR;
 }
 
index 6900438..454bbea 100644 (file)
  */
 package org.scilab.modules.gui;
 
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXES_SIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CALLBACKTYPE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CALLBACK__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHILDREN__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CONSOLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FIGURE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PARENT__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_POSITION__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PROGRESSIONBAR__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_STYLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TYPE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICHECKEDMENU__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICHILDMENU__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICONTEXTMENU__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICONTROL__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIMENU__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIPARENTMENU__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_BACKGROUNDCOLOR__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_CHECKBOX__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_CHECKED__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_EDIT__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ENABLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTANGLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTNAME__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTSIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTWEIGHT__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FOREGROUNDCOLOR__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_HORIZONTALALIGNMENT__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ICON__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_IMAGE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LABEL__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOX__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_POPUPMENU__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_PUSHBUTTON__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_RADIOBUTTON__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_RELIEF__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SEPARATOR__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SLIDER__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_STRING__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TABLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TEXT__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_VERTICALALIGNMENT__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VALID__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VISIBLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_WAITBAR__;
+import static org.scilab.modules.gui.utils.Debug.DEBUG;
+
+import java.awt.Component;
+import java.awt.Container;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
+import javax.swing.JComponent;
+import javax.swing.JSeparator;
+
 import org.flexdock.docking.Dockable;
 import org.flexdock.docking.DockingManager;
 import org.flexdock.docking.activation.ActiveDockableTracker;
@@ -26,7 +88,6 @@ import org.scilab.modules.gui.bridge.console.SwingScilabConsole;
 import org.scilab.modules.gui.bridge.contextmenu.SwingScilabContextMenu;
 import org.scilab.modules.gui.bridge.editbox.SwingScilabEditBox;
 import org.scilab.modules.gui.bridge.frame.SwingScilabFrame;
-import org.scilab.modules.gui.bridge.imagerenderer.SwingScilabImageRenderer;
 import org.scilab.modules.gui.bridge.label.SwingScilabLabel;
 import org.scilab.modules.gui.bridge.listbox.SwingScilabListBox;
 import org.scilab.modules.gui.bridge.menu.SwingScilabMenu;
@@ -36,6 +97,7 @@ import org.scilab.modules.gui.bridge.pushbutton.SwingScilabPushButton;
 import org.scilab.modules.gui.bridge.radiobutton.SwingScilabRadioButton;
 import org.scilab.modules.gui.bridge.slider.SwingScilabSlider;
 import org.scilab.modules.gui.bridge.tab.SwingScilabTab;
+import org.scilab.modules.gui.bridge.uiimage.SwingScilabUiImage;
 import org.scilab.modules.gui.bridge.uitable.SwingScilabUiTable;
 import org.scilab.modules.gui.bridge.waitbar.SwingScilabWaitBar;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
@@ -48,21 +110,6 @@ import org.scilab.modules.gui.utils.ToolBarBuilder;
 import org.scilab.modules.gui.utils.WindowsConfigurationManager;
 import org.scilab.modules.gui.widget.Widget;
 
-import javax.swing.JComponent;
-import javax.swing.JSeparator;
-import java.awt.Component;
-import java.awt.Container;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
-import static org.scilab.modules.gui.utils.Debug.DEBUG;
-
 /**
  * @author Bruno JOFRET
  * @author Vincent COUVERT
@@ -106,7 +153,7 @@ public final class SwingView implements GraphicView {
         Edit,
         Frame,
         Figure,
-        ImageRenderer,
+        Image,
         ListBox,
         PopupMenu,
         Progressbar,
@@ -202,8 +249,8 @@ public final class SwingView implements GraphicView {
             return UielementType.Edit;
         } else if (style.equals(__GO_UI_FRAME__)) {
             return UielementType.Frame;
-        } else if (style.equals(__GO_UI_IMAGERENDERER__)) {
-            return UielementType.ImageRenderer;
+        } else if (style.equals(__GO_UI_IMAGE__)) {
+            return UielementType.Image;
         } else if (style.equals(__GO_UI_LISTBOX__)) {
             return UielementType.ListBox;
         } else if (style.equals(__GO_UI_POPUPMENU__)) {
@@ -317,10 +364,10 @@ public final class SwingView implements GraphicView {
                 frame.setId(id);
                 setDefaultProperties(frame, id);
                 return frame;
-            case ImageRenderer:
-                SwingScilabImageRenderer imageRenderer = new SwingScilabImageRenderer();
-                imageRenderer.setId(id);
-                return imageRenderer;
+            case Image:
+                SwingScilabUiImage image = new SwingScilabUiImage();
+                image.setId(id);
+                return image;
             case ListBox:
                 SwingScilabListBox listBox = new SwingScilabListBox();
                 listBox.setId(id);
index de9191d..eb3f1e4 100644 (file)
@@ -46,11 +46,11 @@ import java.awt.Font;
 
 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
 import org.scilab.modules.gui.bridge.checkbox.SwingScilabCheckBox;
-import org.scilab.modules.gui.bridge.imagerenderer.SwingScilabImageRenderer;
 import org.scilab.modules.gui.bridge.listbox.SwingScilabListBox;
 import org.scilab.modules.gui.bridge.popupmenu.SwingScilabPopupMenu;
 import org.scilab.modules.gui.bridge.radiobutton.SwingScilabRadioButton;
 import org.scilab.modules.gui.bridge.slider.SwingScilabSlider;
+import org.scilab.modules.gui.bridge.uiimage.SwingScilabUiImage;
 import org.scilab.modules.gui.bridge.uitable.SwingScilabUiTable;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.utils.Position;
@@ -321,7 +321,7 @@ public final class SwingViewWidget {
             } else if (uiControl instanceof SwingScilabSlider) {
                 // Update the slider value
                 ((SwingScilabSlider) uiControl).setUserValue(doubleValue[0]);
-            } else if (uiControl instanceof SwingScilabImageRenderer) {
+            } else if (uiControl instanceof SwingScilabUiImage) {
                 // Update the image parameters
                 double[] imageParams = new double[5];
                 if (doubleValue.length < 1) {
@@ -352,12 +352,12 @@ public final class SwingViewWidget {
                 double[] scale = new double[2];
                 scale[0] = imageParams[0];
                 scale[1] = imageParams[1];
-                ((SwingScilabImageRenderer) uiControl).setScale(scale);
+                ((SwingScilabUiImage) uiControl).setScale(scale);
                 double[] shear = new double[2];
                 shear[0] = imageParams[2];
                 shear[1] = imageParams[3];
-                ((SwingScilabImageRenderer) uiControl).setShear(shear);
-                ((SwingScilabImageRenderer) uiControl).setRotate(imageParams[4]);
+                ((SwingScilabUiImage) uiControl).setShear(shear);
+                ((SwingScilabUiImage) uiControl).setRotate(imageParams[4]);
             }
         } else if (property.equals(__GO_UI_VERTICALALIGNMENT__)) {
             uiControl.setVerticalAlignment((String) value);
index 192dbb9..aace627 100644 (file)
@@ -77,8 +77,6 @@ import org.scilab.modules.gui.frame.ScilabFrame;
 import org.scilab.modules.gui.graphicWindow.ScilabRendererProperties;
 import org.scilab.modules.gui.helpbrowser.HelpBrowser;
 import org.scilab.modules.gui.helpbrowser.ScilabHelpBrowser;
-import org.scilab.modules.gui.imagerenderer.ImageRenderer;
-import org.scilab.modules.gui.imagerenderer.ScilabImageRenderer;
 import org.scilab.modules.gui.label.Label;
 import org.scilab.modules.gui.label.ScilabLabel;
 import org.scilab.modules.gui.listbox.ListBox;
@@ -457,27 +455,6 @@ public class CallScilabBridge {
     }
 
     /**
-     * Create a new ImageRenderer in Scilab GUIs
-     * @return the ID of the ImageRenderer in the UIElementMapper
-     */
-    public static int newImageRenderer() {
-        ImageRenderer imageRenderer = ScilabImageRenderer.createImageRenderer();
-        int id = UIElementMapper.add(imageRenderer);
-
-        /* Default font */
-        setWidgetFontName(id, DEFAULTFONTNAME);
-        setWidgetFontWeight(id, NORMALFONT);
-        setWidgetFontSize(id, DEFAULTFONTSIZE);
-
-        setWidgetRelief(id, ScilabRelief.FLAT);
-
-        /* Default colors */
-        setWidgetBackgroundColor(id, (int) DEFAULT_RED_BACKGROUND, (int) DEFAULT_GREEN_BACKGROUND, (int) DEFAULT_BLUE_BACKGROUND);
-        setWidgetForegroundColor(id, (int) DEFAULT_RED_FOREGROUND, (int) DEFAULT_GREEN_FOREGROUND, (int) DEFAULT_BLUE_FOREGROUND);
-        return id;
-    }
-
-    /**
      * Create a new UiTable in Scilab GUIs
      * @return the ID of the UiTable in the UIElementMapper
      */
@@ -672,12 +649,12 @@ public class CallScilabBridge {
         //   delete(get_figure_handle(fid));
         // end
         String closingCommand =
-                "if (get_figure_handle(" + figureIndex + ") <> []) then"
-                        +      "  if (get(get_figure_handle(" + figureIndex + "), 'event_handler_enable') == 'on') then"
-                        +      "    execstr(get(get_figure_handle(" + figureIndex + "), 'event_handler')+'(" + figureIndex + ", -1, -1, -1000)', 'errcatch', 'm');"
-                        +      "  end;"
-                        +      "  delete(get_figure_handle(" + figureIndex + "));"
-                        +      "end;";
+            "if (get_figure_handle(" + figureIndex + ") <> []) then"
+            +      "  if (get(get_figure_handle(" + figureIndex + "), 'event_handler_enable') == 'on') then"
+            +      "    execstr(get(get_figure_handle(" + figureIndex + "), 'event_handler')+'(" + figureIndex + ", -1, -1, -1000)', 'errcatch', 'm');"
+            +      "  end;"
+            +      "  delete(get_figure_handle(" + figureIndex + "));"
+            +      "end;";
         //graphicTab.setCallback(ScilabCloseCallBack.create(figureIndex, closingCommand));
         graphicTab.addMenuBar(menuBar);
         graphicTab.addToolBar(toolBar);
@@ -902,28 +879,6 @@ public class CallScilabBridge {
     }
 
     /**
-     * Set a figure as parent for a ImageRenderer
-     * @param figureID the ID of the figure in the FigureMapper
-     * @param objID the ID of the PushButton in the UIElementMapper
-     */
-    public static void setImageRendererParent(int figureID, int objID) {
-        Tab parentTab = ((ScilabRendererProperties) FigureMapper.getCorrespondingFigure(figureID).getRendererProperties()).getParentTab();
-        ImageRenderer imageRenderer = (ImageRenderer) UIElementMapper.getCorrespondingUIElement(objID);
-        ScilabBridge.addMember(parentTab, imageRenderer);
-    }
-
-    /**
-     * Remove a ImageRenderer from its parent figure
-     * @param figureID the ID of the figure in the FigureMapper
-     * @param objID the ID of the PushButton in the UIElementMapper
-     */
-    public static void removeImageRendererFromParent(int figureID, int objID) {
-        Tab parentTab = ((ScilabRendererProperties) FigureMapper.getCorrespondingFigure(figureID).getRendererProperties()).getParentTab();
-        ImageRenderer imageRenderer = (ImageRenderer) UIElementMapper.getCorrespondingUIElement(objID);
-        ScilabBridge.removeMember(parentTab, imageRenderer);
-    }
-
-    /**
      * Set a figure as parent for a UiTable
      * @param figureID the ID of the figure in the FigureMapper
      * @param objID the ID of the PushButton in the UIElementMapper
@@ -2090,8 +2045,8 @@ public class CallScilabBridge {
         SwingScilabTab parentTab = (SwingScilabTab) SwingView.getFromId(parentUID);
         if (parentTab != null) {
             parentTab.getToolBar().getAsSimpleToolBar().setVisible(status);
-            BarUpdater.updateBars(parentTab.getParentWindowId(), parentTab.getMenuBar(), 
-                    parentTab.getToolBar(), parentTab.getInfoBar(), parentTab.getName(), parentTab.getWindowIcon());
+            BarUpdater.updateBars(parentTab.getParentWindowId(), parentTab.getMenuBar(),
+                                  parentTab.getToolBar(), parentTab.getInfoBar(), parentTab.getName(), parentTab.getWindowIcon());
         }
     }
 
@@ -2216,10 +2171,10 @@ public class CallScilabBridge {
      * @param xmlID the xml id
      */
     public static void openHelp(String xmlID) {
-       HelpBrowser helpBrowser = ScilabHelpBrowser.createHelpBrowser(null, ScilabCommons.getlanguage());
-       if (helpBrowser != null) {
-           helpBrowser.searchKeywork(xmlID);
-       }
+        HelpBrowser helpBrowser = ScilabHelpBrowser.createHelpBrowser(null, ScilabCommons.getlanguage());
+        if (helpBrowser != null) {
+            helpBrowser.searchKeywork(xmlID);
+        }
     }
 
     /**
@@ -2545,16 +2500,16 @@ public class CallScilabBridge {
                 String fileExtension = ".ps";
 
                 try {
-                    String tmpPrinterFile = File.createTempFile("scilabfigure","").getAbsolutePath();
+                    String tmpPrinterFile = File.createTempFile("scilabfigure", "").getAbsolutePath();
                     /** Export image to PostScript */
                     if (((PrintRequestAttribute) scilabPageFormat.get(OrientationRequested.class)) == OrientationRequested.PORTRAIT) {
                         FileExporter.fileExport(figureID,
-                                tmpPrinterFile + fileExtension,
-                                exportRendererMode, 1, 0); /* 1 is the quality. Useless in this context */
+                                                tmpPrinterFile + fileExtension,
+                                                exportRendererMode, 1, 0); /* 1 is the quality. Useless in this context */
                     } else {
                         FileExporter.fileExport(figureID,
-                                tmpPrinterFile + fileExtension,
-                                exportRendererMode, 1, 1); /* 1 is the quality. Useless in this context */
+                                                tmpPrinterFile + fileExtension,
+                                                exportRendererMode, 1, 1); /* 1 is the quality. Useless in this context */
                     }
 
                     /** Read file */
@@ -2950,7 +2905,7 @@ public class CallScilabBridge {
          */
         @Override
         public DataFlavor[] getTransferDataFlavors() {
-            return new DataFlavor[]{DataFlavor.imageFlavor};
+            return new DataFlavor[] {DataFlavor.imageFlavor};
         }
 
         /**
@@ -3027,7 +2982,7 @@ public class CallScilabBridge {
         } else {
             ((Widget) uicontrol).requestFocus();
         }
-        
+
     }
 
     /**
@@ -3070,33 +3025,6 @@ public class CallScilabBridge {
         ScilabAboutBox.displayAndWait();
     }
 
-    /**********************/
-    /*                    */
-    /* IMAGERENDERER BRIDGE */
-    /*                    */
-    /**********************/
-
-    /**
-     * Rotates an image by certain degrees
-     */
-    public static void setImageRendererRotate(int id, double[] indices) {
-        ((ImageRenderer) UIElementMapper.getCorrespondingUIElement(id)).setRotate(indices);
-    }
-
-    /**
-     * Shears an image by x, y values
-     */
-    public static void setImageRendererShear(int id, double[] indices) {
-        ((ImageRenderer) UIElementMapper.getCorrespondingUIElement(id)).setShear(indices);
-    }
-
-    /**
-     * Scales an image by x, y values
-     */
-    public static void setImageRendererScale(int id, double[] indices) {
-        ((ImageRenderer) UIElementMapper.getCorrespondingUIElement(id)).setScale(indices);
-    }
-
     /******************/
     /*                */
     /* UITABLE BRIDGE */
index def9b8a..babf21e 100644 (file)
@@ -3,11 +3,11 @@
  * Copyright (C) 2007 - INRIA - Vincent Couvert
  * Copyright (C) 2007 - INRIA - Bruno Jofret
  * Copyright (C) 2010 - DIGITEO - Vincent COUVERT
- * 
+ *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
  * you should have received as part of this distribution.  The terms
- * are also available at    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
@@ -89,15 +89,6 @@ import org.scilab.modules.gui.pushbutton.SimplePushButton;
 import org.scilab.modules.gui.radiobutton.RadioButton;
 import org.scilab.modules.gui.radiobutton.ScilabRadioButtonBridge;
 import org.scilab.modules.gui.radiobutton.SimpleRadioButton;
-import org.scilab.modules.gui.imagerenderer.ImageRenderer;
-import org.scilab.modules.gui.imagerenderer.ScilabImageRendererBridge;
-import org.scilab.modules.gui.imagerenderer.SimpleImageRenderer;
-import org.scilab.modules.gui.uitable.UiTable;
-import org.scilab.modules.gui.uitable.ScilabUiTableBridge;
-import org.scilab.modules.gui.uitable.SimpleUiTable;
-import org.scilab.modules.gui.uidisplaytree.UiDisplayTree;
-import org.scilab.modules.gui.uidisplaytree.ScilabUiDisplayTreeBridge;
-import org.scilab.modules.gui.uidisplaytree.SimpleUiDisplayTree;
 import org.scilab.modules.gui.separator.ScilabSeparatorBridge;
 import org.scilab.modules.gui.separator.Separator;
 import org.scilab.modules.gui.slider.ScilabSliderBridge;
@@ -115,6 +106,12 @@ import org.scilab.modules.gui.toolbar.ToolBar;
 import org.scilab.modules.gui.tree.ScilabTreeBridge;
 import org.scilab.modules.gui.tree.SimpleTree;
 import org.scilab.modules.gui.tree.Tree;
+import org.scilab.modules.gui.uidisplaytree.ScilabUiDisplayTreeBridge;
+import org.scilab.modules.gui.uidisplaytree.SimpleUiDisplayTree;
+import org.scilab.modules.gui.uidisplaytree.UiDisplayTree;
+import org.scilab.modules.gui.uitable.ScilabUiTableBridge;
+import org.scilab.modules.gui.uitable.SimpleUiTable;
+import org.scilab.modules.gui.uitable.UiTable;
 import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.Size;
 import org.scilab.modules.gui.waitbar.ScilabWaitBarBridge;
@@ -303,7 +300,7 @@ public class ScilabBridge {
 
     /**
      * DeIconify Window
-     * @param window window to update  
+     * @param window window to update
      */
     public static void windowDeiconified(Window window) {
         ScilabWindowBridge.windowDeiconified(window);
@@ -311,7 +308,7 @@ public class ScilabBridge {
 
     /**
      * Iconify Window
-     * @param window window to update  
+     * @param window window to update
      */
     public static void windowIconified(Window window) {
         ScilabWindowBridge.windowIconified(window);
@@ -319,7 +316,7 @@ public class ScilabBridge {
 
     /**
      * Maximized Window
-     * @param window window to update  
+     * @param window window to update
      */
     public static void windowMaximized(Window window) {
         ScilabWindowBridge.windowMaximized(window);
@@ -327,7 +324,7 @@ public class ScilabBridge {
 
     /**
      * Window is in the "normal" state.
-     * @param window window to update          
+     * @param window window to update
      */
     public static void windowNormal(Window window) {
         ScilabWindowBridge.windowNormal(window);
@@ -867,25 +864,6 @@ public class ScilabBridge {
 
     /**
      * Add a member (dockable element) to a tab and returns the index of this member
-     * @param tab the tab which we want to add the ImageRenderer to
-     * @param member the ImageRenderer to add
-     * @return the position of the ImageRenderer in the member list.
-     */
-    public static int addMember(Tab tab, ImageRenderer member) {
-        return ScilabTabBridge.addMember(tab, member);
-    }
-
-    /**
-     * Remove a ImageRenderer member from a tab
-     * @param tab the tab which we want to remove the ImageRenderer from
-     * @param member the ImageRenderer to remove
-     */
-    public static void removeMember(Tab tab, ImageRenderer member) {
-        ScilabTabBridge.removeMember(tab, member);
-    }
-
-    /**
-     * Add a member (dockable element) to a tab and returns the index of this member
      * @param tab the tab which we want to add the UiTable to
      * @param member the UiTable to add
      * @return the position of the UiTable in the member list.
@@ -901,7 +879,7 @@ public class ScilabBridge {
      */
     public static void removeMember(Tab tab, UiTable member) {
         ScilabTabBridge.removeMember(tab, member);
-    }  
+    }
 
     public static int addMember(Tab tab, UiDisplayTree member) {
         return ScilabTabBridge.addMember(tab, member);
@@ -1285,7 +1263,7 @@ public class ScilabBridge {
 
     /**
      * Clear the commands history
-     * @param console the console we want to clear the history of 
+     * @param console the console we want to clear the history of
      */
     public static void clearHistory(Console console) {
         ScilabConsoleBridge.clearHistory(console);
@@ -1293,7 +1271,7 @@ public class ScilabBridge {
 
     /**
      * Select all the console contents
-     * @param console the console 
+     * @param console the console
      */
     public static void selectAll(Console console) {
         ScilabConsoleBridge.selectAll(console);
@@ -1301,7 +1279,7 @@ public class ScilabBridge {
 
     /**
      * Put the console selected text in the clipboard
-     * @param console the console 
+     * @param console the console
      */
     public static void copyToClipboard(Console console) {
         ScilabConsoleBridge.copyToClipboard(console);
@@ -1309,7 +1287,7 @@ public class ScilabBridge {
 
     /**
      * Paste clipboard contents in Console input line
-     * @param console the console 
+     * @param console the console
      */
     public static void pasteClipboard(Console console) {
         ScilabConsoleBridge.pasteClipboard(console);
@@ -1317,7 +1295,7 @@ public class ScilabBridge {
 
     /**
      * Cut selected text in the Console input line
-     * @param console the console 
+     * @param console the console
      */
     public static void cutSelection(Console console) {
         ScilabConsoleBridge.cutSelection(console);
@@ -1380,7 +1358,7 @@ public class ScilabBridge {
     /**
      * Set the maximum number of lines stored in the Output
      * @param console the console
-     * @param nbLines the number of lines 
+     * @param nbLines the number of lines
      */
     public static void setMaxOutputSize(Console console, int nbLines) {
         ScilabConsoleBridge.setMaxOutputSize(console, nbLines);
@@ -1522,7 +1500,7 @@ public class ScilabBridge {
      * Set the background of the Canvas.
      * @param canvas the canvas we want to modify
      * @param red red channel
-     * @param green green channel 
+     * @param green green channel
      * @param blue blue channel
      */
     public static void setBackgroundColor(Canvas canvas, double red, double green, double blue) {
@@ -2203,7 +2181,7 @@ public class ScilabBridge {
 
     /**
      * Gets the enable status of a Menu
-     * @param menu the menu which we want to get the status of 
+     * @param menu the menu which we want to get the status of
      * @return the enable status of the Menu (true if the Menu is enabled, false if not)
      */
     public static boolean isEnabled(Menu menu) {
@@ -4149,7 +4127,7 @@ public class ScilabBridge {
      * @param space the increment value
      */
     public static void setMinorTickSpacing(Slider slider, int space) {
-        ScilabSliderBridge.setMinorTickSpacing(slider, space); 
+        ScilabSliderBridge.setMinorTickSpacing(slider, space);
     }
 
     /**
@@ -4158,7 +4136,7 @@ public class ScilabBridge {
      * @param space the increment value
      */
     public static void setMajorTickSpacing(Slider slider, int space) {
-        ScilabSliderBridge.setMajorTickSpacing(slider, space); 
+        ScilabSliderBridge.setMajorTickSpacing(slider, space);
     }
 
     /**
@@ -4167,7 +4145,7 @@ public class ScilabBridge {
      * @param value the minimum value
      */
     public static void setMinimumValue(Slider slider, int value) {
-        ScilabSliderBridge.setMinimumValue(slider, value);     
+        ScilabSliderBridge.setMinimumValue(slider, value);
     }
 
     /**
@@ -4176,7 +4154,7 @@ public class ScilabBridge {
      * @param value the maximum value
      */
     public static void setMaximumValue(Slider slider, int value) {
-        ScilabSliderBridge.setMaximumValue(slider, value);     
+        ScilabSliderBridge.setMaximumValue(slider, value);
     }
 
     /**
@@ -4185,7 +4163,7 @@ public class ScilabBridge {
      * @return the current value of the Slider
      */
     public static int getValue(Slider slider) {
-        return ScilabSliderBridge.getValue(slider);    
+        return ScilabSliderBridge.getValue(slider);
     }
 
     /**
@@ -4194,7 +4172,7 @@ public class ScilabBridge {
      * @param value the new value
      */
     public static void setUserValue(Slider slider, int value) {
-        ScilabSliderBridge.setUserValue(slider, value);        
+        ScilabSliderBridge.setUserValue(slider, value);
     }
 
     /**
@@ -4876,7 +4854,7 @@ public class ScilabBridge {
     }
 
     /**
-     * Display this chooser and wait for user selection 
+     * Display this chooser and wait for user selection
      * @param fileChooser the file chooser we want to display
      */
     public static void displayAndWait(FileChooser fileChooser) {
@@ -4894,7 +4872,7 @@ public class ScilabBridge {
 
     /**
      * Get the names of selected files
-     * @param fileChooser the file chooser we want to get the selection of 
+     * @param fileChooser the file chooser we want to get the selection of
      * @return the names of selected files
      */
     public static String[] getSelection(FileChooser fileChooser) {
@@ -4903,7 +4881,7 @@ public class ScilabBridge {
 
     /**
      * Get the names of selected files
-     * @param fileChooser the file chooser we want to get the selection of 
+     * @param fileChooser the file chooser we want to get the selection of
      * @return the names of selected files
      */
     public static String[] getSelectionFileNames(FileChooser fileChooser) {
@@ -4912,24 +4890,24 @@ public class ScilabBridge {
 
     /**
      * Set the flag indicating that we want only select directories
-     * @param fileChooser the file chooser we want to set the flag of 
+     * @param fileChooser the file chooser we want to set the flag of
      */
     public static void setDirectorySelectionOnly(FileChooser fileChooser) {
         ScilabFileChooserBridge.setDirectorySelectionOnly(fileChooser);
     }
 
     /**
-     * We customize the file chooser for the graphic export 
+     * We customize the file chooser for the graphic export
      * by adding format selection
      */
     public static void exportCustomFileChooser() {
         ScilabFileChooserBridge.createFileChooser();
-    }  
+    }
 
     /**
      * Enable the multiple selection
-     * @param fileChooser the file chooser we want to get the  muliple selection 
-     * @param multipleSelection boolean for the multiple selection 
+     * @param fileChooser the file chooser we want to get the  muliple selection
+     * @param multipleSelection boolean for the multiple selection
      */
     public static void setMultipleSelection(FileChooser fileChooser, boolean multipleSelection) {
         ScilabFileChooserBridge.setMultipleSelection(fileChooser, multipleSelection);
@@ -4937,7 +4915,7 @@ public class ScilabBridge {
 
     /**
      * Get the path name of selected files
-     * @param fileChooser the file chooser we want to get the path of selectd files 
+     * @param fileChooser the file chooser we want to get the path of selectd files
      * @return the path of selected files
      */
     public static String getSelectionPathName(FileChooser fileChooser) {
@@ -5002,7 +4980,7 @@ public class ScilabBridge {
     }
 
     /**
-     * Display this MessageBox and wait for user selection 
+     * Display this MessageBox and wait for user selection
      * @param messageBox the MessageBox we want to display
      */
     public static void displayAndWait(MessageBox messageBox) {
@@ -5261,8 +5239,8 @@ public class ScilabBridge {
         return ScilabFontChooserBridge.createFontChooser(font);
     }
 
-    /** 
-     * Retrieve the selected font, or null 
+    /**
+     * Retrieve the selected font, or null
      * @param fontChooser the FontChooser
      * @return the selected font
      */
@@ -5270,8 +5248,8 @@ public class ScilabBridge {
         return ScilabFontChooserBridge.getSelectedFont(fontChooser);
     }
 
-    /** 
-     * Set the default font name 
+    /**
+     * Set the default font name
      * @param fontChooser the FontChooser
      * @param fontName the default font name
      */
@@ -5279,8 +5257,8 @@ public class ScilabBridge {
         ScilabFontChooserBridge.setDefaultFontName(fontChooser, fontName);
     }
 
-    /** 
-     * Set the default font size 
+    /**
+     * Set the default font size
      * @param fontChooser the FontChooser
      * @param fontSize the default font size
      */
@@ -5288,8 +5266,8 @@ public class ScilabBridge {
         ScilabFontChooserBridge.setDefaultFontSize(fontChooser, fontSize);
     }
 
-    /** 
-     * Set the default font bold attribute 
+    /**
+     * Set the default font bold attribute
      * @param fontChooser the FontChooser
      * @param bold the default font bold attribute
      */
@@ -5297,8 +5275,8 @@ public class ScilabBridge {
         ScilabFontChooserBridge.setDefaultBold(fontChooser, bold);
     }
 
-    /** 
-     * Set the default font italic attribute 
+    /**
+     * Set the default font italic attribute
      * @param fontChooser the FontChooser
      * @param italic the default font italic attribute
      */
@@ -5327,8 +5305,8 @@ public class ScilabBridge {
         return ScilabColorChooserBridge.createColorChooser(color);
     }
 
-    /** 
-     * Set the title of the ColorChooser 
+    /**
+     * Set the title of the ColorChooser
      * @param colorChooser the ColorChooser
      * @param title the title to set
      */
@@ -5336,8 +5314,8 @@ public class ScilabBridge {
         ScilabColorChooserBridge.setTitle(colorChooser, title);
     }
 
-    /** 
-     * Retrieve the selected color, or null 
+    /**
+     * Retrieve the selected color, or null
      * @param colorChooser the ColorChooser
      * @return the selected color
      */
@@ -5345,8 +5323,8 @@ public class ScilabBridge {
         return ScilabColorChooserBridge.getSelectedColor(colorChooser);
     }
 
-    /** 
-     * Set the default color 
+    /**
+     * Set the default color
      * @param colorChooser the ColorChooser
      * @param color the default color
      */
@@ -5409,256 +5387,6 @@ public class ScilabBridge {
         ScilabConsoleBridge.evaluateSelectionWithNoEcho(console);
     }
 
-    /************************/
-    /* ImageRenderer Bridge */
-    /************************/
-
-    /**
-     * Creates a new ImageRenderer
-     * @return the created ImageRenderer
-     */
-    public static SimpleImageRenderer createImageRenderer() {
-        return ScilabImageRendererBridge.createImageRenderer();
-    }
-
-    /**
-     * Sets the Text of a ImageRenderer
-     * @param imageRenderer the ImageRenderer we want to set the Text of
-     * @param newText the Text to set for the ImageRenderer
-     */
-    public static void setText(ImageRenderer imageRenderer, String newText) {
-        ScilabImageRendererBridge.setText(imageRenderer, newText);
-    }
-
-    /**
-     * Gets the text of an ImageRenderer
-     * @param imageRenderer the ImageRenderer we want to get the text of
-     * @return the text of the ImageRenderer
-     */
-    public static String getText(ImageRenderer imageRenderer) {
-        return ScilabImageRendererBridge.getText(imageRenderer);
-    }
-
-    /**
-     * Draws a Scilab ImageRenderer
-     * @param imageRenderer the ImageRenderer to draw
-     * @see org.scilab.modules.ihm.UIElement#draw()
-     */
-    public static void draw(ImageRenderer imageRenderer) {
-        ScilabImageRendererBridge.draw(imageRenderer);
-    }
-
-    /**
-     * Gets the dimensions (width and height) of a Scilab ImageRenderer
-     * @param imageRenderer the ImageRenderer we want to get the dimensions of
-     * @return the size of the imageRenderer
-     * @see org.scilab.modules.ihm.UIElement#getDims()
-     */
-    public static Size getDims(ImageRenderer imageRenderer) {
-        return ScilabImageRendererBridge.getDims(imageRenderer);
-    }
-
-    /**
-     * Gets the position (X-coordinate and Y-coordinate) of a Scilab imageRenderer
-     * @param imageRenderer the imageRenderer we want to get the position of
-     * @return the position of the imageRenderer
-     * @see org.scilab.modules.ihm.UIElement#getPosition()
-     */
-    public static Position getPosition(ImageRenderer imageRenderer) {
-        return ScilabImageRendererBridge.getPosition(imageRenderer);
-    }
-
-    /**
-     * Gets the visibility status of a Scilab ImageRenderer
-     * @param imageRenderer the imageRenderer we want to get the visiblity status of
-     * @return the visibility status of the imageRenderer (true if the imageRenderer is visible, false if not)
-     * @see org.scilab.modules.ihm.UIElement#isVisible()
-     */
-    public static boolean isVisible(ImageRenderer imageRenderer) {
-        return ScilabImageRendererBridge.isVisible(imageRenderer);
-    }
-
-    /**
-     * Sets the dimensions (width and height) of a Scilab ImageRenderer
-     * @param imageRenderer the imageRenderer we want to set the dimensions of
-     * @param newSize the size we want to set to the imageRenderer
-     * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
-     */
-    public static void setDims(ImageRenderer imageRenderer, Size newSize) {
-        ScilabImageRendererBridge.setDims(imageRenderer, newSize);
-    }
-
-    /**
-     * Sets the position (X-coordinate and Y-coordinate) of a Scilab imageRenderer
-     * @param imageRenderer the imageRenderer we want to set the position of
-     * @param newPosition the position we want to set to the imageRenderer
-     * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
-     */
-    public static void setPosition(ImageRenderer imageRenderer, Position newPosition) {
-        ScilabImageRendererBridge.setPosition(imageRenderer, newPosition);
-    }
-
-    /**
-     * Sets the visibility status of a Scilab ImageRenderer
-     * @param imageRenderer the imageRenderer we want to set the visiblity status of
-     * @param newVisibleState the visibility status we want to set to the imageRenderer (true to set the imageRenderer visible, false else)
-     * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-     */
-    public static void setVisible(ImageRenderer imageRenderer, boolean newVisibleState) {
-        ScilabImageRendererBridge.setVisible(imageRenderer, newVisibleState);
-    }
-
-    /**
-     * Set the Background color of the ImageRenderer
-     * @param imageRenderer the ImageRenderer we want to set the background of
-     * @param color the Color
-     */
-    public static void setBackground(ImageRenderer imageRenderer, Color color) {
-        ScilabImageRendererBridge.setBackground(imageRenderer, color);
-    }
-
-    /**
-     * Get the Background color of the ImageRenderer
-     * @param imageRenderer the ImageRenderer we want to get the background of
-     * @return the Color
-     */
-    public static Color getBackground(ImageRenderer imageRenderer) {
-        return ScilabImageRendererBridge.getBackground(imageRenderer);
-    }
-
-    /**
-     * Set the Foreground color of the ImageRenderer
-     * @param imageRenderer the ImageRenderer we want to set the foreground of
-     * @param color the Color
-     */
-    public static void setForeground(ImageRenderer imageRenderer, Color color) {
-        ScilabImageRendererBridge.setForeground(imageRenderer, color);
-    }
-
-    /**
-     * Get the Foreground color of the ImageRenderer
-     * @param imageRenderer the ImageRenderer we want to get the foreground of
-     * @return the Color
-     */
-    public static Color getForeground(ImageRenderer imageRenderer) {
-        return ScilabImageRendererBridge.getForeground(imageRenderer);
-    }
-
-    /**
-     * Set the font of the ImageRenderer.
-     * @param imageRenderer the ImageRenderer we want to set the font of
-     * @param font the font
-     */
-    public static void setFont(ImageRenderer imageRenderer, Font font) {
-        ScilabImageRendererBridge.setFont(imageRenderer, font);
-    }
-
-    /**
-     * Get the font of the ImageRenderer.
-     * @param imageRenderer the ImageRenderer we want to get the font of
-     * @return the font
-     */
-    public static Font getFont(ImageRenderer imageRenderer) {
-        return ScilabImageRendererBridge.getFont(imageRenderer);
-    }
-
-    /**
-     * Set if the ImageRenderer is enabled or not
-     * @param imageRenderer the ImageRenderer we want to set the status of
-     * @param status true if the ImageRenderer is enabled
-     */
-    public static void setEnabled(ImageRenderer imageRenderer, boolean status) {
-        ScilabImageRendererBridge.setEnabled(imageRenderer, status);
-    }
-
-    /**
-     * Gets the enable status of a ImageRenderer
-     * @param imageRenderer the ImageRenderer we want to get the status of
-     * @return the enable status of the ImageRenderer (true if the ImageRenderer is enabled, false if not)
-     */
-    public static boolean isEnabled(ImageRenderer imageRenderer) {
-        return ScilabImageRendererBridge.isEnabled(imageRenderer);
-    }
-
-    /**
-     * Add a callback to the ImageRenderer
-     * @param imageRenderer the ImageRenderer we want to set the callback of
-     * @param callback the Callback to set.
-     */
-    public static void setCallback(ImageRenderer imageRenderer, CommonCallBack callback) {
-        ScilabImageRendererBridge.setCallback(imageRenderer, callback);
-    }
-
-    /**
-     * Set the horizontal alignment for the ImageRenderer text
-     * @param imageRenderer the ImageRenderer we want to set the alignment of
-     * @param alignment the value for the alignment (See ScilabAlignment.java)
-     */
-    public static void setHorizontalAlignment(ImageRenderer imageRenderer, String alignment) {
-        ScilabImageRendererBridge.setHorizontalAlignment(imageRenderer, alignment);
-    }
-
-    /**
-     * Set the vertical alignment for the ImageRenderer text
-     * @param imageRenderer the ImageRenderer we want to set the alignment of
-     * @param alignment the value for the alignment (See ScilabAlignment.java)
-     */
-    public static void setVerticalAlignment(ImageRenderer imageRenderer, String alignment) {
-        ScilabImageRendererBridge.setVerticalAlignment(imageRenderer, alignment);
-    }
-
-    /**
-     * Set the Relief of the ImageRenderer
-     * @param imageRenderer the ImageRenderer which we want to set the Relief of
-     * @param reliefType the type of the relief to set (See ScilabRelief.java)
-     */
-    public static void setRelief(ImageRenderer imageRenderer, String reliefType) {
-        ScilabImageRendererBridge.setRelief(imageRenderer, reliefType);
-    }
-
-    /**
-     * Delete the ImageRenderer
-     * @param imageRenderer the ImageRenderer to be destroyed
-     */
-    public static void destroy(ImageRenderer imageRenderer) {
-        ScilabImageRendererBridge.destroy(imageRenderer);
-    }
-
-    /**
-     * Give the focus to the ImageRenderer
-     * @param imageRenderer the ImageRenderer
-     */
-    public static void requestFocus(ImageRenderer imageRenderer) {
-        ScilabImageRendererBridge.requestFocus(imageRenderer);
-    }
-
-    /**
-     * Rotates an image
-     * @param imageRenderer the ImageRenderer we want to rotate
-     * @param indices the double value that contains an angle to rotate
-     */
-    public static void setRotate(ImageRenderer imageRenderer, double[] indices) {
-        ScilabImageRendererBridge.setRotate(imageRenderer, indices);
-    }
-
-    /**
-     * Shears an image by x, y values
-     * @param imageRenderer the ImageRenderer we want to shear
-     * @param indices the double array that contains x, y values to shear
-     */
-    public static void setShear(ImageRenderer imageRenderer, double[] indices) {
-        ScilabImageRendererBridge.setShear(imageRenderer, indices);
-    }
-
-    /**
-     * Scaless an image by x, y values
-     * @param imageRenderer the ImageRenderer we want to scale
-     * @param indices the double array that contains x, y values to scale
-     */
-    public static void setScale(ImageRenderer imageRenderer, double[] indices) {
-        ScilabImageRendererBridge.setScale(imageRenderer, indices);
-    }
-
     /**********************/
     /* UiTable Bridge */
     /**********************/
index ff94151..eb210e0 100644 (file)
@@ -67,7 +67,6 @@ import org.scilab.modules.gui.bridge.console.SwingScilabConsole;
 import org.scilab.modules.gui.bridge.editbox.SwingScilabEditBox;
 import org.scilab.modules.gui.bridge.frame.SwingScilabFrame;
 import org.scilab.modules.gui.bridge.helpbrowser.SwingScilabHelpBrowser;
-import org.scilab.modules.gui.bridge.imagerenderer.SwingScilabImageRenderer;
 import org.scilab.modules.gui.bridge.label.SwingScilabLabel;
 import org.scilab.modules.gui.bridge.listbox.SwingScilabListBox;
 import org.scilab.modules.gui.bridge.popupmenu.SwingScilabPopupMenu;
@@ -76,6 +75,7 @@ import org.scilab.modules.gui.bridge.radiobutton.SwingScilabRadioButton;
 import org.scilab.modules.gui.bridge.slider.SwingScilabSlider;
 import org.scilab.modules.gui.bridge.tree.SwingScilabTree;
 import org.scilab.modules.gui.bridge.uidisplaytree.SwingScilabUiDisplayTree;
+import org.scilab.modules.gui.bridge.uiimage.SwingScilabUiImage;
 import org.scilab.modules.gui.bridge.uitable.SwingScilabUiTable;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.canvas.Canvas;
@@ -87,7 +87,6 @@ import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.events.callback.ScilabCloseCallBack;
 import org.scilab.modules.gui.frame.Frame;
 import org.scilab.modules.gui.helpbrowser.HelpBrowser;
-import org.scilab.modules.gui.imagerenderer.ImageRenderer;
 import org.scilab.modules.gui.label.Label;
 import org.scilab.modules.gui.listbox.ListBox;
 import org.scilab.modules.gui.menubar.MenuBar;
@@ -833,32 +832,15 @@ public class SwingScilabTab extends View implements SwingViewObject, SimpleTab,
      * @param member the member to add
      * @return index of member in ArrayList
      */
-    public int addMember(ImageRenderer member) {
-        return this.addMember((SwingScilabImageRenderer) member.getAsSimpleImageRenderer());
-    }
-
-    /**
-     * Add a member (dockable element) to container and returns its index
-     * @param member the member to add
-     * @return index of member in ArrayList
-     */
-    private int addMember(SwingScilabImageRenderer member) {
+    private int addMember(SwingScilabUiImage member) {
         return contentPane.addWidget(member);
     }
 
     /**
-     * Remove a ImageRenderer from its container
-     * @param member the ImageRenderer to remove
-     */
-    public void removeMember(ImageRenderer member) {
-        this.removeMember((SwingScilabImageRenderer) member.getAsSimpleImageRenderer());
-    }
-
-    /**
-     * Remove a ImageRenderer from its container
-     * @param member the ImageRenderer to remove
+     * Remove a Image from its container
+     * @param member the Image to remove
      */
-    private void removeMember(SwingScilabImageRenderer member) {
+    private void removeMember(SwingScilabUiImage member) {
         contentPane.removeWidget(member);
     }
 
@@ -1434,12 +1416,12 @@ public class SwingScilabTab extends View implements SwingViewObject, SimpleTab,
 
             /* Update callback */
             String closingCommand =
-                    "if (get_figure_handle(" + figureId + ") <> []) then"
-                            +      "  if (get(get_figure_handle(" + figureId + "), 'event_handler_enable') == 'on') then"
-                            +      "    execstr(get(get_figure_handle(" + figureId + "), 'event_handler')+'(" + figureId + ", -1, -1, -1000)', 'errcatch', 'm');"
-                            +      "  end;"
-                            +      "  delete(get_figure_handle(" + figureId + "));"
-                            +      "end;";
+                "if (get_figure_handle(" + figureId + ") <> []) then"
+                +      "  if (get(get_figure_handle(" + figureId + "), 'event_handler_enable') == 'on') then"
+                +      "    execstr(get(get_figure_handle(" + figureId + "), 'event_handler')+'(" + figureId + ", -1, -1, -1000)', 'errcatch', 'm');"
+                +      "  end;"
+                +      "  delete(get_figure_handle(" + figureId + "));"
+                +      "end;";
             setCallback(null);
             setCallback(ScilabCloseCallBack.create(getId(), closingCommand));
             /* Update menus callbacks */
@@ -1462,7 +1444,7 @@ public class SwingScilabTab extends View implements SwingViewObject, SimpleTab,
                 int deltaY = axesSize[1] - (int) oldAxesSize.getHeight();
                 Size parentWindowSize = SwingScilabWindow.allScilabWindows.get(parentWindowId).getDims();
                 SwingScilabWindow.allScilabWindows.get(parentWindowId).setDims(
-                        new Size(parentWindowSize.getWidth() + deltaX, parentWindowSize.getHeight() + deltaY));
+                    new Size(parentWindowSize.getWidth() + deltaX, parentWindowSize.getHeight() + deltaY));
             }
         } else if (property.equals(__GO_INFO_MESSAGE__)) {
             getInfoBar().setText((String) value);
@@ -10,7 +10,7 @@
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
-package org.scilab.modules.gui.bridge.imagerenderer;
+package org.scilab.modules.gui.bridge.uiimage;
 
 import java.awt.Graphics2D;
 import java.awt.Image;
@@ -23,10 +23,10 @@ import org.scilab.forge.scirenderer.shapes.appearance.Color;
 import org.scilab.modules.gui.SwingViewObject;
 import org.scilab.modules.gui.SwingViewWidget;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
-import org.scilab.modules.gui.imagerenderer.SimpleImageRenderer;
 import org.scilab.modules.gui.menubar.MenuBar;
 import org.scilab.modules.gui.textbox.TextBox;
 import org.scilab.modules.gui.toolbar.ToolBar;
+import org.scilab.modules.gui.uiimage.SimpleUiImage;
 import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.PositionConverter;
 import org.scilab.modules.gui.utils.ScilabAlignment;
@@ -35,11 +35,11 @@ import org.scilab.modules.gui.utils.ScilabSwingUtilities;
 import org.scilab.modules.gui.utils.Size;
 
 /**
- * Swing implementation for Scilab ImageRenderer in GUIs
+ * Swing implementation for Scilab Image in GUIs
  * @author Han DONG
  * @author Vincent COUVERT
  */
-public class SwingScilabImageRenderer extends JLabel implements SwingViewObject, SimpleImageRenderer {
+public class SwingScilabUiImage extends JLabel implements SwingViewObject, SimpleUiImage {
 
     private static final long serialVersionUID = -3394912554085956130L;
 
@@ -58,7 +58,7 @@ public class SwingScilabImageRenderer extends JLabel implements SwingViewObject,
     /**
      * Constructor
      */
-    public SwingScilabImageRenderer() {
+    public SwingScilabUiImage() {
         super();
         setOpaque(true);
         setBackground(Color.WHITE);
@@ -68,7 +68,7 @@ public class SwingScilabImageRenderer extends JLabel implements SwingViewObject,
 
 
     /**
-     * Draws a swing Scilab PushButton
+     * Draws a swing Scilab Image
      * @see org.scilab.modules.gui.uielement.UIElement#draw()
      */
     public void draw() {
@@ -114,7 +114,7 @@ public class SwingScilabImageRenderer extends JLabel implements SwingViewObject,
     }
 
     /**
-     * Add a callback to the ImageRenderer
+     * Add a callback to the Image
      * @param callback the callback to set.
      */
     public void setCallback(CommonCallBack callback) {
@@ -123,42 +123,42 @@ public class SwingScilabImageRenderer extends JLabel implements SwingViewObject,
 
     /**
      * Setter for MenuBar
-     * @param menuBarToAdd the MenuBar associated to the ImageRenderer.
+     * @param menuBarToAdd the MenuBar associated to the Image.
      */
     public void addMenuBar(MenuBar menuBarToAdd) {
-        /* Unimplemented for ImageRenderers */
+        /* Unimplemented for Image */
         throw new UnsupportedOperationException();
     }
 
     /**
      * Setter for ToolBar
-     * @param toolBarToAdd the ToolBar associated to the ImageRenderer.
+     * @param toolBarToAdd the ToolBar associated to the Image.
      */
     public void addToolBar(ToolBar toolBarToAdd) {
-        /* Unimplemented for ImageRenderers */
+        /* Unimplemented for Image */
         throw new UnsupportedOperationException();
     }
 
     /**
      * Getter for MenuBar
-     * @return MenuBar: the MenuBar associated to the ImageRenderer.
+     * @return MenuBar: the MenuBar associated to the Image.
      */
     public MenuBar getMenuBar() {
-        /* Unimplemented for ImageRenderers */
+        /* Unimplemented for Image */
         throw new UnsupportedOperationException();
     }
 
     /**
      * Getter for ToolBar
-     * @return ToolBar: the ToolBar associated to the ImageRenderer.
+     * @return ToolBar: the ToolBar associated to the Image.
      */
     public ToolBar getToolBar() {
-        /* Unimplemented for ImageRenderers */
+        /* Unimplemented for Image */
         throw new UnsupportedOperationException();
     }
 
     /**
-     * Set the horizontal alignment for the ImageRenderer text
+     * Set the horizontal alignment for the Image text
      * @param alignment the value for the alignment (See ScilabAlignment.java)
      */
     public void setHorizontalAlignment(String alignment) {
@@ -166,7 +166,7 @@ public class SwingScilabImageRenderer extends JLabel implements SwingViewObject,
     }
 
     /**
-     * Set the vertical alignment for the ImageRenderer text
+     * Set the vertical alignment for the Image text
      * @param alignment the value for the alignment (See ScilabAlignment.java)
      */
     public void setVerticalAlignment(String alignment) {
@@ -174,7 +174,7 @@ public class SwingScilabImageRenderer extends JLabel implements SwingViewObject,
     }
 
     /**
-     * Set the Relief of the ImageRenderer
+     * Set the Relief of the Image
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
@@ -182,7 +182,7 @@ public class SwingScilabImageRenderer extends JLabel implements SwingViewObject,
     }
 
     /**
-     * Destroy the ImageRenderer
+     * Destroy the Image
      */
     public void destroy() {
         ScilabSwingUtilities.removeFromParent(this);
@@ -190,24 +190,24 @@ public class SwingScilabImageRenderer extends JLabel implements SwingViewObject,
 
     /**
      * Setter for InfoBar
-     * @param infoBarToAdd the InfoBar associated to the ImageRenderer.
+     * @param infoBarToAdd the InfoBar associated to the Image.
      */
     public void addInfoBar(TextBox infoBarToAdd) {
-        /* Unimplemented for ImageRenderers */
+        /* Unimplemented for Image */
         throw new UnsupportedOperationException();
     }
 
     /**
      * Getter for InfoBar
-     * @return the InfoBar associated to the ImageRenderer.
+     * @return the InfoBar associated to the Image.
      */
     public TextBox getInfoBar() {
-        /* Unimplemented for ImageRenderers */
+        /* Unimplemented for Image */
         throw new UnsupportedOperationException();
     }
 
     /**
-     * gets directory of image in image render
+     * gets directory of image
      * @return the directory string
      * @see org.scilab.modules.gui.text.SimpleText#getText()
      */
@@ -216,7 +216,7 @@ public class SwingScilabImageRenderer extends JLabel implements SwingViewObject,
     }
 
     /**
-     * Sets the directory for image to render
+     * Sets the directory for image
      * @param newText the new directory to image
      */
     public void setText(String newText) {
@@ -253,6 +253,9 @@ public class SwingScilabImageRenderer extends JLabel implements SwingViewObject,
         updateImage();
     }
 
+    /**
+     * Updathe the image with new values
+     */
     private void updateImage() {
         if (img != null && img.getHeight(this) >= 0 && img.getWidth(this) >= 0) {
             imageWidth = (int) Math.ceil(img.getWidth(this) * scale[0]);
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/imagerenderer/ImageRenderer.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/imagerenderer/ImageRenderer.java
deleted file mode 100644 (file)
index 320896a..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2010 - Han DONG
- * 
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at    
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-package org.scilab.modules.gui.imagerenderer;
-
-import org.scilab.modules.gui.text.Text;
-
-/**
- * Interface for ImageRenderer associated to objects in Scilab GUIs
- * @author Han DONG
- */
-public interface ImageRenderer extends Text {
-       
-       /**
-        * Gets this Bridge component object
-        * @return this Bridge component object
-        */
-       SimpleImageRenderer getAsSimpleImageRenderer();
-       /**
-        * Rotates an image
-        * @param indices the double value for the angle to rotate
-        */
-       void setRotate(double[] indices);
-
-       /**
-        * Shears an image
-        * @param indices the double array with x, y values to shear
-        */
-       void setShear(double[] indices);
-
-       /**
-        * Scaless an image
-        * @param indices the double array with x, y values to scale
-        */
-       void setScale(double[] indices);
-}
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/imagerenderer/ScilabImageRenderer.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/imagerenderer/ScilabImageRenderer.java
deleted file mode 100644 (file)
index d8fd404..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2010 - Han DONG
- * 
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at    
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-package org.scilab.modules.gui.imagerenderer;
-
-import java.awt.Color;
-import java.awt.Font;
-
-import org.scilab.modules.gui.bridge.ScilabBridge;
-import org.scilab.modules.gui.events.callback.CommonCallBack;
-import org.scilab.modules.gui.utils.Position;
-import org.scilab.modules.gui.utils.Size;
-import org.scilab.modules.gui.widget.ScilabWidget;
-
-/**
- * Swing implementation for Scilab ImageRenderer in GUIs
- * @author Han DONG
- */
-public class ScilabImageRenderer extends ScilabWidget implements ImageRenderer {
-
-       private SimpleImageRenderer component;
-       
-       /**
-        * Constructor
-        */
-       protected ScilabImageRenderer() {
-               component = ScilabBridge.createImageRenderer();
-       }
-
-       /**
-        * Creates a Scilab ImageRenderer object
-        * @return the created ImageRenderer
-        */
-       public static ImageRenderer createImageRenderer() {
-               return new ScilabImageRenderer();
-       }
-       
-       /**
-        * Gets this Bridge component object
-        * @return this Bridge component object
-        */
-       public SimpleImageRenderer getAsSimpleImageRenderer() {
-               return component;
-       }
-       
-       /**
-        * Sets the text of a ImageRenderer
-        * @param newText the text to set to the ImageRenderer
-        */
-       public void setText(String newText) {
-               ScilabBridge.setText(this, newText);
-       }
-       
-       /**
-        * Gets the text of a ImageRenderer
-        * @return text of the ImageRenderer
-        */
-       public String getText() {
-               return ScilabBridge.getText(this);
-       }
-       
-       /**
-        * Draws a ImageRenderer
-        */
-       public void draw() {
-               ScilabBridge.draw(this);
-       }
-       
-       /**
-        * Sets the dimensions (width and height) of a swing Scilab element
-        * @param newSize the dimensions to set to the element
-        * @see org.scilab.modules.gui.uielement.UIElement#setDims(org.scilab.modules.gui.utils.Size)
-        */
-       public void setDims(Size newSize) {
-               ScilabBridge.setDims(this, newSize); 
-       }
-       
-       /**
-        * Gets the dimensions (width and height) of a swing Scilab element
-        * @return the dimensions (width and height) of the element
-        * @see org.scilab.modules.gui.uielement.UIElement#getDims(org.scilab.modules.gui.utils.Size)
-        */
-       public Size getDims() {
-               return ScilabBridge.getDims(this);
-       }
-       
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a Scilab element
-        * @return the position of the element
-        * @see org.scilab.modules.gui.uielement.UIElement#getPosition()
-        */
-       public Position getPosition() {
-               return ScilabBridge.getPosition(this);
-       }
-
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a Scilab element
-        * @param newPosition the position we want to set to the element
-        * @see org.scilab.modules.gui.uielement.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
-        */
-       public void setPosition(Position newPosition) {
-               ScilabBridge.setPosition(this, newPosition);
-       }
-
-       /**
-        * Gets the visibility status of an UIElement
-        * @return the visibility status of the UIElement (true if the UIElement is visible, false if not)
-        */
-       public boolean isVisible() {
-               return ScilabBridge.isVisible(this);
-       }
-       
-       /**
-        * Sets the visibility status of a Menu
-        * @param newVisibleState the visibility status we want to set for the UIElement
-        *                      (true if the UIElement is visible, false if not)
-        */
-       public void setVisible(boolean newVisibleState) {
-               ScilabBridge.setVisible(this, newVisibleState);
-       }
-
-       /**
-        * To get the Background color of the element.
-        * @return color the Color
-        */
-       public Color getBackground() {
-               return ScilabBridge.getBackground(this);
-       }
-
-       /**
-        * To get the Font of the element.
-        * @return font the Font
-        */
-       public Font getFont() {
-               return ScilabBridge.getFont(this);
-       }
-
-       /**
-        * To get the Foreground color of the element.
-        * @return color the Color
-        */
-       public Color getForeground() {
-               return ScilabBridge.getForeground(this);
-       }
-
-       /**
-        * To set the Background color of the element.
-        * @param color the Color
-        */
-       public void setBackground(Color color) {
-               ScilabBridge.setBackground(this, color);
-       }
-
-       /**
-        * To set the Font of the element.
-        * @param font the Font
-        */
-       public void setFont(Font font) {
-               ScilabBridge.setFont(this, font);
-       }
-
-       /**
-        * To set the Foreground color of the element.
-        * @param color the Color
-        */
-       public void setForeground(Color color) {
-               ScilabBridge.setForeground(this, color);
-       }
-       
-       /**
-        * Add a callback to the ImageRenderer
-        * @param callback the CallBack to set.
-        */
-       public void setCallback(CommonCallBack callback) {
-               ScilabBridge.setCallback(this, callback);
-       }
-       
-       /**
-        * Set if the ImageRenderer is enabled or not
-        * @param status true if the ImageRenderer is enabled
-        */
-       public void setEnabled(boolean status) {
-               ScilabBridge.setEnabled(this, status);
-       }
-
-       /**
-        * Gets the enable status of a ImageRenderer
-        * @return the enable status of the ImageRenderer (true if the ImageRenderer is enabled, false if not)
-        */
-       public boolean isEnabled() {
-               return ScilabBridge.isEnabled(this);
-       }
-
-       /**
-        * Set the horizontal alignment for the ImageRenderer text
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public void setHorizontalAlignment(String alignment) {
-               ScilabBridge.setHorizontalAlignment(this, alignment);
-       }
-
-       /**
-        * Set the vertical alignment for the ImageRenderer text
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public void setVerticalAlignment(String alignment) {
-               ScilabBridge.setVerticalAlignment(this, alignment);
-       }
-       
-       /**
-        * Set the Relief of the ImageRenderer
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public void setRelief(String reliefType) {
-               ScilabBridge.setRelief(this, reliefType);
-       }
-
-       /**
-        * Delete the ImageRenderer
-        */
-       public void destroy() {
-               ScilabBridge.destroy(this);
-       }
-       
-       /**
-        * Give the focus to the ImageRenderer
-        */
-       public void requestFocus() {
-               ScilabBridge.requestFocus(this);
-       }
-
-       /**
-        * Rotates an image
-        * @param indices the double value for the angle to rotate
-        */
-       public void setRotate(double[] indices) {
-               ScilabBridge.setRotate(this, indices);
-       }
-
-       /**
-        * Shears an image
-        * @param indices the double array with x, y values to shear
-        */
-       public void setShear(double[] indices) {
-               ScilabBridge.setShear(this, indices);
-       }
-
-       /**
-        * Scaless an image
-        * @param indices the double array with x, y values to scale
-        */
-       public void setScale(double[] indices) {
-               ScilabBridge.setScale(this, indices);
-       }
-}
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/imagerenderer/ScilabImageRendererBridge.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/imagerenderer/ScilabImageRendererBridge.java
deleted file mode 100644 (file)
index af4a9d3..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2010 - Han DONG
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-package org.scilab.modules.gui.imagerenderer;
-
-import java.awt.Color;
-import java.awt.Font;
-
-import org.scilab.modules.gui.bridge.imagerenderer.SwingScilabImageRenderer;
-import org.scilab.modules.gui.events.callback.CommonCallBack;
-import org.scilab.modules.gui.utils.Position;
-import org.scilab.modules.gui.utils.Size;
-
-/**
- * Bridge for Scilab ImageRenderers in GUIs
- * @author Han DONG
- */
-public class ScilabImageRendererBridge {
-
-    /**
-     * Constructor
-     */
-    protected ScilabImageRendererBridge() {
-        throw new UnsupportedOperationException(); /* Prevents calls from subclass */
-    }
-
-    /**
-     * Creates a Scilab ImageRenderer
-     * @return the created ImageRenderer
-     */
-    public static SimpleImageRenderer createImageRenderer() {
-        return new SwingScilabImageRenderer();
-    }
-
-    /**
-     * Sets the Text of a Scilab ImageRenderer
-     * @param imageRender the ImageRenderer we want to set the Text of
-     * @param newText the Text we want to set to the ImageRenderer
-     */
-    public static void setText(ImageRenderer imageRender, String newText) {
-        imageRender.getAsSimpleImageRenderer().setText(newText);
-    }
-
-    /**
-     * Sets the Text of a Scilab ImageRenderer
-     * @param imageRender the ImageRenderer we want to get the Text of
-     * @return the text of the ImageRenderer
-     */
-    public static String getText(ImageRenderer imageRender) {
-        return imageRender.getAsSimpleImageRenderer().getText();
-    }
-
-    /**
-     * Draws a Scilab imageRender
-     * @param imageRender the imageRender to draw
-     * @see org.scilab.modules.gui.UIElement#draw()
-     */
-    public static void draw(ImageRenderer imageRender) {
-        imageRender.getAsSimpleImageRenderer().draw();
-    }
-
-    /**
-     * Gets the dimensions (width and height) of a Scilab ImageRenderer
-     * @param imageRender the imageRender we want to get the dimensions of
-     * @return the size of the imageRender
-     * @see org.scilab.modules.gui.UIElement#getDims()
-     */
-    public static Size getDims(ImageRenderer imageRender) {
-        return imageRender.getAsSimpleImageRenderer().getDims();
-    }
-
-    /**
-     * Gets the position (X-coordinate and Y-coordinate) of a Scilab imageRender
-     * @param imageRender the imageRender we want to get the position of
-     * @return the position of the imageRender
-     * @see org.scilab.modules.gui.UIElement#getPosition()
-     */
-    public static Position getPosition(ImageRenderer imageRender) {
-        return imageRender.getAsSimpleImageRenderer().getPosition();
-    }
-
-    /**
-     * Gets the visibility status of a Scilab ImageRenderer
-     * @param imageRender the imageRender we want to get the visiblity status of
-     * @return the visibility status of the imageRender (true if the imageRender is visible, false if not)
-     * @see org.scilab.modules.gui.UIElement#isVisible()
-     */
-    public static boolean isVisible(ImageRenderer imageRender) {
-        return imageRender.getAsSimpleImageRenderer().isVisible();
-    }
-
-    /**
-     * Sets the dimensions (width and height) of a Scilab ImageRenderer
-     * @param imageRender the imageRender we want to set the dimensions of
-     * @param newSize the size we want to set to the imageRender
-     * @see org.scilab.modules.gui.UIElement#setDims(org.scilab.modules.gui.utils.Size)
-     */
-    public static void setDims(ImageRenderer imageRender, Size newSize) {
-        imageRender.getAsSimpleImageRenderer().setDims(newSize);
-    }
-
-    /**
-     * Sets the position (X-coordinate and Y-coordinate) of a Scilab imageRender
-     * @param imageRender the imageRender we want to set the position of
-     * @param newPosition the position we want to set to the imageRender
-     * @see org.scilab.modules.gui.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
-     */
-    public static void setPosition(ImageRenderer imageRender, Position newPosition) {
-        imageRender.getAsSimpleImageRenderer().setPosition(newPosition);
-    }
-
-    /**
-     * Sets the visibility status of a Scilab ImageRenderer
-     * @param imageRender the imageRender we want to set the visiblity status of
-     * @param newVisibleState the visibility status we want to set to the imageRender (true to set the imageRender visible, false else)
-     * @see org.scilab.modules.gui.UIElement#setVisible(boolean)
-     */
-    public static void setVisible(ImageRenderer imageRender, boolean newVisibleState) {
-        imageRender.getAsSimpleImageRenderer().setVisible(newVisibleState);
-    }
-
-    /**
-     * Add a callback to the ImageRenderer
-     * @param imageRender the ImageRenderer we want to set the callback of
-     * @param callback the CallBack to set.
-     */
-    public static void setCallback(ImageRenderer imageRender, CommonCallBack callback) {
-        imageRender.getAsSimpleImageRenderer().setCallback(callback);
-    }
-
-    /**
-     * To set the Background color of the ImageRenderer
-     * @param imageRender the ImageRenderer we want to set the background of
-     * @param color the Color
-     */
-    public static void setBackground(ImageRenderer imageRender, Color color) {
-        imageRender.getAsSimpleImageRenderer().setBackground(color);
-    }
-
-    /**
-     * Get the Background color of the ImageRenderer
-     * @param imageRender the ImageRenderer we want to get the background of
-     * @return the Color
-     */
-    public static Color getBackground(ImageRenderer imageRender) {
-        return imageRender.getAsSimpleImageRenderer().getBackground();
-    }
-
-    /**
-     * To set the Foreground color of the imageRender
-     * @param imageRender the ImageRenderer we want to set the foreground of
-     * @param color the Color
-     */
-    public static void setForeground(ImageRenderer imageRender, Color color) {
-        imageRender.getAsSimpleImageRenderer().setForeground(color);
-    }
-
-    /**
-     * Get the Foreground color of the ImageRenderer
-     * @param imageRender the ImageRenderer we want to get the foreground of
-     * @return the Color
-     */
-    public static Color getForeground(ImageRenderer imageRender) {
-        return imageRender.getAsSimpleImageRenderer().getForeground();
-    }
-
-    /**
-     * Set the font of the ImageRenderer.
-     * @param imageRender the ImageRenderer we want to set the font of
-     * @param font the font
-     */
-    public static void setFont(ImageRenderer imageRender, Font font) {
-        imageRender.getAsSimpleImageRenderer().setFont(font);
-    }
-
-    /**
-     * Get the font of the ImageRenderer.
-     * @param imageRender the ImageRenderer we want to get the font of
-     * @return the font
-     */
-    public static Font getFont(ImageRenderer imageRender) {
-        return imageRender.getAsSimpleImageRenderer().getFont();
-    }
-
-    /**
-     * Set if the ImageRenderer is enabled or not
-     * @param imageRender the ImageRenderer we want to set the status of
-     * @param status true if the ImageRenderer is enabled
-     */
-    public static void setEnabled(ImageRenderer imageRender, boolean status) {
-        imageRender.getAsSimpleImageRenderer().setEnabled(status);
-    }
-
-    /**
-     * Gets the enable status of a ImageRenderer
-     * @param imageRender the ImageRenderer we want to get the status of
-     * @return the enable status of the ImageRenderer (true if the ImageRenderer is enabled, false if not)
-     */
-    public static boolean isEnabled(ImageRenderer imageRender) {
-        return imageRender.getAsSimpleImageRenderer().isEnabled();
-    }
-
-    /**
-     * Set the horizontal alignment for the ImageRenderer text
-     * @param imageRender the ImageRenderer we want to set the alignment of
-     * @param alignment the value for the alignment (See ScilabAlignment.java)
-     */
-    public static void setHorizontalAlignment(ImageRenderer imageRender, String alignment) {
-        imageRender.getAsSimpleImageRenderer().setHorizontalAlignment(alignment);
-    }
-
-    /**
-     * Set the vertical alignment for the ImageRenderer text
-     * @param imageRender the ImageRenderer we want to set the alignment of
-     * @param alignment the value for the alignment (See ScilabAlignment.java)
-     */
-    public static void setVerticalAlignment(ImageRenderer imageRender, String alignment) {
-        imageRender.getAsSimpleImageRenderer().setVerticalAlignment(alignment);
-    }
-
-    /**
-     * Set the Relief of the ImageRenderer
-     * @param imageRender the ImageRenderer which we want to set the Relief of
-     * @param reliefType the type of the relief to set (See ScilabRelief.java)
-     */
-    public static void setRelief(ImageRenderer imageRender, String reliefType) {
-        imageRender.getAsSimpleImageRenderer().setRelief(reliefType);
-    }
-
-    /**
-     * Delete the ImageRenderer
-     * @param imageRender the ImageRenderer to be destroyed
-     */
-    public static void destroy(ImageRenderer imageRender) {
-        imageRender.getAsSimpleImageRenderer().destroy();
-    }
-
-    /**
-     * Give the focus to the ImageRenderer
-     * @param imageRender the ImageRenderer
-     */
-    public static void requestFocus(ImageRenderer imageRender) {
-        imageRender.getAsSimpleImageRenderer().requestFocus();
-    }
-
-    /**
-     * Rotates an image
-     * @param indices the double value for the angle to rotate
-     */
-    public static void setRotate(ImageRenderer imageRender, double[] indices) {
-        // Commented out because will be removed
-        //imageRender.getAsSimpleImageRenderer().setRotate(indices);
-    }
-
-    /**
-     * Shears an image
-     * @param indices the double array with x, y values to shear
-     */
-    public static void setShear(ImageRenderer imageRender, double[] indices) {
-        imageRender.getAsSimpleImageRenderer().setShear(indices);
-    }
-
-    /**
-     * Scaless an image
-     * @param indices the double array with x, y values to scale
-     */
-    public static void setScale(ImageRenderer imageRender, double[] indices) {
-        imageRender.getAsSimpleImageRenderer().setScale(indices);
-    }
-}
index 6d7569a..214d03a 100644 (file)
@@ -27,7 +27,6 @@ import org.scilab.modules.gui.menubar.MenuBar;
 import org.scilab.modules.gui.popupmenu.PopupMenu;
 import org.scilab.modules.gui.pushbutton.PushButton;
 import org.scilab.modules.gui.radiobutton.RadioButton;
-import org.scilab.modules.gui.imagerenderer.ImageRenderer;
 import org.scilab.modules.gui.uitable.UiTable;
 import org.scilab.modules.gui.uidisplaytree.UiDisplayTree;
 import org.scilab.modules.gui.slider.Slider;
@@ -302,25 +301,6 @@ public class ScilabTabBridge {
 
     /**
      * Add a member (dockable element) to a tab and returns the index of this member
-     * @param tab the tab which we want to add the ImageRenderer to
-     * @param member the ImageRenderer to add
-     * @return the position of the ImageRenderer in the member list.
-     */
-    public static int addMember(Tab tab, ImageRenderer member) {
-        return (tab.getAsSimpleTab().addMember(member));
-    }
-
-    /**
-     * Remove a ImageRenderer member from a tab
-     * @param tab the tab which we want to remove the ImageRenderer from
-     * @param member the ImageRenderer to add
-     */
-    public static void removeMember(Tab tab, ImageRenderer member) {
-        tab.getAsSimpleTab().removeMember(member);
-    }
-
-    /**
-     * Add a member (dockable element) to a tab and returns the index of this member
      * @param tab the tab which we want to add the UiTable to
      * @param member the UiTable to add
      * @return the position of the UiTable in the member list.
@@ -414,7 +394,7 @@ public class ScilabTabBridge {
     /**
      * We want to be able to remove directly a Canvas from a Tab.
      * @param tab the tab from which we want to remove the Canvas from
-     * @param member canvas to remove 
+     * @param member canvas to remove
      */
     public static void removeMember(Tab tab, Canvas member) {
         tab.getAsSimpleTab().removeMember(member);
index bd50d39..d0d9d07 100644 (file)
@@ -3,7 +3,7 @@
  * Copyright (C) 2007 - INRIA - Bruno JOFRET
 <<<<<<< HEAD
  * Copyright (C) 2011 - DIGITEO - Vincent COUVERT
- * 
+ *
 =======
  *
 >>>>>>> origin/master
@@ -30,7 +30,6 @@ import org.scilab.modules.gui.menubar.MenuBar;
 import org.scilab.modules.gui.popupmenu.PopupMenu;
 import org.scilab.modules.gui.pushbutton.PushButton;
 import org.scilab.modules.gui.radiobutton.RadioButton;
-import org.scilab.modules.gui.imagerenderer.ImageRenderer;
 import org.scilab.modules.gui.uitable.UiTable;
 import org.scilab.modules.gui.uidisplaytree.UiDisplayTree;
 import org.scilab.modules.gui.slider.Slider;
@@ -159,19 +158,6 @@ public interface SimpleTab {
      */
     void removeMember(RadioButton member);
 
-    /**
-     * We want to be able to add directly a ImageRenderer in a Tab.
-     * @param member the ImageRenderer to add
-     * @return the position of the ImageRenderer in the member list.
-     */
-    int addMember(ImageRenderer member);
-
-    /**
-     * Remove a ImageRenderer from a Tab.
-     * @param member the ImageRenderer to remove
-     */
-    void removeMember(ImageRenderer member);
-
     int addMember(UiDisplayTree member);
     void removeMember(UiDisplayTree member);
 
@@ -9,15 +9,15 @@
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  */
-package org.scilab.modules.gui.imagerenderer;
+package org.scilab.modules.gui.uiimage;
 
 import org.scilab.modules.gui.text.SimpleText;
 
 /**
- * Interface for ScilabImageRendererBridge the associated object to Scilab GUIs ImageRender
+ * Interface for ScilabUiImageBridge the associated object to Scilab GUIs Image
  * @author Han DONG
  */
-public interface SimpleImageRenderer extends SimpleText {
+public interface SimpleUiImage extends SimpleText {
     /**
      * Rotates an image
      * @param angle the value for the angle to rotate
index e08d79d..2a233f2 100644 (file)
@@ -123,7 +123,6 @@ jintnewSliderID=NULL;
 jintnewPopupMenuID=NULL;
 jintnewListBoxID=NULL;
 jintnewFrameID=NULL;
-jintnewImageRendererID=NULL;
 jintnewUiTableID=NULL;
 jintnewUiDisplayTreeID=NULL;
 jstringnewContextMenujobjectArray_java_lang_Stringjava_lang_StringID=NULL;
@@ -145,8 +144,6 @@ voidsetCheckBoxParentjintintjintintID=NULL;
 voidremoveCheckBoxFromParentjintintjintintID=NULL;
 voidsetRadioButtonParentjintintjintintID=NULL;
 voidremoveRadioButtonFromParentjintintjintintID=NULL;
-voidsetImageRendererParentjintintjintintID=NULL;
-voidremoveImageRendererFromParentjintintjintintID=NULL;
 voidsetUiTableParentjintintjintintID=NULL;
 voidremoveUiTableFromParentjintintjintintID=NULL;
 voidsetUiDisplayTreeParentjintintjintintID=NULL;
@@ -298,9 +295,6 @@ voidraiseWindowjintintID=NULL;
 voiduseCanvasForDisplayjbooleanbooleanID=NULL;
 jbooleanuseCanvasForDisplayID=NULL;
 voidscilabAboutBoxID=NULL;
-voidsetImageRendererRotatejintintjdoubleArray_doubledoubleID=NULL;
-voidsetImageRendererShearjintintjdoubleArray_doubledoubleID=NULL;
-voidsetImageRendererScalejintintjdoubleArray_doubledoubleID=NULL;
 voidsetUiTableColnamesjintintjstringjava_lang_StringID=NULL;
 voidsetUiTableRownamesjintintjstringjava_lang_StringID=NULL;
 voidsetUiTableDatajintintjstringjava_lang_StringID=NULL;
@@ -340,7 +334,6 @@ jintnewSliderID=NULL;
 jintnewPopupMenuID=NULL;
 jintnewListBoxID=NULL;
 jintnewFrameID=NULL;
-jintnewImageRendererID=NULL;
 jintnewUiTableID=NULL;
 jintnewUiDisplayTreeID=NULL;
 jstringnewContextMenujobjectArray_java_lang_Stringjava_lang_StringID=NULL;
@@ -362,8 +355,6 @@ voidsetCheckBoxParentjintintjintintID=NULL;
 voidremoveCheckBoxFromParentjintintjintintID=NULL;
 voidsetRadioButtonParentjintintjintintID=NULL;
 voidremoveRadioButtonFromParentjintintjintintID=NULL;
-voidsetImageRendererParentjintintjintintID=NULL;
-voidremoveImageRendererFromParentjintintjintintID=NULL;
 voidsetUiTableParentjintintjintintID=NULL;
 voidremoveUiTableFromParentjintintjintintID=NULL;
 voidsetUiDisplayTreeParentjintintjintintID=NULL;
@@ -515,9 +506,6 @@ voidraiseWindowjintintID=NULL;
 voiduseCanvasForDisplayjbooleanbooleanID=NULL;
 jbooleanuseCanvasForDisplayID=NULL;
 voidscilabAboutBoxID=NULL;
-voidsetImageRendererRotatejintintjdoubleArray_doubledoubleID=NULL;
-voidsetImageRendererShearjintintjdoubleArray_doubledoubleID=NULL;
-voidsetImageRendererScalejintintjdoubleArray_doubledoubleID=NULL;
 voidsetUiTableColnamesjintintjstringjava_lang_StringID=NULL;
 voidsetUiTableRownamesjintintjstringjava_lang_StringID=NULL;
 voidsetUiTableDatajintintjstringjava_lang_StringID=NULL;
@@ -809,26 +797,6 @@ return res;
 
 }
 
-int CallScilabBridge::newImageRenderer (JavaVM * jvm_){
-
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
-
-jmethodID jintnewImageRendererID = curEnv->GetStaticMethodID(cls, "newImageRenderer", "()I" ) ;
-if (jintnewImageRendererID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "newImageRenderer");
-}
-
-                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintnewImageRendererID ));
-                        curEnv->DeleteLocalRef(cls);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return res;
-
-}
-
 int CallScilabBridge::newUiTable (JavaVM * jvm_){
 
 JNIEnv * curEnv = NULL;
@@ -1251,42 +1219,6 @@ throw GiwsException::JniCallMethodException(curEnv);
 }
 }
 
-void CallScilabBridge::setImageRendererParent (JavaVM * jvm_, int parentID, int objID){
-
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
-
-jmethodID voidsetImageRendererParentjintintjintintID = curEnv->GetStaticMethodID(cls, "setImageRendererParent", "(II)V" ) ;
-if (voidsetImageRendererParentjintintjintintID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setImageRendererParent");
-}
-
-                         curEnv->CallStaticVoidMethod(cls, voidsetImageRendererParentjintintjintintID ,parentID, objID);
-                        curEnv->DeleteLocalRef(cls);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-}
-
-void CallScilabBridge::removeImageRendererFromParent (JavaVM * jvm_, int parentID, int objID){
-
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
-
-jmethodID voidremoveImageRendererFromParentjintintjintintID = curEnv->GetStaticMethodID(cls, "removeImageRendererFromParent", "(II)V" ) ;
-if (voidremoveImageRendererFromParentjintintjintintID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "removeImageRendererFromParent");
-}
-
-                         curEnv->CallStaticVoidMethod(cls, voidremoveImageRendererFromParentjintintjintintID ,parentID, objID);
-                        curEnv->DeleteLocalRef(cls);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-}
-
 void CallScilabBridge::setUiTableParent (JavaVM * jvm_, int parentID, int objID){
 
 JNIEnv * curEnv = NULL;
@@ -5061,96 +4993,6 @@ throw GiwsException::JniCallMethodException(curEnv);
 }
 }
 
-void CallScilabBridge::setImageRendererRotate (JavaVM * jvm_, int objID, double const* indices, int indicesSize){
-
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
-
-jmethodID voidsetImageRendererRotatejintintjdoubleArray_doubledoubleID = curEnv->GetStaticMethodID(cls, "setImageRendererRotate", "(I[D)V" ) ;
-if (voidsetImageRendererRotatejintintjdoubleArray_doubledoubleID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setImageRendererRotate");
-}
-
-jdoubleArray indices_ = curEnv->NewDoubleArray( indicesSize ) ;
-
-if (indices_ == NULL)
-{
-// check that allocation succeed
-throw GiwsException::JniBadAllocException(curEnv);
-}
-
-curEnv->SetDoubleArrayRegion( indices_, 0, indicesSize, (jdouble*)(indices) ) ;
-
-
-                         curEnv->CallStaticVoidMethod(cls, voidsetImageRendererRotatejintintjdoubleArray_doubledoubleID ,objID, indices_);
-                        curEnv->DeleteLocalRef(indices_);
-curEnv->DeleteLocalRef(cls);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-}
-
-void CallScilabBridge::setImageRendererShear (JavaVM * jvm_, int objID, double const* indices, int indicesSize){
-
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
-
-jmethodID voidsetImageRendererShearjintintjdoubleArray_doubledoubleID = curEnv->GetStaticMethodID(cls, "setImageRendererShear", "(I[D)V" ) ;
-if (voidsetImageRendererShearjintintjdoubleArray_doubledoubleID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setImageRendererShear");
-}
-
-jdoubleArray indices_ = curEnv->NewDoubleArray( indicesSize ) ;
-
-if (indices_ == NULL)
-{
-// check that allocation succeed
-throw GiwsException::JniBadAllocException(curEnv);
-}
-
-curEnv->SetDoubleArrayRegion( indices_, 0, indicesSize, (jdouble*)(indices) ) ;
-
-
-                         curEnv->CallStaticVoidMethod(cls, voidsetImageRendererShearjintintjdoubleArray_doubledoubleID ,objID, indices_);
-                        curEnv->DeleteLocalRef(indices_);
-curEnv->DeleteLocalRef(cls);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-}
-
-void CallScilabBridge::setImageRendererScale (JavaVM * jvm_, int objID, double const* indices, int indicesSize){
-
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = curEnv->FindClass( className().c_str() );
-
-jmethodID voidsetImageRendererScalejintintjdoubleArray_doubledoubleID = curEnv->GetStaticMethodID(cls, "setImageRendererScale", "(I[D)V" ) ;
-if (voidsetImageRendererScalejintintjdoubleArray_doubledoubleID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "setImageRendererScale");
-}
-
-jdoubleArray indices_ = curEnv->NewDoubleArray( indicesSize ) ;
-
-if (indices_ == NULL)
-{
-// check that allocation succeed
-throw GiwsException::JniBadAllocException(curEnv);
-}
-
-curEnv->SetDoubleArrayRegion( indices_, 0, indicesSize, (jdouble*)(indices) ) ;
-
-
-                         curEnv->CallStaticVoidMethod(cls, voidsetImageRendererScalejintintjdoubleArray_doubledoubleID ,objID, indices_);
-                        curEnv->DeleteLocalRef(indices_);
-curEnv->DeleteLocalRef(cls);
-if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-}
-
 void CallScilabBridge::setUiTableColnames (JavaVM * jvm_, int objID, char const* text){
 
 JNIEnv * curEnv = NULL;
index 8a95e67..b8f47f0 100644 (file)
@@ -17,7 +17,6 @@
     <method name="newPopupMenu" returnType="int" modifier="static"/>
     <method name="newListBox" returnType="int" modifier="static"/>
     <method name="newFrame" returnType="int" modifier="static"/>
-    <method name="newImageRenderer" returnType="int" modifier="static"/>
     <method name="newUiTable" returnType="int" modifier="static"/>
     <method name="newUiDisplayTree" returnType="int" modifier="static"/>
     <method name="newContextMenu" returnType="String" modifier="static">
       <parameter type="int" name="parentID"/>
       <parameter type="int" name="objID"/>
     </method>
-    <method name="setImageRendererParent" returnType="void" modifier="static">
-      <parameter type="int" name="parentID"/>
-      <parameter type="int" name="objID"/>
-    </method>
-    <method name="removeImageRendererFromParent" returnType="void" modifier="static">
-      <parameter type="int" name="parentID"/>
-      <parameter type="int" name="objID"/>
-    </method>
     <method name="setUiTableParent" returnType="void" modifier="static">
       <parameter type="int" name="parentID"/>
       <parameter type="int" name="objID"/>
     </method>
     <method name="useCanvasForDisplay" returnType="boolean" modifier="static"/>
     <method name="scilabAboutBox" returnType="void" modifier="static"/>
-    <method name="setImageRendererRotate" returnType="void" modifier="static">
-      <parameter type="int" name="objID"/>
-      <parameter type="double[]" name="indices"/>
-    </method>
-    <method name="setImageRendererShear" returnType="void" modifier="static">
-      <parameter type="int" name="objID"/>
-      <parameter type="double[]" name="indices"/>
-    </method>
-    <method name="setImageRendererScale" returnType="void" modifier="static">
-      <parameter type="int" name="objID"/>
-      <parameter type="double[]" name="indices"/>
-    </method>
     <method name="setUiTableColnames" returnType="void" modifier="static">
       <parameter type="int" name="objID"/>
       <parameter type="String" name="text"/>
index 42dbc21..6c0b1e0 100644 (file)
@@ -95,7 +95,6 @@ jmethodID jintnewSliderID; // cache method id
 jmethodID jintnewPopupMenuID; // cache method id
 jmethodID jintnewListBoxID; // cache method id
 jmethodID jintnewFrameID; // cache method id
-jmethodID jintnewImageRendererID; // cache method id
 jmethodID jintnewUiTableID; // cache method id
 jmethodID jintnewUiDisplayTreeID; // cache method id
 jmethodID jstringnewContextMenujobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
@@ -118,8 +117,6 @@ jmethodID voidsetCheckBoxParentjintintjintintID; // cache method id
 jmethodID voidremoveCheckBoxFromParentjintintjintintID; // cache method id
 jmethodID voidsetRadioButtonParentjintintjintintID; // cache method id
 jmethodID voidremoveRadioButtonFromParentjintintjintintID; // cache method id
-jmethodID voidsetImageRendererParentjintintjintintID; // cache method id
-jmethodID voidremoveImageRendererFromParentjintintjintintID; // cache method id
 jmethodID voidsetUiTableParentjintintjintintID; // cache method id
 jmethodID voidremoveUiTableFromParentjintintjintintID; // cache method id
 jmethodID voidsetUiDisplayTreeParentjintintjintintID; // cache method id
@@ -271,9 +268,6 @@ jmethodID voidraiseWindowjintintID; // cache method id
 jmethodID voiduseCanvasForDisplayjbooleanbooleanID; // cache method id
 jmethodID jbooleanuseCanvasForDisplayID; // cache method id
 jmethodID voidscilabAboutBoxID; // cache method id
-jmethodID voidsetImageRendererRotatejintintjdoubleArray_doubledoubleID; // cache method id
-jmethodID voidsetImageRendererShearjintintjdoubleArray_doubledoubleID; // cache method id
-jmethodID voidsetImageRendererScalejintintjdoubleArray_doubledoubleID; // cache method id
 jmethodID voidsetUiTableColnamesjintintjstringjava_lang_StringID; // cache method id
 jmethodID voidsetUiTableRownamesjintintjstringjava_lang_StringID; // cache method id
 jmethodID voidsetUiTableDatajintintjstringjava_lang_StringID; // cache method id
@@ -363,8 +357,6 @@ static int newListBox(JavaVM * jvm_);
 
 static int newFrame(JavaVM * jvm_);
 
-static int newImageRenderer(JavaVM * jvm_);
-
 static int newUiTable(JavaVM * jvm_);
 
 static int newUiDisplayTree(JavaVM * jvm_);
@@ -407,10 +399,6 @@ static void setRadioButtonParent(JavaVM * jvm_, int parentID, int objID);
 
 static void removeRadioButtonFromParent(JavaVM * jvm_, int parentID, int objID);
 
-static void setImageRendererParent(JavaVM * jvm_, int parentID, int objID);
-
-static void removeImageRendererFromParent(JavaVM * jvm_, int parentID, int objID);
-
 static void setUiTableParent(JavaVM * jvm_, int parentID, int objID);
 
 static void removeUiTableFromParent(JavaVM * jvm_, int parentID, int objID);
@@ -713,12 +701,6 @@ static bool useCanvasForDisplay(JavaVM * jvm_);
 
 static void scilabAboutBox(JavaVM * jvm_);
 
-static void setImageRendererRotate(JavaVM * jvm_, int objID, double const* indices, int indicesSize);
-
-static void setImageRendererShear(JavaVM * jvm_, int objID, double const* indices, int indicesSize);
-
-static void setImageRendererScale(JavaVM * jvm_, int objID, double const* indices, int indicesSize);
-
 static void setUiTableColnames(JavaVM * jvm_, int objID, char const* text);
 
 static void setUiTableRownames(JavaVM * jvm_, int objID, char const* text);
@@ -1,17 +1,18 @@
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2010 - Han DONG
+// Copyright (C) 2012 - DIGITEO - Vincent COUVERT
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 // <-- TEST WITH GRAPHIC -->
-// Unitary tests for Scilab Java imagerenderer
+// Unitary tests for Scilab Java image
 // Exec tests common to all uicontrols
 clear uicontrol_generic_test
 exec("SCI/modules/gui/tests/unit_tests/uicontrol_generic_test.sci");
-if uicontrol_generic_test("imagerenderer") <> 0 then bugmes();quit;end
-// Regular testing of imagerenderer in uicontrol
-h = uicontrol("Style", "imagerenderer", "String", SCI + "/modules/demo_tools/images/logo_scilab.png", "position", [0 0 181 144]);
+if uicontrol_generic_test("image") <> 0 then bugmes();quit;end
+// Regular testing of image in uicontrol
+h = uicontrol("Style", "image", "String", SCI + "/modules/demo_tools/images/logo_scilab.png", "position", [0 0 181 144]);
 defaultValue = get(h, "value");
 if or(defaultValue<>[1 1 0 0 0]) then bugmes();quit;end
 set(h, "value", [0.3 2 0 0 0]); // Change scale
@@ -21,19 +22,19 @@ set(h, "value", [0.3 2 0.1 2 30]); // Change rotation angle
 set(h, "value", [])
 set(h, "value", [1])
 // Test set functions for uicontrol
-h = uicontrol("style", "imagerenderer");
+h = uicontrol("style", "image");
 set(h, "string", SCI + "/modules/demo_tools/images/logo_scilab.png");
 set(h, "position", [0 0 300 300]);
 set(h, "value", [0.3 2 0 0 0]);
 set(h, "value", [0.3 2 0.1 2 0]);
 set(h, "value", [0.3 2 0.1 2 30]);
-h = uicontrol(gcf(), "style", "imagerenderer");
+h = uicontrol(gcf(), "style", "image");
 set(h, "string", SCI + "/modules/demo_tools/images/logo_scilab.png");
 set(h, "position", [10 0 400 300]);
 set(h, "value", [0.63 0.9 0 0 0]);
 set(h, "value", [0.63 0.9 1 0.5 0]);
 set(h, "value", [0.63 0.9 1 0.5 45]);
-h = uicontrol("parent", gcf(), "style", "imagerenderer");
+h = uicontrol("parent", gcf(), "style", "image");
 set(h, "string", SCI + "/modules/demo_tools/images/logo_scilab.png");
 set(h, "position", [0 20 200 200]);
 set(h, "value", [1.2 1.3 0 0 0]);
@@ -1,21 +1,22 @@
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2010 - Han DONG
+// Copyright (C) 2012 - DIGITEO - Vincent COUVERT
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 
 // <-- TEST WITH GRAPHIC -->
 
-// Unitary tests for Scilab Java imagerenderer
+// Unitary tests for Scilab Java image
 
 // Exec tests common to all uicontrols
 clear uicontrol_generic_test
 exec("SCI/modules/gui/tests/unit_tests/uicontrol_generic_test.sci");
-if uicontrol_generic_test("imagerenderer") <> 0 then pause; end
+if uicontrol_generic_test("image") <> 0 then pause; end
 
-// Regular testing of imagerenderer in uicontrol
-h = uicontrol("Style", "imagerenderer", "String", SCI + "/modules/demo_tools/images/logo_scilab.png", "position", [0 0 181 144]);
+// Regular testing of image in uicontrol
+h = uicontrol("Style", "image", "String", SCI + "/modules/demo_tools/images/logo_scilab.png", "position", [0 0 181 144]);
 defaultValue = get(h, "value");
 if or(defaultValue<>[1 1 0 0 0]) then pause; end
 set(h, "value", [0.3 2 0 0 0]); // Change scale
@@ -28,21 +29,21 @@ set(h, "value", [1])
 
 
 // Test set functions for uicontrol
-h = uicontrol("style", "imagerenderer");
+h = uicontrol("style", "image");
 set(h, "string", SCI + "/modules/demo_tools/images/logo_scilab.png");
 set(h, "position", [0 0 300 300]);
 set(h, "value", [0.3 2 0 0 0]);
 set(h, "value", [0.3 2 0.1 2 0]);
 set(h, "value", [0.3 2 0.1 2 30]);
 
-h = uicontrol(gcf(), "style", "imagerenderer");
+h = uicontrol(gcf(), "style", "image");
 set(h, "string", SCI + "/modules/demo_tools/images/logo_scilab.png");
 set(h, "position", [10 0 400 300]);
 set(h, "value", [0.63 0.9 0 0 0]);
 set(h, "value", [0.63 0.9 1 0.5 0]);
 set(h, "value", [0.63 0.9 1 0.5 45]);
 
-h = uicontrol("parent", gcf(), "style", "imagerenderer");
+h = uicontrol("parent", gcf(), "style", "image");
 set(h, "string", SCI + "/modules/demo_tools/images/logo_scilab.png");
 set(h, "position", [0 20 200 200]);
 set(h, "value", [1.2 1.3 0 0 0]);
index 6c750fc..67392e7 100644 (file)
@@ -1,9 +1,12 @@
 #include "CallRenderer.hxx"
-/* Generated by GIWS (version 1.3.0) */
+/* Generated by GIWS (version 2.0.0) with command:
+giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/renderer.giws.xml 
+*/
 /*
 
 Copyright 2007-2008 INRIA
 Copyright 2008-2011 DIGITEO
+Copyright 2011-2012 Scilab Enterprises
 
 Author : Sylvestre Ledru & others
 
@@ -13,16 +16,16 @@ This software is a computer program whose purpose is to hide the complexity
 of accessing Java objects/methods from C++ code.
 
 This software is governed by the CeCILL-B license under French law and
-abiding by the rules of distribution of free software.  You can  use,
+abiding by the rules of distribution of free software.  You can  use, 
 modify and/ or redistribute the software under the terms of the CeCILL-B
 license as circulated by CEA, CNRS and INRIA at the following URL
-"http://www.cecill.info".
+"http://www.cecill.info". 
 
 As a counterpart to the access to the source code and  rights to copy,
 modify and redistribute granted by the license, users are provided only
 with a limited warranty  and the software's author,  the holder of the
 economic rights,  and the successive licensors  have only  limited
-liability.
+liability. 
 
 In this respect, the user's attention is drawn to the risks associated
 with loading,  using,  modifying and/or developing or reproducing the
@@ -31,491 +34,432 @@ that may mean  that it is complicated to manipulate,  and  that  also
 therefore means  that it is reserved for developers  and  experienced
 professionals having in-depth computer knowledge. Users are therefore
 encouraged to load and test the software's suitability as regards their
-requirements in conditions enabling the security of their systems and/or
-data to be ensured and,  more generally, to use and operate it in the
-same conditions as regards security.
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
 
 The fact that you are presently reading this means that you have had
 knowledge of the CeCILL-B license and that you accept its terms.
 */
 
-namespace org_scilab_modules_renderer
-{
+namespace org_scilab_modules_renderer {
 
+                // Static declarations (if any)
+                
 // Returns the current env
 
-JNIEnv * CallRenderer::getCurrentEnv()
-{
-    JNIEnv * curEnv = NULL;
-    jint res = this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-    if (res != JNI_OK)
-    {
-        throw GiwsException::JniException(getCurrentEnv());
-    }
-    return curEnv;
+JNIEnv * CallRenderer::getCurrentEnv() {
+JNIEnv * curEnv = NULL;
+jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+if (res != JNI_OK) {
+throw GiwsException::JniException(getCurrentEnv());
+}
+return curEnv;
 }
 // Destructor
 
-CallRenderer::~CallRenderer()
-{
-    JNIEnv * curEnv = NULL;
-    this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+CallRenderer::~CallRenderer() {
+JNIEnv * curEnv = NULL;
+this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
 
-    curEnv->DeleteGlobalRef(this->instance);
-    curEnv->DeleteGlobalRef(this->instanceClass);
+curEnv->DeleteGlobalRef(this->instance);
+curEnv->DeleteGlobalRef(this->instanceClass);
 }
 // Constructors
-CallRenderer::CallRenderer(JavaVM * jvm_)
-{
-    jmethodID constructObject = NULL ;
-    jobject localInstance ;
-    jclass localClass ;
-    const std::string construct = "<init>";
-    const std::string param = "()V";
-    jvm = jvm_;
+CallRenderer::CallRenderer(JavaVM * jvm_) {
+jmethodID constructObject = NULL ;
+jobject localInstance ;
+jclass localClass ;
 
-    JNIEnv * curEnv = getCurrentEnv();
+const std::string construct="<init>";
+const std::string param="()V";
+jvm=jvm_;
 
-    localClass = curEnv->FindClass( this->className().c_str() ) ;
-    if (localClass == NULL)
-    {
-        throw GiwsException::JniClassNotFoundException(curEnv, this->className());
-    }
+JNIEnv * curEnv = getCurrentEnv();
 
-    this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
+localClass = curEnv->FindClass( this->className().c_str() ) ;
+if (localClass == NULL) {
+  throw GiwsException::JniClassNotFoundException(curEnv, this->className());
+}
 
-    /* localClass is not needed anymore */
-    curEnv->DeleteLocalRef(localClass);
+this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
 
-    if (this->instanceClass == NULL)
-    {
-        throw GiwsException::JniObjectCreationException(curEnv, this->className());
-    }
+/* localClass is not needed anymore */
+curEnv->DeleteLocalRef(localClass);
 
+if (this->instanceClass == NULL) {
+throw GiwsException::JniObjectCreationException(curEnv, this->className());
+}
 
-    constructObject = curEnv->GetMethodID( this->instanceClass, construct.c_str() , param.c_str() ) ;
-    if (constructObject == NULL)
-    {
-        throw GiwsException::JniObjectCreationException(curEnv, this->className());
-    }
 
-    localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
-    if (localInstance == NULL)
-    {
-        throw GiwsException::JniObjectCreationException(curEnv, this->className());
-    }
+constructObject = curEnv->GetMethodID( this->instanceClass, construct.c_str() , param.c_str() ) ;
+if(constructObject == NULL){
+throw GiwsException::JniObjectCreationException(curEnv, this->className());
+}
 
-    this->instance = curEnv->NewGlobalRef(localInstance) ;
-    if (this->instance == NULL)
-    {
-        throw GiwsException::JniObjectCreationException(curEnv, this->className());
-    }
-    /* localInstance not needed anymore */
-    curEnv->DeleteLocalRef(localInstance);
+localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
+if(localInstance == NULL){
+throw GiwsException::JniObjectCreationException(curEnv, this->className());
+}
+this->instance = curEnv->NewGlobalRef(localInstance) ;
+if(this->instance == NULL){
+throw GiwsException::JniObjectCreationException(curEnv, this->className());
+}
+/* localInstance not needed anymore */
+curEnv->DeleteLocalRef(localInstance);
 
-    /* Methods ID set to NULL */
-    voidstartInteractiveZoomjstringjava_lang_StringID = NULL;
-    voidupdateTextBoundsjstringjava_lang_StringID = NULL;
-    voidupdateSubwinScalejstringjava_lang_StringID = NULL;
-    jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID = NULL;
-    jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID = NULL;
-    jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubleID = NULL;
-    jdoubleArray_getViewingAreajstringjava_lang_StringID = NULL;
+                /* Methods ID set to NULL */
+voidstartInteractiveZoomjstringjava_lang_StringID=NULL;
+voidupdateTextBoundsjstringjava_lang_StringID=NULL;
+voidupdateSubwinScalejstringjava_lang_StringID=NULL;
+jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID=NULL;
+jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID=NULL;
+jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID=NULL;
+jdoubleArray_getViewingAreajstringjava_lang_StringID=NULL;
 
 
 }
 
-CallRenderer::CallRenderer(JavaVM * jvm_, jobject JObj)
-{
-    jvm = jvm_;
+CallRenderer::CallRenderer(JavaVM * jvm_, jobject JObj) {
+        jvm=jvm_;
 
-    JNIEnv * curEnv = getCurrentEnv();
+        JNIEnv * curEnv = getCurrentEnv();
 
-    jclass localClass = curEnv->GetObjectClass(JObj);
-    this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-    curEnv->DeleteLocalRef(localClass);
+jclass localClass = curEnv->GetObjectClass(JObj);
+        this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
+        curEnv->DeleteLocalRef(localClass);
 
-    if (this->instanceClass == NULL)
-    {
-        throw GiwsException::JniObjectCreationException(curEnv, this->className());
-    }
+        if (this->instanceClass == NULL) {
+throw GiwsException::JniObjectCreationException(curEnv, this->className());
+        }
 
-    this->instance = curEnv->NewGlobalRef(JObj) ;
-    if (this->instance == NULL)
-    {
-        throw GiwsException::JniObjectCreationException(curEnv, this->className());
-    }
-    /* Methods ID set to NULL */
-    voidstartInteractiveZoomjstringjava_lang_StringID = NULL;
-    voidupdateTextBoundsjstringjava_lang_StringID = NULL;
-    voidupdateSubwinScalejstringjava_lang_StringID = NULL;
-    jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID = NULL;
-    jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID = NULL;
-    jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubleID = NULL;
-    jdoubleArray_getViewingAreajstringjava_lang_StringID = NULL;
+        this->instance = curEnv->NewGlobalRef(JObj) ;
+        if(this->instance == NULL){
+throw GiwsException::JniObjectCreationException(curEnv, this->className());
+        }
+        /* Methods ID set to NULL */
+        voidstartInteractiveZoomjstringjava_lang_StringID=NULL;
+voidupdateTextBoundsjstringjava_lang_StringID=NULL;
+voidupdateSubwinScalejstringjava_lang_StringID=NULL;
+jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID=NULL;
+jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID=NULL;
+jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID=NULL;
+jdoubleArray_getViewingAreajstringjava_lang_StringID=NULL;
 
 
 }
 
 // Generic methods
 
-void CallRenderer::synchronize()
-{
-    if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK)
-    {
-        throw GiwsException::JniMonitorException(getCurrentEnv(), "CallRenderer");
-    }
+void CallRenderer::synchronize() {
+if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK) {
+throw GiwsException::JniMonitorException(getCurrentEnv(), "CallRenderer");
+}
 }
 
-void CallRenderer::endSynchronize()
-{
-    if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK)
-    {
-        throw GiwsException::JniMonitorException(getCurrentEnv(), "CallRenderer");
-    }
+void CallRenderer::endSynchronize() {
+if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK) {
+throw GiwsException::JniMonitorException(getCurrentEnv(), "CallRenderer");
+}
 }
 // Method(s)
 
-void CallRenderer::startInteractiveZoom (JavaVM * jvm_, char * id)
+void CallRenderer::startInteractiveZoom (JavaVM * jvm_, char const* id){
+
+JNIEnv * curEnv = NULL;
+jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+jclass cls = curEnv->FindClass( className().c_str() );
+
+jmethodID voidstartInteractiveZoomjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "startInteractiveZoom", "(Ljava/lang/String;)V" ) ;
+if (voidstartInteractiveZoomjstringjava_lang_StringID == NULL) {
+throw GiwsException::JniMethodNotFoundException(curEnv, "startInteractiveZoom");
+}
+
+jstring id_ = curEnv->NewStringUTF( id );
+if (id != NULL && id_ == NULL)
+{
+throw GiwsException::JniBadAllocException(curEnv);
+}
+
+
+                         curEnv->CallStaticVoidMethod(cls, voidstartInteractiveZoomjstringjava_lang_StringID ,id_);
+                        curEnv->DeleteLocalRef(id_);
+curEnv->DeleteLocalRef(cls);
+if (curEnv->ExceptionCheck()) {
+throw GiwsException::JniCallMethodException(curEnv);
+}
+}
+
+void CallRenderer::updateTextBounds (JavaVM * jvm_, char const* id){
+
+JNIEnv * curEnv = NULL;
+jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+jclass cls = curEnv->FindClass( className().c_str() );
+
+jmethodID voidupdateTextBoundsjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "updateTextBounds", "(Ljava/lang/String;)V" ) ;
+if (voidupdateTextBoundsjstringjava_lang_StringID == NULL) {
+throw GiwsException::JniMethodNotFoundException(curEnv, "updateTextBounds");
+}
+
+jstring id_ = curEnv->NewStringUTF( id );
+if (id != NULL && id_ == NULL)
 {
+throw GiwsException::JniBadAllocException(curEnv);
+}
 
-    JNIEnv * curEnv = NULL;
-    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-    jclass cls = curEnv->FindClass( className().c_str() );
 
-    jmethodID voidstartInteractiveZoomjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "startInteractiveZoom", "(Ljava/lang/String;)V" ) ;
-    if (voidstartInteractiveZoomjstringjava_lang_StringID == NULL)
-    {
-        throw GiwsException::JniMethodNotFoundException(curEnv, "startInteractiveZoom");
-    }
+                         curEnv->CallStaticVoidMethod(cls, voidupdateTextBoundsjstringjava_lang_StringID ,id_);
+                        curEnv->DeleteLocalRef(id_);
+curEnv->DeleteLocalRef(cls);
+if (curEnv->ExceptionCheck()) {
+throw GiwsException::JniCallMethodException(curEnv);
+}
+}
 
-    jstring id_ = curEnv->NewStringUTF( id );
-    if (id != NULL && id_ == NULL)
-    {
-        throw GiwsException::JniBadAllocException(curEnv);
-    }
+void CallRenderer::updateSubwinScale (JavaVM * jvm_, char const* id){
 
+JNIEnv * curEnv = NULL;
+jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+jclass cls = curEnv->FindClass( className().c_str() );
 
-    curEnv->CallStaticVoidMethod(cls, voidstartInteractiveZoomjstringjava_lang_StringID , id_);
-    curEnv->DeleteLocalRef(id_);
-    curEnv->DeleteLocalRef(cls);
-    if (curEnv->ExceptionCheck())
-    {
-        throw GiwsException::JniCallMethodException(curEnv);
-    }
+jmethodID voidupdateSubwinScalejstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "updateSubwinScale", "(Ljava/lang/String;)V" ) ;
+if (voidupdateSubwinScalejstringjava_lang_StringID == NULL) {
+throw GiwsException::JniMethodNotFoundException(curEnv, "updateSubwinScale");
 }
 
-void CallRenderer::updateTextBounds (JavaVM * jvm_, char * id)
+jstring id_ = curEnv->NewStringUTF( id );
+if (id != NULL && id_ == NULL)
 {
+throw GiwsException::JniBadAllocException(curEnv);
+}
 
-    JNIEnv * curEnv = NULL;
-    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-    jclass cls = curEnv->FindClass( className().c_str() );
 
-    jmethodID voidupdateTextBoundsjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "updateTextBounds", "(Ljava/lang/String;)V" ) ;
-    if (voidupdateTextBoundsjstringjava_lang_StringID == NULL)
-    {
-        throw GiwsException::JniMethodNotFoundException(curEnv, "updateTextBounds");
-    }
+                         curEnv->CallStaticVoidMethod(cls, voidupdateSubwinScalejstringjava_lang_StringID ,id_);
+                        curEnv->DeleteLocalRef(id_);
+curEnv->DeleteLocalRef(cls);
+if (curEnv->ExceptionCheck()) {
+throw GiwsException::JniCallMethodException(curEnv);
+}
+}
 
-    jstring id_ = curEnv->NewStringUTF( id );
-    if (id != NULL && id_ == NULL)
-    {
-        throw GiwsException::JniBadAllocException(curEnv);
-    }
+double* CallRenderer::get2dViewCoordinates (JavaVM * jvm_, char const* id, double const* coords, int coordsSize){
 
+JNIEnv * curEnv = NULL;
+jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+jclass cls = curEnv->FindClass( className().c_str() );
 
-    curEnv->CallStaticVoidMethod(cls, voidupdateTextBoundsjstringjava_lang_StringID , id_);
-    curEnv->DeleteLocalRef(id_);
-    curEnv->DeleteLocalRef(cls);
-    if (curEnv->ExceptionCheck())
-    {
-        throw GiwsException::JniCallMethodException(curEnv);
-    }
+jmethodID jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID = curEnv->GetStaticMethodID(cls, "get2dViewCoordinates", "(Ljava/lang/String;[D)[D" ) ;
+if (jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID == NULL) {
+throw GiwsException::JniMethodNotFoundException(curEnv, "get2dViewCoordinates");
 }
 
-void CallRenderer::updateSubwinScale (JavaVM * jvm_, char * id)
+jstring id_ = curEnv->NewStringUTF( id );
+if (id != NULL && id_ == NULL)
 {
+throw GiwsException::JniBadAllocException(curEnv);
+}
+
+
+jdoubleArray coords_ = curEnv->NewDoubleArray( coordsSize ) ;
+
+if (coords_ == NULL)
+{
+// check that allocation succeed
+throw GiwsException::JniBadAllocException(curEnv);
+}
+
+curEnv->SetDoubleArrayRegion( coords_, 0, coordsSize, (jdouble*)(coords) ) ;
+
+
+                        jdoubleArray res =  static_cast<jdoubleArray>( curEnv->CallStaticObjectMethod(cls, jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID ,id_, coords_));
+                        if (res == NULL) { return NULL; }
+                        if (curEnv->ExceptionCheck()) {
+throw GiwsException::JniCallMethodException(curEnv);
+}int lenRow;
+ lenRow = curEnv->GetArrayLength(res);
+jboolean isCopy = JNI_FALSE;
 
-    JNIEnv * curEnv = NULL;
-    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-    jclass cls = curEnv->FindClass( className().c_str() );
+/* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
+jdouble *resultsArray = static_cast<jdouble *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
+double* myArray= new double[ lenRow];
 
-    jmethodID voidupdateSubwinScalejstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "updateSubwinScale", "(Ljava/lang/String;)V" ) ;
-    if (voidupdateSubwinScalejstringjava_lang_StringID == NULL)
-    {
-        throw GiwsException::JniMethodNotFoundException(curEnv, "updateSubwinScale");
-    }
+for (jsize i = 0; i <  lenRow; i++){
+myArray[i]=resultsArray[i];
+}
+curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
+
+                        curEnv->DeleteLocalRef(res);
+curEnv->DeleteLocalRef(id_);
+curEnv->DeleteLocalRef(coords_);
+curEnv->DeleteLocalRef(cls);
+if (curEnv->ExceptionCheck()) {
+delete[] myArray;
+                                throw GiwsException::JniCallMethodException(curEnv);
+}
+return myArray;
+
+}
+
+double* CallRenderer::getPixelFrom2dViewCoordinates (JavaVM * jvm_, char const* id, double const* coords, int coordsSize){
 
-    jstring id_ = curEnv->NewStringUTF( id );
-    if (id != NULL && id_ == NULL)
-    {
-        throw GiwsException::JniBadAllocException(curEnv);
-    }
+JNIEnv * curEnv = NULL;
+jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+jclass cls = curEnv->FindClass( className().c_str() );
 
+jmethodID jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID = curEnv->GetStaticMethodID(cls, "getPixelFrom2dViewCoordinates", "(Ljava/lang/String;[D)[D" ) ;
+if (jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID == NULL) {
+throw GiwsException::JniMethodNotFoundException(curEnv, "getPixelFrom2dViewCoordinates");
+}
 
-    curEnv->CallStaticVoidMethod(cls, voidupdateSubwinScalejstringjava_lang_StringID , id_);
-    curEnv->DeleteLocalRef(id_);
-    curEnv->DeleteLocalRef(cls);
-    if (curEnv->ExceptionCheck())
-    {
-        throw GiwsException::JniCallMethodException(curEnv);
-    }
+jstring id_ = curEnv->NewStringUTF( id );
+if (id != NULL && id_ == NULL)
+{
+throw GiwsException::JniBadAllocException(curEnv);
 }
 
-double* CallRenderer::get2dViewCoordinates (JavaVM * jvm_, char * id, double* coords, int coordsSize)
+
+jdoubleArray coords_ = curEnv->NewDoubleArray( coordsSize ) ;
+
+if (coords_ == NULL)
 {
+// check that allocation succeed
+throw GiwsException::JniBadAllocException(curEnv);
+}
+
+curEnv->SetDoubleArrayRegion( coords_, 0, coordsSize, (jdouble*)(coords) ) ;
+
+
+                        jdoubleArray res =  static_cast<jdoubleArray>( curEnv->CallStaticObjectMethod(cls, jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID ,id_, coords_));
+                        if (res == NULL) { return NULL; }
+                        if (curEnv->ExceptionCheck()) {
+throw GiwsException::JniCallMethodException(curEnv);
+}int lenRow;
+ lenRow = curEnv->GetArrayLength(res);
+jboolean isCopy = JNI_FALSE;
+
+/* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
+jdouble *resultsArray = static_cast<jdouble *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
+double* myArray= new double[ lenRow];
+
+for (jsize i = 0; i <  lenRow; i++){
+myArray[i]=resultsArray[i];
+}
+curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
+
+                        curEnv->DeleteLocalRef(res);
+curEnv->DeleteLocalRef(id_);
+curEnv->DeleteLocalRef(coords_);
+curEnv->DeleteLocalRef(cls);
+if (curEnv->ExceptionCheck()) {
+delete[] myArray;
+                                throw GiwsException::JniCallMethodException(curEnv);
+}
+return myArray;
+
+}
+
+double* CallRenderer::get2dViewFromPixelCoordinates (JavaVM * jvm_, char const* id, double const* coords, int coordsSize){
+
+JNIEnv * curEnv = NULL;
+jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+jclass cls = curEnv->FindClass( className().c_str() );
+
+jmethodID jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID = curEnv->GetStaticMethodID(cls, "get2dViewFromPixelCoordinates", "(Ljava/lang/String;[D)[D" ) ;
+if (jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID == NULL) {
+throw GiwsException::JniMethodNotFoundException(curEnv, "get2dViewFromPixelCoordinates");
+}
 
-    JNIEnv * curEnv = NULL;
-    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-    jclass cls = curEnv->FindClass( className().c_str() );
-
-    jmethodID jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID = curEnv->GetStaticMethodID(cls, "get2dViewCoordinates", "(Ljava/lang/String;[D)[D" ) ;
-    if (jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID == NULL)
-    {
-        throw GiwsException::JniMethodNotFoundException(curEnv, "get2dViewCoordinates");
-    }
-
-    jstring id_ = curEnv->NewStringUTF( id );
-    if (id != NULL && id_ == NULL)
-    {
-        throw GiwsException::JniBadAllocException(curEnv);
-    }
-
-
-    jdoubleArray coords_ = curEnv->NewDoubleArray( coordsSize ) ;
-
-    if (coords_ == NULL)
-    {
-        // check that allocation succeed
-        throw GiwsException::JniBadAllocException(curEnv);
-    }
-
-    curEnv->SetDoubleArrayRegion( coords_, 0, coordsSize, (jdouble*)(coords) ) ;
-
-
-    jdoubleArray res =  static_cast<jdoubleArray>( curEnv->CallStaticObjectMethod(cls, jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID , id_, coords_));
-    if (res == NULL)
-    {
-        return NULL;
-    }
-    if (curEnv->ExceptionCheck())
-    {
-        throw GiwsException::JniCallMethodException(curEnv);
-    }
-    int lenRow;
-    lenRow = curEnv->GetArrayLength(res);
-    jboolean isCopy = JNI_FALSE;
-
-    /* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
-    jdouble *resultsArray = static_cast<jdouble *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
-    double* myArray = new double[ lenRow];
-
-    for (jsize i = 0; i <  lenRow; i++)
-    {
-        myArray[i] = resultsArray[i];
-    }
-    curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
-
-    curEnv->DeleteLocalRef(res);
-    curEnv->DeleteLocalRef(id_);
-    curEnv->DeleteLocalRef(coords_);
-    curEnv->DeleteLocalRef(cls);
-    if (curEnv->ExceptionCheck())
-    {
-        delete[] myArray;
-        throw GiwsException::JniCallMethodException(curEnv);
-    }
-    return myArray;
-
-}
-
-double* CallRenderer::getPixelFrom2dViewCoordinates (JavaVM * jvm_, char * id, double* coords, int coordsSize)
+jstring id_ = curEnv->NewStringUTF( id );
+if (id != NULL && id_ == NULL)
 {
+throw GiwsException::JniBadAllocException(curEnv);
+}
+
+
+jdoubleArray coords_ = curEnv->NewDoubleArray( coordsSize ) ;
 
-    JNIEnv * curEnv = NULL;
-    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-    jclass cls = curEnv->FindClass( className().c_str() );
-
-    jmethodID jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID = curEnv->GetStaticMethodID(cls, "getPixelFrom2dViewCoordinates", "(Ljava/lang/String;[D)[D" ) ;
-    if (jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID == NULL)
-    {
-        throw GiwsException::JniMethodNotFoundException(curEnv, "getPixelFrom2dViewCoordinates");
-    }
-
-    jstring id_ = curEnv->NewStringUTF( id );
-    if (id != NULL && id_ == NULL)
-    {
-        throw GiwsException::JniBadAllocException(curEnv);
-    }
-
-
-    jdoubleArray coords_ = curEnv->NewDoubleArray( coordsSize ) ;
-
-    if (coords_ == NULL)
-    {
-        // check that allocation succeed
-        throw GiwsException::JniBadAllocException(curEnv);
-    }
-
-    curEnv->SetDoubleArrayRegion( coords_, 0, coordsSize, (jdouble*)(coords) ) ;
-
-
-    jdoubleArray res =  static_cast<jdoubleArray>( curEnv->CallStaticObjectMethod(cls, jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID , id_, coords_));
-    if (res == NULL)
-    {
-        return NULL;
-    }
-    if (curEnv->ExceptionCheck())
-    {
-        throw GiwsException::JniCallMethodException(curEnv);
-    }
-    int lenRow;
-    lenRow = curEnv->GetArrayLength(res);
-    jboolean isCopy = JNI_FALSE;
-
-    /* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
-    jdouble *resultsArray = static_cast<jdouble *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
-    double* myArray = new double[ lenRow];
-
-    for (jsize i = 0; i <  lenRow; i++)
-    {
-        myArray[i] = resultsArray[i];
-    }
-    curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
-
-    curEnv->DeleteLocalRef(res);
-    curEnv->DeleteLocalRef(id_);
-    curEnv->DeleteLocalRef(coords_);
-    curEnv->DeleteLocalRef(cls);
-    if (curEnv->ExceptionCheck())
-    {
-        delete[] myArray;
-        throw GiwsException::JniCallMethodException(curEnv);
-    }
-    return myArray;
-
-}
-
-double* CallRenderer::get2dViewFromPixelCoordinates (JavaVM * jvm_, char * id, double* coords, int coordsSize)
+if (coords_ == NULL)
 {
+// check that allocation succeed
+throw GiwsException::JniBadAllocException(curEnv);
+}
+
+curEnv->SetDoubleArrayRegion( coords_, 0, coordsSize, (jdouble*)(coords) ) ;
+
 
-    JNIEnv * curEnv = NULL;
-    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-    jclass cls = curEnv->FindClass( className().c_str() );
-
-    jmethodID jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubleID = curEnv->GetStaticMethodID(cls, "get2dViewFromPixelCoordinates", "(Ljava/lang/String;[D)[D" ) ;
-    if (jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubleID == NULL)
-    {
-        throw GiwsException::JniMethodNotFoundException(curEnv, "get2dViewFromPixelCoordinates");
-    }
-
-    jstring id_ = curEnv->NewStringUTF( id );
-    if (id != NULL && id_ == NULL)
-    {
-        throw GiwsException::JniBadAllocException(curEnv);
-    }
-
-
-    jdoubleArray coords_ = curEnv->NewDoubleArray( coordsSize ) ;
-
-    if (coords_ == NULL)
-    {
-        // check that allocation succeed
-        throw GiwsException::JniBadAllocException(curEnv);
-    }
-
-    curEnv->SetDoubleArrayRegion( coords_, 0, coordsSize, (jdouble*)(coords) ) ;
-
-
-    jdoubleArray res =  static_cast<jdoubleArray>( curEnv->CallStaticObjectMethod(cls, jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubleID , id_, coords_));
-    if (res == NULL)
-    {
-        return NULL;
-    }
-    if (curEnv->ExceptionCheck())
-    {
-        throw GiwsException::JniCallMethodException(curEnv);
-    }
-    int lenRow;
-    lenRow = curEnv->GetArrayLength(res);
-    jboolean isCopy = JNI_FALSE;
-
-    /* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
-    jdouble *resultsArray = static_cast<jdouble *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
-    double* myArray = new double[ lenRow];
-
-    for (jsize i = 0; i <  lenRow; i++)
-    {
-        myArray[i] = resultsArray[i];
-    }
-    curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
-
-    curEnv->DeleteLocalRef(res);
-    curEnv->DeleteLocalRef(id_);
-    curEnv->DeleteLocalRef(coords_);
-    curEnv->DeleteLocalRef(cls);
-    if (curEnv->ExceptionCheck())
-    {
-        delete[] myArray;
-        throw GiwsException::JniCallMethodException(curEnv);
-    }
-    return myArray;
-
-}
-
-double* CallRenderer::getViewingArea (JavaVM * jvm_, char * id)
+                        jdoubleArray res =  static_cast<jdoubleArray>( curEnv->CallStaticObjectMethod(cls, jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID ,id_, coords_));
+                        if (res == NULL) { return NULL; }
+                        if (curEnv->ExceptionCheck()) {
+throw GiwsException::JniCallMethodException(curEnv);
+}int lenRow;
+ lenRow = curEnv->GetArrayLength(res);
+jboolean isCopy = JNI_FALSE;
+
+/* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
+jdouble *resultsArray = static_cast<jdouble *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
+double* myArray= new double[ lenRow];
+
+for (jsize i = 0; i <  lenRow; i++){
+myArray[i]=resultsArray[i];
+}
+curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
+
+                        curEnv->DeleteLocalRef(res);
+curEnv->DeleteLocalRef(id_);
+curEnv->DeleteLocalRef(coords_);
+curEnv->DeleteLocalRef(cls);
+if (curEnv->ExceptionCheck()) {
+delete[] myArray;
+                                throw GiwsException::JniCallMethodException(curEnv);
+}
+return myArray;
+
+}
+
+double* CallRenderer::getViewingArea (JavaVM * jvm_, char const* id){
+
+JNIEnv * curEnv = NULL;
+jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+jclass cls = curEnv->FindClass( className().c_str() );
+
+jmethodID jdoubleArray_getViewingAreajstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "getViewingArea", "(Ljava/lang/String;)[D" ) ;
+if (jdoubleArray_getViewingAreajstringjava_lang_StringID == NULL) {
+throw GiwsException::JniMethodNotFoundException(curEnv, "getViewingArea");
+}
+
+jstring id_ = curEnv->NewStringUTF( id );
+if (id != NULL && id_ == NULL)
 {
+throw GiwsException::JniBadAllocException(curEnv);
+}
 
-    JNIEnv * curEnv = NULL;
-    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-    jclass cls = curEnv->FindClass( className().c_str() );
-
-    jmethodID jdoubleArray_getViewingAreajstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "getViewingArea", "(Ljava/lang/String;)[D" ) ;
-    if (jdoubleArray_getViewingAreajstringjava_lang_StringID == NULL)
-    {
-        throw GiwsException::JniMethodNotFoundException(curEnv, "getViewingArea");
-    }
-
-    jstring id_ = curEnv->NewStringUTF( id );
-    if (id != NULL && id_ == NULL)
-    {
-        throw GiwsException::JniBadAllocException(curEnv);
-    }
-
-
-    jdoubleArray res =  static_cast<jdoubleArray>( curEnv->CallStaticObjectMethod(cls, jdoubleArray_getViewingAreajstringjava_lang_StringID , id_));
-    if (res == NULL)
-    {
-        return NULL;
-    }
-    if (curEnv->ExceptionCheck())
-    {
-        throw GiwsException::JniCallMethodException(curEnv);
-    }
-    int lenRow;
-    lenRow = curEnv->GetArrayLength(res);
-    jboolean isCopy = JNI_FALSE;
-
-    /* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
-    jdouble *resultsArray = static_cast<jdouble *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
-    double* myArray = new double[ lenRow];
-
-    for (jsize i = 0; i <  lenRow; i++)
-    {
-        myArray[i] = resultsArray[i];
-    }
-    curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
-
-    curEnv->DeleteLocalRef(res);
-    curEnv->DeleteLocalRef(id_);
-    curEnv->DeleteLocalRef(cls);
-    if (curEnv->ExceptionCheck())
-    {
-        delete[] myArray;
-        throw GiwsException::JniCallMethodException(curEnv);
-    }
-    return myArray;
+
+                        jdoubleArray res =  static_cast<jdoubleArray>( curEnv->CallStaticObjectMethod(cls, jdoubleArray_getViewingAreajstringjava_lang_StringID ,id_));
+                        if (res == NULL) { return NULL; }
+                        if (curEnv->ExceptionCheck()) {
+throw GiwsException::JniCallMethodException(curEnv);
+}int lenRow;
+ lenRow = curEnv->GetArrayLength(res);
+jboolean isCopy = JNI_FALSE;
+
+/* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
+jdouble *resultsArray = static_cast<jdouble *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
+double* myArray= new double[ lenRow];
+
+for (jsize i = 0; i <  lenRow; i++){
+myArray[i]=resultsArray[i];
+}
+curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
+
+                        curEnv->DeleteLocalRef(res);
+curEnv->DeleteLocalRef(id_);
+curEnv->DeleteLocalRef(cls);
+if (curEnv->ExceptionCheck()) {
+delete[] myArray;
+                                throw GiwsException::JniCallMethodException(curEnv);
+}
+return myArray;
 
 }
 
index fc2b1cc..0847e9e 100644 (file)
@@ -1,8 +1,11 @@
-/* Generated by GIWS (version 1.3.0) */
+/* Generated by GIWS (version 2.0.0) with command:
+giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/renderer.giws.xml 
+*/
 /*
 
 Copyright 2007-2008 INRIA
 Copyright 2008-2011 DIGITEO
+Copyright 2011-2012 Scilab Enterprises
 
 Author : Sylvestre Ledru & others
 
@@ -12,16 +15,16 @@ This software is a computer program whose purpose is to hide the complexity
 of accessing Java objects/methods from C++ code.
 
 This software is governed by the CeCILL-B license under French law and
-abiding by the rules of distribution of free software.  You can  use,
+abiding by the rules of distribution of free software.  You can  use, 
 modify and/ or redistribute the software under the terms of the CeCILL-B
 license as circulated by CEA, CNRS and INRIA at the following URL
-"http://www.cecill.info".
+"http://www.cecill.info". 
 
 As a counterpart to the access to the source code and  rights to copy,
 modify and redistribute granted by the license, users are provided only
 with a limited warranty  and the software's author,  the holder of the
 economic rights,  and the successive licensors  have only  limited
-liability.
+liability. 
 
 In this respect, the user's attention is drawn to the risks associated
 with loading,  using,  modifying and/or developing or reproducing the
@@ -30,9 +33,9 @@ that may mean  that it is complicated to manipulate,  and  that  also
 therefore means  that it is reserved for developers  and  experienced
 professionals having in-depth computer knowledge. Users are therefore
 encouraged to load and test the software's suitability as regards their
-requirements in conditions enabling the security of their systems and/or
-data to be ensured and,  more generally, to use and operate it in the
-same conditions as regards security.
+requirements in conditions enabling the security of their systems and/or 
+data to be ensured and,  more generally, to use and operate it in the 
+same conditions as regards security. 
 
 The fact that you are presently reading this means that you have had
 knowledge of the CeCILL-B license and that you accept its terms.
@@ -49,13 +52,11 @@ knowledge of the CeCILL-B license and that you accept its terms.
 
 #include "GiwsException.hxx"
 
-#ifndef _MSC_VER /* Defined anyway with Visual */
-#if !defined(byte)
-typedef signed char byte;
-#else
-#pragma message("Byte has been redefined elsewhere. Some problems can happen")
-#endif
-#endif
+        #if !defined(byte) | !defined(_MSC_VER) /* Defined anyway with Visual */
+                typedef signed char byte;
+        #else
+                #pragma message("Byte has been redefined elsewhere. Some problems can happen")
+        #endif
 
 
 #ifndef GIWSEXPORT
@@ -66,107 +67,112 @@ typedef signed char byte;
 #     define GIWSEXPORT __declspec(dllexport)
 #   endif
 # else
+#   if __GNUC__ >= 4
+#     define GIWSEXPORT __attribute__ ((visibility ("default")))
+#   else
 #     define GIWSEXPORT
+#   endif
 # endif
 #endif
 
-namespace org_scilab_modules_renderer
-{
-class GIWSEXPORT CallRenderer
-{
+namespace org_scilab_modules_renderer {
+class GIWSEXPORT CallRenderer {
 
 private:
-    JavaVM * jvm;
+JavaVM * jvm;
 
 protected:
-    jmethodID voidstartInteractiveZoomjstringjava_lang_StringID; // cache method id
-    jmethodID voidupdateTextBoundsjstringjava_lang_StringID; // cache method id
-    jmethodID voidupdateSubwinScalejstringjava_lang_StringID; // cache method id
-    jmethodID jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID; // cache method id
-    jmethodID jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubleID; // cache method id
-    jmethodID jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubleID; // cache method id
-    jmethodID jdoubleArray_getViewingAreajstringjava_lang_StringID; // cache method id
+jmethodID voidstartInteractiveZoomjstringjava_lang_StringID; // cache method id
+jmethodID voidupdateTextBoundsjstringjava_lang_StringID; // cache method id
+jmethodID voidupdateSubwinScalejstringjava_lang_StringID; // cache method id
+jmethodID jdoubleArray_get2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID; // cache method id
+jmethodID jdoubleArray_getPixelFrom2dViewCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID; // cache method id
+jmethodID jdoubleArray_get2dViewFromPixelCoordinatesjstringjava_lang_StringjdoubleArray_doubledoubleID; // cache method id
+jmethodID jdoubleArray_getViewingAreajstringjava_lang_StringID; // cache method id
 
 
 
-    jobject instance;
-    jclass instanceClass; // cache class
+jobject instance;
+jclass instanceClass; // cache class
 
+                       
+// Caching (if any)
 
-    /**
-    * Get the environment matching to the current thread.
-    */
-    virtual JNIEnv * getCurrentEnv();
+
+/**
+* Get the environment matching to the current thread.
+*/
+virtual JNIEnv * getCurrentEnv();
 
 public:
-    // Constructor
-    /**
-    * Create a wrapping of the object from a JNIEnv.
-    * It will call the default constructor
-    * @param JEnv_ the Java Env
-    */
-    CallRenderer(JavaVM * jvm_);
-
-    /**
-    * Create a wrapping of an already existing object from a JNIEnv.
-    * The object must have already been instantiated
-    * @param JEnv_ the Java Env
-    * @param JObj the object
-    */
-    CallRenderer(JavaVM * jvm_, jobject JObj);
-
-
-    /**
-    * This is a fake constructor to avoid the constructor
-    * chaining when dealing with extended giws classes
-    */
-#ifdef FAKEGIWSDATATYPE
-    CallRenderer(fakeGiwsDataType::fakeGiwsDataType /* unused */) {}
-#endif
+// Constructor
+/**
+* Create a wrapping of the object from a JNIEnv.
+* It will call the default constructor
+* @param JEnv_ the Java Env
+*/
+CallRenderer(JavaVM * jvm_);
+
+/**
+* Create a wrapping of an already existing object from a JNIEnv.
+* The object must have already been instantiated
+* @param JEnv_ the Java Env
+* @param JObj the object
+*/
+CallRenderer(JavaVM * jvm_, jobject JObj);
 
-    // Destructor
-    ~CallRenderer();
 
-    // Generic method
-    // Synchronization methods
-    /**
-    * Enter monitor associated with the object.
-    * Equivalent of creating a "synchronized(obj)" scope in Java.
-    */
-    void synchronize();
+/** 
+* This is a fake constructor to avoid the constructor
+* chaining when dealing with extended giws classes 
+*/
+#ifdef FAKEGIWSDATATYPE
+CallRenderer(fakeGiwsDataType::fakeGiwsDataType /* unused */) {}
+#endif
 
-    /**
-    * Exit monitor associated with the object.
-    * Equivalent of ending a "synchronized(obj)" scope.
-    */
-    void endSynchronize();
+// Destructor
+~CallRenderer();
 
-    // Methods
-    static void startInteractiveZoom(JavaVM * jvm_, char * id);
+// Generic method
+// Synchronization methods
+/**
+* Enter monitor associated with the object.
+* Equivalent of creating a "synchronized(obj)" scope in Java.
+*/
+void synchronize();
 
-    static void updateTextBounds(JavaVM * jvm_, char * id);
+/**
+* Exit monitor associated with the object.
+* Equivalent of ending a "synchronized(obj)" scope.
+*/
+void endSynchronize();
 
-    static void updateSubwinScale(JavaVM * jvm_, char * id);
+// Methods
+static void startInteractiveZoom(JavaVM * jvm_, char const* id);
 
-    static double* get2dViewCoordinates(JavaVM * jvm_, char * id, double* coords, int coordsSize);
+static void updateTextBounds(JavaVM * jvm_, char const* id);
 
-    static double* getPixelFrom2dViewCoordinates(JavaVM * jvm_, char * id, double* coords, int coordsSize);
+static void updateSubwinScale(JavaVM * jvm_, char const* id);
 
-    static double* get2dViewFromPixelCoordinates(JavaVM * jvm_, char * id, double* coords, int coordsSize);
+static double* get2dViewCoordinates(JavaVM * jvm_, char const* id, double const* coords, int coordsSize);
 
-    static double* getViewingArea(JavaVM * jvm_, char * id);
+static double* getPixelFrom2dViewCoordinates(JavaVM * jvm_, char const* id, double const* coords, int coordsSize);
 
+static double* get2dViewFromPixelCoordinates(JavaVM * jvm_, char const* id, double const* coords, int coordsSize);
 
-    /**
-    * Get class name to use for static methods
-    * @return class name to use for static methods
-    */
+static double* getViewingArea(JavaVM * jvm_, char const* id);
 
-    static const std::string className()
-    {
-        return "org/scilab/modules/renderer/CallRenderer";
-    }
 
+                        /**
+                        * Get class name to use for static methods
+                        * @return class name to use for static methods
+                        */
+                        
+                static const std::string className()
+                {
+                return "org/scilab/modules/renderer/CallRenderer";
+                }
+                
 };