Xcos MVC: implement a clone method 89/15189/3
Clément DAVID [Wed, 23 Jul 2014 12:26:25 +0000 (14:26 +0200)]
Model object can be cloned and all property changes are emitted but the
properties are not setted in a particular order, views have to handle
that well.

Change-Id: I71520c0cce58bf9d36fa4074e68f6d82bf7e426e

18 files changed:
scilab/modules/scicos/includes/Controller.hxx
scilab/modules/scicos/includes/utilities.hxx
scilab/modules/scicos/src/cpp/Controller.cpp
scilab/modules/scicos/src/cpp/model/Block.hxx
scilab/modules/xcos/src/java/org/scilab/modules/xcos/Controller.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/JavaController.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/JavaControllerJNI.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/Kind.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/ObjectProperties.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/UpdateStatus.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/VectorOfBool.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/VectorOfDouble.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/VectorOfInt.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/VectorOfScicosID.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/VectorOfString.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/View.java
scilab/modules/xcos/src/jni/JavaController_wrap.cxx
scilab/modules/xcos/src/jni/JavaController_wrap.h

index 2d42856..29e06a1 100644 (file)
@@ -43,6 +43,7 @@ public:
 
     ScicosID createObject(kind_t k);
     void deleteObject(ScicosID uid);
+    ScicosID cloneObject(ScicosID uid);
 
     model::BaseObject* getObject(ScicosID uid);
     update_status_t setObject(model::BaseObject* o);
index 290cf18..1f8d25a 100644 (file)
@@ -109,6 +109,7 @@ enum object_properties_t
     PROPERTIES,         //!< model::Diagram::tol & tf values
     DIAGRAM_CONTEXT,    //!< model::Diagram::context value
     VERSION_NUMBER,     //!< model::Diagram::version value
+    MAX_OBJECT_PROPERTIES //!< last valid value of the object_properties_t enum
 };
 
 #endif /* UTILITIES_HXX_ */
index 1848377..a4dfb46 100644 (file)
@@ -114,6 +114,42 @@ void Controller::deleteObject(ScicosID uid)
     }
 }
 
+template<typename T>
+void cloneProperties(Controller* controller, model::BaseObject* initial, ScicosID clone)
+{
+    for (int i = 0; i < MAX_OBJECT_PROPERTIES; ++i)
+    {
+        enum object_properties_t p = static_cast<enum object_properties_t>(i);
+
+        T value;
+        bool status = controller->getObjectProperty(initial->id(), initial->kind(), p, value);
+        if (status)
+        {
+            controller->setObjectProperty(clone, initial->kind(), p, value);
+        }
+    }
+
+};
+
+ScicosID Controller::cloneObject(ScicosID uid)
+{
+    model::BaseObject* initial = getObject(uid);
+    ScicosID o = createObject(initial->kind());
+
+    // Get then set all properties per type
+    cloneProperties<double>(this, initial, o);
+    cloneProperties<int>(this, initial, o);
+    cloneProperties<bool>(this, initial, o);
+    cloneProperties<std::string>(this, initial, o);
+    cloneProperties<ScicosID>(this, initial, o);
+    cloneProperties< std::vector<double> >(this, initial, o);
+    cloneProperties< std::vector<int> >(this, initial, o);
+    cloneProperties< std::vector<std::string> >(this, initial, o);
+    cloneProperties< std::vector<ScicosID> >(this, initial, o);
+
+    return o;
+}
+
 model::BaseObject* Controller::getObject(ScicosID uid)
 {
     return _instance->model.getObject(uid);
index 4200edf..489c11a 100644 (file)
@@ -512,19 +512,19 @@ private:
         {
             case DEP_U & DEP_T:
                 // data is already set to [0 0] here.
-                return;
+                break;
             case DEP_U:
                 data[0] = 1;
-                return;
+                break;
             case DEP_T:
                 data[1] = 1;
-                return;
+                break;
             case DEP_U | DEP_T:
                 data[0] = 1;
                 data[1] = 1;
-                return;
+                break;
             default:
-                return;
+                break;
         }
     }
 
index f5fc765..4962f5d 100644 (file)
@@ -51,6 +51,10 @@ public class Controller {
         JavaControllerJNI.Controller_deleteObject(swigCPtr, this, uid);
     }
 
+    public long cloneObject(long uid) {
+        return JavaControllerJNI.Controller_cloneObject(swigCPtr, this, uid);
+    }
+
     public boolean getObjectProperty(long uid, Kind k, ObjectProperties p, int[] v) {
         return JavaControllerJNI.Controller_getObjectProperty__SWIG_1(swigCPtr, this, uid, k.ordinal(), p.ordinal(), v);
     }
index af4a140..23bbeb4 100644 (file)
@@ -12,16 +12,16 @@ import java.util.ArrayList;
 
 public class JavaController extends Controller {
 
-    // will contains all registered JavaViews to prevent garbage-collection 
+    // will contains all registered JavaViews to prevent garbage-collection
     private static ArrayList<View> references = new ArrayList<View>();
-    
+
     private static long add_reference(View v) {
         references.add(v);
         return View.getCPtr(v);
     }
 
-  public static void register_view(View view) {
-    JavaControllerJNI.register_view(add_reference(view), view);
-  }
+    public static void register_view(View view) {
+        JavaControllerJNI.register_view(add_reference(view), view);
+    }
 
 }
index 374e7ec..3074df6 100644 (file)
@@ -23,6 +23,7 @@ public class JavaControllerJNI {
     public final static native void delete_Controller(long jarg1);
     public final static native long Controller_createObject(long jarg1, Controller jarg1_, int jarg2);
     public final static native void Controller_deleteObject(long jarg1, Controller jarg1_, long jarg2);
+    public final static native long Controller_cloneObject(long jarg1, Controller jarg1_, long jarg2);
     public final static native boolean Controller_getObjectProperty__SWIG_1(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, int[] jarg5);
     public final static native boolean Controller_getObjectProperty__SWIG_2(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, double[] jarg5);
     public final static native boolean Controller_getObjectProperty__SWIG_3(long jarg1, Controller jarg1_, long jarg2, int jarg3, int jarg4, String[] jarg5);
index aeb0088..c623a75 100644 (file)
@@ -9,10 +9,10 @@
 package org.scilab.modules.xcos;
 
 public enum Kind {
-  ANNOTATION,
-  BLOCK,
-  DIAGRAM,
-  LINK,
-  PORT;
+    ANNOTATION,
+    BLOCK,
+    DIAGRAM,
+    LINK,
+    PORT;
 }
 
index cd47fbb..ca73a9d 100644 (file)
@@ -12,6 +12,8 @@ public enum ObjectProperties {
     PARENT_DIAGRAM,
     GEOMETRY,
     DESCRIPTION,
+    FONT,
+    FONT_SIZE,
     RELATED_TO,
     INTERFACE_FUNCTION,
     SIM_FUNCTION_NAME,
@@ -61,6 +63,8 @@ public enum ObjectProperties {
     TITLE,
     PATH,
     PROPERTIES,
-    DIAGRAM_CONTEXT;
+    DIAGRAM_CONTEXT,
+    VERSION_NUMBER,
+    MAX_OBJECT_PROPERTIES;
 }
 
index 807ac93..fdc2564 100644 (file)
@@ -9,8 +9,8 @@
 package org.scilab.modules.xcos;
 
 public enum UpdateStatus {
-  SUCCESS,
-  NO_CHANGES,
-  FAIL;
+    SUCCESS,
+    NO_CHANGES,
+    FAIL;
 }
 
index d7a89a1..63c90d7 100644 (file)
@@ -9,70 +9,70 @@
 package org.scilab.modules.xcos;
 
 public class VectorOfBool {
-  private long swigCPtr;
-  protected boolean swigCMemOwn;
-
-  protected VectorOfBool(long cPtr, boolean cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = cPtr;
-  }
-
-  protected static long getCPtr(VectorOfBool obj) {
-    return (obj == null) ? 0 : obj.swigCPtr;
-  }
-
-  protected void finalize() {
-    delete();
-  }
-
-  public synchronized void delete() {
-    if (swigCPtr != 0) {
-      if (swigCMemOwn) {
-        swigCMemOwn = false;
-        JavaControllerJNI.delete_VectorOfBool(swigCPtr);
-      }
-      swigCPtr = 0;
+    private long swigCPtr;
+    protected boolean swigCMemOwn;
+
+    protected VectorOfBool(long cPtr, boolean cMemoryOwn) {
+        swigCMemOwn = cMemoryOwn;
+        swigCPtr = cPtr;
     }
-  }
 
-  public VectorOfBool() {
-    this(JavaControllerJNI.new_VectorOfBool__SWIG_0(), true);
-  }
+    protected static long getCPtr(VectorOfBool obj) {
+        return (obj == null) ? 0 : obj.swigCPtr;
+    }
 
-  public VectorOfBool(long n) {
-    this(JavaControllerJNI.new_VectorOfBool__SWIG_1(n), true);
-  }
+    protected void finalize() {
+        delete();
+    }
 
-  public long size() {
-    return JavaControllerJNI.VectorOfBool_size(swigCPtr, this);
-  }
+    public synchronized void delete() {
+        if (swigCPtr != 0) {
+            if (swigCMemOwn) {
+                swigCMemOwn = false;
+                JavaControllerJNI.delete_VectorOfBool(swigCPtr);
+            }
+            swigCPtr = 0;
+        }
+    }
 
-  public long capacity() {
-    return JavaControllerJNI.VectorOfBool_capacity(swigCPtr, this);
-  }
+    public VectorOfBool() {
+        this(JavaControllerJNI.new_VectorOfBool__SWIG_0(), true);
+    }
 
-  public void reserve(long n) {
-    JavaControllerJNI.VectorOfBool_reserve(swigCPtr, this, n);
-  }
+    public VectorOfBool(long n) {
+        this(JavaControllerJNI.new_VectorOfBool__SWIG_1(n), true);
+    }
 
-  public boolean isEmpty() {
-    return JavaControllerJNI.VectorOfBool_isEmpty(swigCPtr, this);
-  }
+    public long size() {
+        return JavaControllerJNI.VectorOfBool_size(swigCPtr, this);
+    }
 
-  public void clear() {
-    JavaControllerJNI.VectorOfBool_clear(swigCPtr, this);
-  }
+    public long capacity() {
+        return JavaControllerJNI.VectorOfBool_capacity(swigCPtr, this);
+    }
 
-  public void add(boolean x) {
-    JavaControllerJNI.VectorOfBool_add(swigCPtr, this, x);
-  }
+    public void reserve(long n) {
+        JavaControllerJNI.VectorOfBool_reserve(swigCPtr, this, n);
+    }
 
-  public boolean get(int i) {
-    return JavaControllerJNI.VectorOfBool_get(swigCPtr, this, i);
-  }
+    public boolean isEmpty() {
+        return JavaControllerJNI.VectorOfBool_isEmpty(swigCPtr, this);
+    }
+
+    public void clear() {
+        JavaControllerJNI.VectorOfBool_clear(swigCPtr, this);
+    }
+
+    public void add(boolean x) {
+        JavaControllerJNI.VectorOfBool_add(swigCPtr, this, x);
+    }
+
+    public boolean get(int i) {
+        return JavaControllerJNI.VectorOfBool_get(swigCPtr, this, i);
+    }
 
-  public void set(int i, boolean val) {
-    JavaControllerJNI.VectorOfBool_set(swigCPtr, this, i, val);
-  }
+    public void set(int i, boolean val) {
+        JavaControllerJNI.VectorOfBool_set(swigCPtr, this, i, val);
+    }
 
 }
index 9940fa6..557611e 100644 (file)
@@ -9,70 +9,70 @@
 package org.scilab.modules.xcos;
 
 public class VectorOfDouble {
-  private long swigCPtr;
-  protected boolean swigCMemOwn;
-
-  protected VectorOfDouble(long cPtr, boolean cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = cPtr;
-  }
-
-  protected static long getCPtr(VectorOfDouble obj) {
-    return (obj == null) ? 0 : obj.swigCPtr;
-  }
-
-  protected void finalize() {
-    delete();
-  }
-
-  public synchronized void delete() {
-    if (swigCPtr != 0) {
-      if (swigCMemOwn) {
-        swigCMemOwn = false;
-        JavaControllerJNI.delete_VectorOfDouble(swigCPtr);
-      }
-      swigCPtr = 0;
+    private long swigCPtr;
+    protected boolean swigCMemOwn;
+
+    protected VectorOfDouble(long cPtr, boolean cMemoryOwn) {
+        swigCMemOwn = cMemoryOwn;
+        swigCPtr = cPtr;
     }
-  }
 
-  public VectorOfDouble() {
-    this(JavaControllerJNI.new_VectorOfDouble__SWIG_0(), true);
-  }
+    protected static long getCPtr(VectorOfDouble obj) {
+        return (obj == null) ? 0 : obj.swigCPtr;
+    }
 
-  public VectorOfDouble(long n) {
-    this(JavaControllerJNI.new_VectorOfDouble__SWIG_1(n), true);
-  }
+    protected void finalize() {
+        delete();
+    }
 
-  public long size() {
-    return JavaControllerJNI.VectorOfDouble_size(swigCPtr, this);
-  }
+    public synchronized void delete() {
+        if (swigCPtr != 0) {
+            if (swigCMemOwn) {
+                swigCMemOwn = false;
+                JavaControllerJNI.delete_VectorOfDouble(swigCPtr);
+            }
+            swigCPtr = 0;
+        }
+    }
 
-  public long capacity() {
-    return JavaControllerJNI.VectorOfDouble_capacity(swigCPtr, this);
-  }
+    public VectorOfDouble() {
+        this(JavaControllerJNI.new_VectorOfDouble__SWIG_0(), true);
+    }
 
-  public void reserve(long n) {
-    JavaControllerJNI.VectorOfDouble_reserve(swigCPtr, this, n);
-  }
+    public VectorOfDouble(long n) {
+        this(JavaControllerJNI.new_VectorOfDouble__SWIG_1(n), true);
+    }
 
-  public boolean isEmpty() {
-    return JavaControllerJNI.VectorOfDouble_isEmpty(swigCPtr, this);
-  }
+    public long size() {
+        return JavaControllerJNI.VectorOfDouble_size(swigCPtr, this);
+    }
 
-  public void clear() {
-    JavaControllerJNI.VectorOfDouble_clear(swigCPtr, this);
-  }
+    public long capacity() {
+        return JavaControllerJNI.VectorOfDouble_capacity(swigCPtr, this);
+    }
 
-  public void add(double x) {
-    JavaControllerJNI.VectorOfDouble_add(swigCPtr, this, x);
-  }
+    public void reserve(long n) {
+        JavaControllerJNI.VectorOfDouble_reserve(swigCPtr, this, n);
+    }
 
-  public double get(int i) {
-    return JavaControllerJNI.VectorOfDouble_get(swigCPtr, this, i);
-  }
+    public boolean isEmpty() {
+        return JavaControllerJNI.VectorOfDouble_isEmpty(swigCPtr, this);
+    }
+
+    public void clear() {
+        JavaControllerJNI.VectorOfDouble_clear(swigCPtr, this);
+    }
+
+    public void add(double x) {
+        JavaControllerJNI.VectorOfDouble_add(swigCPtr, this, x);
+    }
+
+    public double get(int i) {
+        return JavaControllerJNI.VectorOfDouble_get(swigCPtr, this, i);
+    }
 
-  public void set(int i, double val) {
-    JavaControllerJNI.VectorOfDouble_set(swigCPtr, this, i, val);
-  }
+    public void set(int i, double val) {
+        JavaControllerJNI.VectorOfDouble_set(swigCPtr, this, i, val);
+    }
 
 }
index e6cc941..0ff7e37 100644 (file)
@@ -9,70 +9,70 @@
 package org.scilab.modules.xcos;
 
 public class VectorOfInt {
-  private long swigCPtr;
-  protected boolean swigCMemOwn;
-
-  protected VectorOfInt(long cPtr, boolean cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = cPtr;
-  }
-
-  protected static long getCPtr(VectorOfInt obj) {
-    return (obj == null) ? 0 : obj.swigCPtr;
-  }
-
-  protected void finalize() {
-    delete();
-  }
-
-  public synchronized void delete() {
-    if (swigCPtr != 0) {
-      if (swigCMemOwn) {
-        swigCMemOwn = false;
-        JavaControllerJNI.delete_VectorOfInt(swigCPtr);
-      }
-      swigCPtr = 0;
+    private long swigCPtr;
+    protected boolean swigCMemOwn;
+
+    protected VectorOfInt(long cPtr, boolean cMemoryOwn) {
+        swigCMemOwn = cMemoryOwn;
+        swigCPtr = cPtr;
     }
-  }
 
-  public VectorOfInt() {
-    this(JavaControllerJNI.new_VectorOfInt__SWIG_0(), true);
-  }
+    protected static long getCPtr(VectorOfInt obj) {
+        return (obj == null) ? 0 : obj.swigCPtr;
+    }
 
-  public VectorOfInt(long n) {
-    this(JavaControllerJNI.new_VectorOfInt__SWIG_1(n), true);
-  }
+    protected void finalize() {
+        delete();
+    }
 
-  public long size() {
-    return JavaControllerJNI.VectorOfInt_size(swigCPtr, this);
-  }
+    public synchronized void delete() {
+        if (swigCPtr != 0) {
+            if (swigCMemOwn) {
+                swigCMemOwn = false;
+                JavaControllerJNI.delete_VectorOfInt(swigCPtr);
+            }
+            swigCPtr = 0;
+        }
+    }
 
-  public long capacity() {
-    return JavaControllerJNI.VectorOfInt_capacity(swigCPtr, this);
-  }
+    public VectorOfInt() {
+        this(JavaControllerJNI.new_VectorOfInt__SWIG_0(), true);
+    }
 
-  public void reserve(long n) {
-    JavaControllerJNI.VectorOfInt_reserve(swigCPtr, this, n);
-  }
+    public VectorOfInt(long n) {
+        this(JavaControllerJNI.new_VectorOfInt__SWIG_1(n), true);
+    }
 
-  public boolean isEmpty() {
-    return JavaControllerJNI.VectorOfInt_isEmpty(swigCPtr, this);
-  }
+    public long size() {
+        return JavaControllerJNI.VectorOfInt_size(swigCPtr, this);
+    }
 
-  public void clear() {
-    JavaControllerJNI.VectorOfInt_clear(swigCPtr, this);
-  }
+    public long capacity() {
+        return JavaControllerJNI.VectorOfInt_capacity(swigCPtr, this);
+    }
 
-  public void add(int x) {
-    JavaControllerJNI.VectorOfInt_add(swigCPtr, this, x);
-  }
+    public void reserve(long n) {
+        JavaControllerJNI.VectorOfInt_reserve(swigCPtr, this, n);
+    }
 
-  public int get(int i) {
-    return JavaControllerJNI.VectorOfInt_get(swigCPtr, this, i);
-  }
+    public boolean isEmpty() {
+        return JavaControllerJNI.VectorOfInt_isEmpty(swigCPtr, this);
+    }
+
+    public void clear() {
+        JavaControllerJNI.VectorOfInt_clear(swigCPtr, this);
+    }
+
+    public void add(int x) {
+        JavaControllerJNI.VectorOfInt_add(swigCPtr, this, x);
+    }
+
+    public int get(int i) {
+        return JavaControllerJNI.VectorOfInt_get(swigCPtr, this, i);
+    }
 
-  public void set(int i, int val) {
-    JavaControllerJNI.VectorOfInt_set(swigCPtr, this, i, val);
-  }
+    public void set(int i, int val) {
+        JavaControllerJNI.VectorOfInt_set(swigCPtr, this, i, val);
+    }
 
 }
index 5cb4127..d585ebe 100644 (file)
@@ -9,70 +9,70 @@
 package org.scilab.modules.xcos;
 
 public class VectorOfScicosID {
-  private long swigCPtr;
-  protected boolean swigCMemOwn;
-
-  protected VectorOfScicosID(long cPtr, boolean cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = cPtr;
-  }
-
-  protected static long getCPtr(VectorOfScicosID obj) {
-    return (obj == null) ? 0 : obj.swigCPtr;
-  }
-
-  protected void finalize() {
-    delete();
-  }
-
-  public synchronized void delete() {
-    if (swigCPtr != 0) {
-      if (swigCMemOwn) {
-        swigCMemOwn = false;
-        JavaControllerJNI.delete_VectorOfScicosID(swigCPtr);
-      }
-      swigCPtr = 0;
+    private long swigCPtr;
+    protected boolean swigCMemOwn;
+
+    protected VectorOfScicosID(long cPtr, boolean cMemoryOwn) {
+        swigCMemOwn = cMemoryOwn;
+        swigCPtr = cPtr;
     }
-  }
 
-  public VectorOfScicosID() {
-    this(JavaControllerJNI.new_VectorOfScicosID__SWIG_0(), true);
-  }
+    protected static long getCPtr(VectorOfScicosID obj) {
+        return (obj == null) ? 0 : obj.swigCPtr;
+    }
 
-  public VectorOfScicosID(long n) {
-    this(JavaControllerJNI.new_VectorOfScicosID__SWIG_1(n), true);
-  }
+    protected void finalize() {
+        delete();
+    }
 
-  public long size() {
-    return JavaControllerJNI.VectorOfScicosID_size(swigCPtr, this);
-  }
+    public synchronized void delete() {
+        if (swigCPtr != 0) {
+            if (swigCMemOwn) {
+                swigCMemOwn = false;
+                JavaControllerJNI.delete_VectorOfScicosID(swigCPtr);
+            }
+            swigCPtr = 0;
+        }
+    }
 
-  public long capacity() {
-    return JavaControllerJNI.VectorOfScicosID_capacity(swigCPtr, this);
-  }
+    public VectorOfScicosID() {
+        this(JavaControllerJNI.new_VectorOfScicosID__SWIG_0(), true);
+    }
 
-  public void reserve(long n) {
-    JavaControllerJNI.VectorOfScicosID_reserve(swigCPtr, this, n);
-  }
+    public VectorOfScicosID(long n) {
+        this(JavaControllerJNI.new_VectorOfScicosID__SWIG_1(n), true);
+    }
 
-  public boolean isEmpty() {
-    return JavaControllerJNI.VectorOfScicosID_isEmpty(swigCPtr, this);
-  }
+    public long size() {
+        return JavaControllerJNI.VectorOfScicosID_size(swigCPtr, this);
+    }
 
-  public void clear() {
-    JavaControllerJNI.VectorOfScicosID_clear(swigCPtr, this);
-  }
+    public long capacity() {
+        return JavaControllerJNI.VectorOfScicosID_capacity(swigCPtr, this);
+    }
 
-  public void add(long x) {
-    JavaControllerJNI.VectorOfScicosID_add(swigCPtr, this, x);
-  }
+    public void reserve(long n) {
+        JavaControllerJNI.VectorOfScicosID_reserve(swigCPtr, this, n);
+    }
 
-  public long get(int i) {
-    return JavaControllerJNI.VectorOfScicosID_get(swigCPtr, this, i);
-  }
+    public boolean isEmpty() {
+        return JavaControllerJNI.VectorOfScicosID_isEmpty(swigCPtr, this);
+    }
+
+    public void clear() {
+        JavaControllerJNI.VectorOfScicosID_clear(swigCPtr, this);
+    }
+
+    public void add(long x) {
+        JavaControllerJNI.VectorOfScicosID_add(swigCPtr, this, x);
+    }
+
+    public long get(int i) {
+        return JavaControllerJNI.VectorOfScicosID_get(swigCPtr, this, i);
+    }
 
-  public void set(int i, long val) {
-    JavaControllerJNI.VectorOfScicosID_set(swigCPtr, this, i, val);
-  }
+    public void set(int i, long val) {
+        JavaControllerJNI.VectorOfScicosID_set(swigCPtr, this, i, val);
+    }
 
 }
index 47ee8ac..690727a 100644 (file)
@@ -9,70 +9,70 @@
 package org.scilab.modules.xcos;
 
 public class VectorOfString {
-  private long swigCPtr;
-  protected boolean swigCMemOwn;
-
-  protected VectorOfString(long cPtr, boolean cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = cPtr;
-  }
-
-  protected static long getCPtr(VectorOfString obj) {
-    return (obj == null) ? 0 : obj.swigCPtr;
-  }
-
-  protected void finalize() {
-    delete();
-  }
-
-  public synchronized void delete() {
-    if (swigCPtr != 0) {
-      if (swigCMemOwn) {
-        swigCMemOwn = false;
-        JavaControllerJNI.delete_VectorOfString(swigCPtr);
-      }
-      swigCPtr = 0;
+    private long swigCPtr;
+    protected boolean swigCMemOwn;
+
+    protected VectorOfString(long cPtr, boolean cMemoryOwn) {
+        swigCMemOwn = cMemoryOwn;
+        swigCPtr = cPtr;
     }
-  }
 
-  public VectorOfString() {
-    this(JavaControllerJNI.new_VectorOfString__SWIG_0(), true);
-  }
+    protected static long getCPtr(VectorOfString obj) {
+        return (obj == null) ? 0 : obj.swigCPtr;
+    }
 
-  public VectorOfString(long n) {
-    this(JavaControllerJNI.new_VectorOfString__SWIG_1(n), true);
-  }
+    protected void finalize() {
+        delete();
+    }
 
-  public long size() {
-    return JavaControllerJNI.VectorOfString_size(swigCPtr, this);
-  }
+    public synchronized void delete() {
+        if (swigCPtr != 0) {
+            if (swigCMemOwn) {
+                swigCMemOwn = false;
+                JavaControllerJNI.delete_VectorOfString(swigCPtr);
+            }
+            swigCPtr = 0;
+        }
+    }
 
-  public long capacity() {
-    return JavaControllerJNI.VectorOfString_capacity(swigCPtr, this);
-  }
+    public VectorOfString() {
+        this(JavaControllerJNI.new_VectorOfString__SWIG_0(), true);
+    }
 
-  public void reserve(long n) {
-    JavaControllerJNI.VectorOfString_reserve(swigCPtr, this, n);
-  }
+    public VectorOfString(long n) {
+        this(JavaControllerJNI.new_VectorOfString__SWIG_1(n), true);
+    }
 
-  public boolean isEmpty() {
-    return JavaControllerJNI.VectorOfString_isEmpty(swigCPtr, this);
-  }
+    public long size() {
+        return JavaControllerJNI.VectorOfString_size(swigCPtr, this);
+    }
 
-  public void clear() {
-    JavaControllerJNI.VectorOfString_clear(swigCPtr, this);
-  }
+    public long capacity() {
+        return JavaControllerJNI.VectorOfString_capacity(swigCPtr, this);
+    }
 
-  public void add(String x) {
-    JavaControllerJNI.VectorOfString_add(swigCPtr, this, x);
-  }
+    public void reserve(long n) {
+        JavaControllerJNI.VectorOfString_reserve(swigCPtr, this, n);
+    }
 
-  public String get(int i) {
-    return JavaControllerJNI.VectorOfString_get(swigCPtr, this, i);
-  }
+    public boolean isEmpty() {
+        return JavaControllerJNI.VectorOfString_isEmpty(swigCPtr, this);
+    }
+
+    public void clear() {
+        JavaControllerJNI.VectorOfString_clear(swigCPtr, this);
+    }
+
+    public void add(String x) {
+        JavaControllerJNI.VectorOfString_add(swigCPtr, this, x);
+    }
+
+    public String get(int i) {
+        return JavaControllerJNI.VectorOfString_get(swigCPtr, this, i);
+    }
 
-  public void set(int i, String val) {
-    JavaControllerJNI.VectorOfString_set(swigCPtr, this, i, val);
-  }
+    public void set(int i, String val) {
+        JavaControllerJNI.VectorOfString_set(swigCPtr, this, i, val);
+    }
 
 }
index 86bd1c7..58bef5d 100644 (file)
@@ -9,70 +9,70 @@
 package org.scilab.modules.xcos;
 
 public class View {
-  private long swigCPtr;
-  protected boolean swigCMemOwn;
+    private long swigCPtr;
+    protected boolean swigCMemOwn;
 
-  protected View(long cPtr, boolean cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = cPtr;
-  }
+    protected View(long cPtr, boolean cMemoryOwn) {
+        swigCMemOwn = cMemoryOwn;
+        swigCPtr = cPtr;
+    }
+
+    protected static long getCPtr(View obj) {
+        return (obj == null) ? 0 : obj.swigCPtr;
+    }
 
-  protected static long getCPtr(View obj) {
-    return (obj == null) ? 0 : obj.swigCPtr;
-  }
+    protected void finalize() {
+        delete();
+    }
 
-  protected void finalize() {
-    delete();
-  }
+    public synchronized void delete() {
+        if (swigCPtr != 0) {
+            if (swigCMemOwn) {
+                swigCMemOwn = false;
+                JavaControllerJNI.delete_View(swigCPtr);
+            }
+            swigCPtr = 0;
+        }
+    }
 
-  public synchronized void delete() {
-    if (swigCPtr != 0) {
-      if (swigCMemOwn) {
+    protected void swigDirectorDisconnect() {
         swigCMemOwn = false;
-        JavaControllerJNI.delete_View(swigCPtr);
-      }
-      swigCPtr = 0;
+        delete();
+    }
+
+    public void swigReleaseOwnership() {
+        swigCMemOwn = false;
+        JavaControllerJNI.View_change_ownership(this, swigCPtr, false);
+    }
+
+    public void swigTakeOwnership() {
+        swigCMemOwn = true;
+        JavaControllerJNI.View_change_ownership(this, swigCPtr, true);
+    }
+
+    public View() {
+        this(JavaControllerJNI.new_View(), true);
+        JavaControllerJNI.View_director_connect(this, swigCPtr, swigCMemOwn, true);
+    }
+
+    public void objectCreated(long uid, Kind k) {
+        JavaControllerJNI.View_objectCreated(swigCPtr, this, uid, k.ordinal());
+    }
+
+    public void objectDeleted(long uid) {
+        JavaControllerJNI.View_objectDeleted(swigCPtr, this, uid);
+    }
+
+    public void objectUpdated(long uid, Kind k) {
+        JavaControllerJNI.View_objectUpdated(swigCPtr, this, uid, k.ordinal());
+    }
+
+    public void propertyUpdated(long uid, Kind k, ObjectProperties p) {
+        JavaControllerJNI.View_propertyUpdated__SWIG_0(swigCPtr, this, uid, k.ordinal(), p.ordinal());
+    }
+
+    public void propertyUpdated(long uid, Kind k, ObjectProperties p, UpdateStatus u) {
+        JavaControllerJNI.View_propertyUpdated__SWIG_1(swigCPtr, this, uid, k.ordinal(), p.ordinal(), u.ordinal());
     }
-  }
-
-  protected void swigDirectorDisconnect() {
-    swigCMemOwn = false;
-    delete();
-  }
-
-  public void swigReleaseOwnership() {
-    swigCMemOwn = false;
-    JavaControllerJNI.View_change_ownership(this, swigCPtr, false);
-  }
-
-  public void swigTakeOwnership() {
-    swigCMemOwn = true;
-    JavaControllerJNI.View_change_ownership(this, swigCPtr, true);
-  }
-
-  public View() {
-    this(JavaControllerJNI.new_View(), true);
-    JavaControllerJNI.View_director_connect(this, swigCPtr, swigCMemOwn, true);
-  }
-
-  public void objectCreated(long uid, Kind k) {
-    JavaControllerJNI.View_objectCreated(swigCPtr, this, uid, k.ordinal());
-  }
-
-  public void objectDeleted(long uid) {
-    JavaControllerJNI.View_objectDeleted(swigCPtr, this, uid);
-  }
-
-  public void objectUpdated(long uid, Kind k) {
-    JavaControllerJNI.View_objectUpdated(swigCPtr, this, uid, k.ordinal());
-  }
-
-  public void propertyUpdated(long uid, Kind k, ObjectProperties p) {
-    JavaControllerJNI.View_propertyUpdated__SWIG_0(swigCPtr, this, uid, k.ordinal(), p.ordinal());
-  }
-
-  public void propertyUpdated(long uid, Kind k, ObjectProperties p, UpdateStatus u) {
-    JavaControllerJNI.View_propertyUpdated__SWIG_1(swigCPtr, this, uid, k.ordinal(), p.ordinal(), u.ordinal());
-  }
 
 }
index be04311..6a26f1a 100644 (file)
@@ -863,6 +863,23 @@ SWIGEXPORT void JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controlle
 }
 
 
+SWIGEXPORT jlong JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1cloneObject(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
+  jlong jresult = 0 ;
+  org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
+  ScicosID arg2 ;
+  ScicosID result;
+  
+  (void)jenv;
+  (void)jcls;
+  (void)jarg1_;
+  arg1 = *(org_scilab_modules_scicos::Controller **)&jarg1; 
+  arg2 = (ScicosID)jarg2; 
+  result = (ScicosID)(arg1)->cloneObject(arg2);
+  jresult = (jlong)result; 
+  return jresult;
+}
+
+
 SWIGEXPORT jboolean JNICALL Java_org_scilab_modules_xcos_JavaControllerJNI_Controller_1getObjectProperty_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jint jarg3, jint jarg4, jintArray jarg5) {
   jboolean jresult = 0 ;
   org_scilab_modules_scicos::Controller *arg1 = (org_scilab_modules_scicos::Controller *) 0 ;
index 3385b17..5cddc90 100644 (file)
@@ -11,7 +11,8 @@
 #ifndef SWIG_JavaController_WRAP_H_
 #define SWIG_JavaController_WRAP_H_
 
-class SwigDirector_View : public org_scilab_modules_scicos::View, public Swig::Director {
+class SwigDirector_View : public org_scilab_modules_scicos::View, public Swig::Director
+{
 
 public:
     void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
@@ -22,8 +23,9 @@ public:
     virtual void objectUpdated(ScicosID const &uid, kind_t k);
     virtual void propertyUpdated(ScicosID const &uid, kind_t k, object_properties_t p);
 public:
-    bool swig_overrides(int n) {
-      return (n < 4 ? swig_override[n] : false);
+    bool swig_overrides(int n)
+    {
+        return (n < 4 ? swig_override[n] : false);
     }
 protected:
     bool swig_override[4];