Merge remote-tracking branch 'origin/master' into similan 50/12250/1
Antoine ELIAS [Fri, 9 Aug 2013 08:42:50 +0000 (10:42 +0200)]
Conflicts:
scilab/modules/graphic_objects/includes/DataLoader.hxx
scilab/modules/graphic_objects/includes/MatPlotDecomposer.hxx
scilab/modules/graphic_objects/src/cpp/NgonGridDataDecomposer.cpp
scilab/modules/graphic_objects/src/cpp/NgonGridMatplotData.cpp
scilab/modules/graphic_objects/src/cpp/NgonGridMatplotDataDecomposer.cpp
scilab/modules/graphic_objects/src/cpp/Triangulator.cpp
scilab/modules/graphic_objects/src/cpp/getGraphicObjectProperty.cpp
scilab/modules/graphic_objects/src/cpp/setGraphicObjectProperty.cpp
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoader.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoaderJNI.java
scilab/modules/graphic_objects/src/jni/DataLoader_wrap.c
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/canvas/SwingScilabCanvasImpl.java
scilab/modules/javasci/src/java/org/scilab/modules/javasci/Scilab.java
scilab/modules/types/includes/ScilabToJava.hxx
scilab/modules/types/src/cpp/ScilabToJava.cpp
scilab/modules/types/src/java/org/scilab/modules/types/GetScilabVariable.java
scilab/modules/types/src/java/org/scilab/modules/types/GetScilabVariableJNI.java
scilab/modules/types/src/jni/ScilabVariables.cpp
scilab/modules/types/src/jni/ScilabVariables.giws.xml
scilab/modules/types/src/jni/ScilabVariables.hxx
scilab/modules/types/src/jni/ScilabVariablesRefresh.cpp
scilab/modules/types/src/jni/ScilabVariablesRefresh.hxx
scilab/modules/types/src/jni/getScilabVariable_wrap.c

Change-Id: I92d39551334ff476c757d59c28c5b4efbeb6443b

75 files changed:
1  2 
scilab/modules/action_binding/src/jni/Signal.cpp
scilab/modules/action_binding/src/jni/Signal.hxx
scilab/modules/console/src/jni/CallScilabBridge.cpp
scilab/modules/console/src/jni/CallScilabBridge.hxx
scilab/modules/graphic_export/src/jni/Driver.cpp
scilab/modules/graphic_export/src/jni/Driver.hxx
scilab/modules/graphic_export/src/jni/FileExporter.cpp
scilab/modules/graphic_export/src/jni/FileExporter.hxx
scilab/modules/graphic_export/src/jni/JOGLConstant.cpp
scilab/modules/graphic_export/src/jni/JOGLConstant.hxx
scilab/modules/graphic_objects/src/cpp/NgonGridMatplotDataDecomposer.cpp
scilab/modules/graphic_objects/src/cpp/Triangulator.cpp
scilab/modules/graphic_objects/src/jni/CallGraphicController.cpp
scilab/modules/graphic_objects/src/jni/CallGraphicController.hxx
scilab/modules/graphic_objects/src/jni/DataLoader_wrap.c
scilab/modules/graphic_objects/src/jni/GraphicObjectBuilder.cpp
scilab/modules/graphic_objects/src/jni/GraphicObjectBuilder.hxx
scilab/modules/graphic_objects/src/jni/ScilabNativeView_wrap.c
scilab/modules/graphics/Makefile.am
scilab/modules/graphics/Makefile.in
scilab/modules/graphics/graphics.vcxproj
scilab/modules/graphics/graphics.vcxproj.filters
scilab/modules/graphics/src/c/sciCall.c
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/canvas/SwingScilabCanvasImpl.java
scilab/modules/gui/src/jni/CallScilabBridge.cpp
scilab/modules/gui/src/jni/CallScilabBridge.hxx
scilab/modules/gui/src/jni/Juigetfile.cpp
scilab/modules/gui/src/jni/Juigetfile.hxx
scilab/modules/gui/src/jni/Jxclick.cpp
scilab/modules/gui/src/jni/Jxclick.hxx
scilab/modules/gui/src/jni/Jxgetmouse.cpp
scilab/modules/gui/src/jni/Jxgetmouse.hxx
scilab/modules/gui/src/jni/LookAndFeelManager.cpp
scilab/modules/gui/src/jni/LookAndFeelManager.hxx
scilab/modules/gui/src/jni/ScilabDisplayTree.cpp
scilab/modules/gui/src/jni/ScilabDisplayTree.hxx
scilab/modules/gui/src/jni/SwingView.cpp
scilab/modules/gui/src/jni/SwingView.hxx
scilab/modules/gui/src/jni/UIElementMapper.cpp
scilab/modules/gui/src/jni/UIElementMapper.hxx
scilab/modules/helptools/src/jni/BuildDocObject.cpp
scilab/modules/helptools/src/jni/BuildDocObject.hxx
scilab/modules/helptools/src/jni/SciDocMain.cpp
scilab/modules/helptools/src/jni/SciDocMain.hxx
scilab/modules/history_browser/src/jni/CommandHistory.cpp
scilab/modules/history_browser/src/jni/CommandHistory.hxx
scilab/modules/localization/src/jni/setdefaultlanguage_wrap.c
scilab/modules/preferences/src/jni/ScilabPreferences.cpp
scilab/modules/preferences/src/jni/ScilabPreferences.hxx
scilab/modules/renderer/src/jni/CallRenderer.cpp
scilab/modules/renderer/src/jni/CallRenderer.hxx
scilab/modules/renderer/src/jni/XlFontManager.cpp
scilab/modules/renderer/src/jni/XlFontManager.hxx
scilab/modules/scicos_blocks/src/jni/AfficheBlock.cpp
scilab/modules/scicos_blocks/src/jni/AfficheBlock.hxx
scilab/modules/scinotes/src/jni/SciNotes.cpp
scilab/modules/scinotes/src/jni/SciNotes.hxx
scilab/modules/scirenderer/src/org/scilab/forge/scirenderer/implementation/jogl/JoGLCanvas.java
scilab/modules/types/src/jni/ScilabVariables.cpp
scilab/modules/types/src/jni/ScilabVariables.hxx
scilab/modules/types/src/jni/ScilabVariablesRefresh.cpp
scilab/modules/types/src/jni/ScilabVariablesRefresh.hxx
scilab/modules/types/src/jni/getScilabVariable_wrap.c
scilab/modules/ui_data/src/jni/BrowseVar.cpp
scilab/modules/ui_data/src/jni/BrowseVar.hxx
scilab/modules/ui_data/src/jni/EditVar.cpp
scilab/modules/ui_data/src/jni/EditVar.hxx
scilab/modules/ui_data/src/jni/FileBrowser.cpp
scilab/modules/ui_data/src/jni/FileBrowser.hxx
scilab/modules/xcos/src/jni/Modelica.cpp
scilab/modules/xcos/src/jni/Modelica.hxx
scilab/modules/xcos/src/jni/Palette.cpp
scilab/modules/xcos/src/jni/Palette.hxx
scilab/modules/xcos/src/jni/Xcos.cpp
scilab/modules/xcos/src/jni/Xcos.hxx

@@@ -1,6 -1,6 +1,6 @@@
  #include "Signal.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Signal.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Signal.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\action_binding\src\jni\ --throws-exception-on-error --description-file Signal.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Signal.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Signal.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\action_binding\src\jni\ --throws-exception-on-error --description-file Signal.giws.xml 
  */
  /*
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "CallScilabBridge.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/CallScilabBridge.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/CallScilabBridge.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\console\src\jni\ --throws-exception-on-error --description-file CallScilabBridge.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/CallScilabBridge.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/CallScilabBridge.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\console\src\jni\ --throws-exception-on-error --description-file CallScilabBridge.giws.xml 
  */
  /*
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "Driver.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Driver.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Driver.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\graphic_export\src\jni\ --throws-exception-on-error --description-file Driver.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Driver.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Driver.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\graphic_export\src\jni\ --throws-exception-on-error --description-file Driver.giws.xml 
  */
  /*
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "FileExporter.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/FileExporter.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/FileExporter.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\graphic_export\src\jni\ --throws-exception-on-error --description-file FileExporter.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/FileExporter.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/FileExporter.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\graphic_export\src\jni\ --throws-exception-on-error --description-file FileExporter.giws.xml 
  */
  /*
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "JOGLConstant.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/JOGLConstant.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/JOGLConstant.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\graphic_export\src\jni\ --throws-exception-on-error --description-file JOGLConstant.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/JOGLConstant.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/JOGLConstant.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\graphic_export\src\jni\ --throws-exception-on-error --description-file JOGLConstant.giws.xml 
  */
  /*
  
@@@ -195,11 -193,11 +195,10 @@@ void NgonGridMatplotDataDecomposer::fil
                      buffer[bufferOffset + 1] = (float)(ycoords[k] * scale[1] + translation[1]);
                  }
  
-                 /*                if (coordinateMask & 0x4)
-                                 {
-                                     zij = getZCoordinate(z, numX, numY, xindices[k], yindices[k], logMask & 0x4);
-                                     buffer[bufferOffset +2] = (float)(zij * scale[2] + translation[2]);
-                                   }*/
 -                if (coordinateMask & 0x4)
 -                {
++                /*if (coordinateMask & 0x4)
+                     zij = getZCoordinate(z, numX, numY, xindices[k], yindices[k], logMask & 0x4);
 -                    buffer[bufferOffset + 2] = (float)(zij * scale[2] + translation[2]);
 -                }
++                    buffer[bufferOffset +2] = (float)(zij * scale[2] + translation[2]);
++                }*/
  
                  if (elementsSize == 4 && (coordinateMask & 0x8))
                  {
  
                  bufferOffset += elementsSize;
              }
--
          }
      }
  
@@@ -324,21 -317,21 +322,21 @@@ void NgonGridMatplotDataDecomposer::fil
  
  #else
  
 -    for (int j = 0; j < numY - 1; j++)
 +    getRGBAData((ImageType)imagetype, (DataType)datatype, (GLType)gltype, data, buffer, elementsSize, numY - 1, numX - 1, colormap, colormapSize);
 +
 +    /*for (int j = 0; j < numY-1; j++)
      {
-         for (int i = 0; i < numX-1; i++)
+         for (int i = 0; i < numX - 1; i++)
          {
              float facetColor[3];
  
              currentZ = z[i * (numY - 1) + (numY - 2 - j)];
 -
              ColorComputer::getDirectColor((double) currentZ - 1.0, colormap, colormapSize, facetColor);
 -
              writeFacetColorToBuffer(buffer, bufferOffset, facetColor, elementsSize);
  
-             bufferOffset += 4*elementsSize;
+             bufferOffset += 4 * elementsSize;
          }
 -    }
 +    }*/
  
  #endif
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "CallGraphicController.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\graphic_objects\src\jni\ --throws-exception-on-error --description-file graphic_objects.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\graphic_objects\src\jni\ --throws-exception-on-error --description-file graphic_objects.giws.xml 
  */
  /*
  
@@@ -1,11 -1,11 +1,11 @@@
  /* ----------------------------------------------------------------------------
   * This file was automatically generated by SWIG (http://www.swig.org).
   * Version 2.0.7
-- *
-- * This file is not intended to be easily readable and contains a number of
++ * 
++ * This file is not intended to be easily readable and contains a number of 
   * coding conventions designed to improve portability and efficiency. Do not make
-- * changes to this file unless you know what you are doing--modify the SWIG
-- * interface file instead.
++ * changes to this file unless you know what you are doing--modify the SWIG 
++ * interface file instead. 
   * ----------------------------------------------------------------------------- */
  
  #define SWIGJAVA
  #ifndef SWIGUNUSED
  # if defined(__GNUC__)
  #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
--#     define SWIGUNUSED __attribute__ ((__unused__))
++#     define SWIGUNUSED __attribute__ ((__unused__)) 
  #   else
  #     define SWIGUNUSED
  #   endif
  # elif defined(__ICC)
--#   define SWIGUNUSED __attribute__ ((__unused__))
++#   define SWIGUNUSED __attribute__ ((__unused__)) 
  # else
--#   define SWIGUNUSED
++#   define SWIGUNUSED 
  # endif
  #endif
  
  #ifndef SWIG_MSC_UNSUPPRESS_4505
  # if defined(_MSC_VER)
  #   pragma warning(disable : 4505) /* unreferenced local function has been removed */
--# endif
++# endif 
  #endif
  
  #ifndef SWIGUNUSEDPARM
  # ifdef __cplusplus
  #   define SWIGUNUSEDPARM(p)
  # else
--#   define SWIGUNUSEDPARM(p) p SWIGUNUSED
++#   define SWIGUNUSEDPARM(p) p SWIGUNUSED 
  # endif
  #endif
  
  #   define SWIGSTDCALL __stdcall
  # else
  #   define SWIGSTDCALL
--# endif
++# endif 
  #endif
  
  /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
  
  /* Fix for jlong on some versions of gcc on Windows */
  #if defined(__GNUC__) && !defined(__INTEL_COMPILER)
--typedef long long __int64;
++  typedef long long __int64;
  #endif
  
  /* Fix for jlong on 64-bit x86 Solaris */
  
  
  /* Support for throwing Java exceptions */
--typedef enum
--{
--    SWIG_JavaOutOfMemoryError = 1,
--    SWIG_JavaIOException,
--    SWIG_JavaRuntimeException,
--    SWIG_JavaIndexOutOfBoundsException,
--    SWIG_JavaArithmeticException,
--    SWIG_JavaIllegalArgumentException,
--    SWIG_JavaNullPointerException,
--    SWIG_JavaDirectorPureVirtual,
--    SWIG_JavaUnknownError
++typedef enum {
++  SWIG_JavaOutOfMemoryError = 1, 
++  SWIG_JavaIOException, 
++  SWIG_JavaRuntimeException, 
++  SWIG_JavaIndexOutOfBoundsException,
++  SWIG_JavaArithmeticException,
++  SWIG_JavaIllegalArgumentException,
++  SWIG_JavaNullPointerException,
++  SWIG_JavaDirectorPureVirtual,
++  SWIG_JavaUnknownError
  } SWIG_JavaExceptionCodes;
  
--typedef struct
--{
--    SWIG_JavaExceptionCodes code;
--    const char *java_exception;
++typedef struct {
++  SWIG_JavaExceptionCodes code;
++  const char *java_exception;
  } SWIG_JavaExceptions_t;
  
  
--static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg)
--{
--    jclass excep;
--    static const SWIG_JavaExceptions_t java_exceptions[] =
--    {
--        { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" },
--        { SWIG_JavaIOException, "java/io/IOException" },
--        { SWIG_JavaRuntimeException, "java/lang/RuntimeException" },
--        { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" },
--        { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" },
--        { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" },
--        { SWIG_JavaNullPointerException, "java/lang/NullPointerException" },
--        { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" },
--        { SWIG_JavaUnknownError,  "java/lang/UnknownError" },
--        { (SWIG_JavaExceptionCodes)0,  "java/lang/UnknownError" }
--    };
--    const SWIG_JavaExceptions_t *except_ptr = java_exceptions;
--
--    while (except_ptr->code != code && except_ptr->code)
--    {
--        except_ptr++;
--    }
--
--    (*jenv)->ExceptionClear(jenv);
--    excep = (*jenv)->FindClass(jenv, except_ptr->java_exception);
--    if (excep)
--    {
--        (*jenv)->ThrowNew(jenv, excep, msg);
--    }
++static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) {
++  jclass excep;
++  static const SWIG_JavaExceptions_t java_exceptions[] = {
++    { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" },
++    { SWIG_JavaIOException, "java/io/IOException" },
++    { SWIG_JavaRuntimeException, "java/lang/RuntimeException" },
++    { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" },
++    { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" },
++    { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" },
++    { SWIG_JavaNullPointerException, "java/lang/NullPointerException" },
++    { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" },
++    { SWIG_JavaUnknownError,  "java/lang/UnknownError" },
++    { (SWIG_JavaExceptionCodes)0,  "java/lang/UnknownError" }
++  };
++  const SWIG_JavaExceptions_t *except_ptr = java_exceptions;
++
++  while (except_ptr->code != code && except_ptr->code)
++    except_ptr++;
++
++  (*jenv)->ExceptionClear(jenv);
++  excep = (*jenv)->FindClass(jenv, except_ptr->java_exception);
++  if (excep)
++    (*jenv)->ThrowNew(jenv, excep, msg);
  }
  
  
@@@ -257,1370 -257,1188 +249,1007 @@@ static jdoubleArray SWIG_JavaArrayOutDo
  
  
  /* signed char[] support */
--static int SWIG_JavaArrayInSchar (JNIEnv *jenv, jbyte **jarr, signed char **carr, jbyteArray input)
--{
--    int i;
--    jsize sz;
--    if (!input)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
--        return 0;
--    }
--    sz = (*jenv)->GetArrayLength(jenv, input);
--    *jarr = (*jenv)->GetByteArrayElements(jenv, input, 0);
--    if (!*jarr)
--    {
--        return 0;
--    }
--    *carr = (signed char*) calloc(sz, sizeof(signed char));
--    if (!*carr)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
--        return 0;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        (*carr)[i] = (signed char)(*jarr)[i];
--    }
--    return 1;
++static int SWIG_JavaArrayInSchar (JNIEnv *jenv, jbyte **jarr, signed char **carr, jbyteArray input) {
++  int i;
++  jsize sz;
++  if (!input) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
++    return 0;
++  }
++  sz = (*jenv)->GetArrayLength(jenv, input);
++  *jarr = (*jenv)->GetByteArrayElements(jenv, input, 0);
++  if (!*jarr)
++    return 0; 
++  *carr = (signed char*) calloc(sz, sizeof(signed char)); 
++  if (!*carr) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
++    return 0;
++  }
++  for (i=0; i<sz; i++)
++    (*carr)[i] = (signed char)(*jarr)[i];
++  return 1;
  }
  
--static void SWIG_JavaArrayArgoutSchar (JNIEnv *jenv, jbyte *jarr, signed char *carr, jbyteArray input)
--{
--    int i;
--    jsize sz = (*jenv)->GetArrayLength(jenv, input);
--    for (i = 0; i < sz; i++)
--    {
--        jarr[i] = (jbyte)carr[i];
--    }
--    (*jenv)->ReleaseByteArrayElements(jenv, input, jarr, 0);
++static void SWIG_JavaArrayArgoutSchar (JNIEnv *jenv, jbyte *jarr, signed char *carr, jbyteArray input) {
++  int i;
++  jsize sz = (*jenv)->GetArrayLength(jenv, input);
++  for (i=0; i<sz; i++)
++    jarr[i] = (jbyte)carr[i];
++  (*jenv)->ReleaseByteArrayElements(jenv, input, jarr, 0);
  }
  
--static jbyteArray SWIG_JavaArrayOutSchar (JNIEnv *jenv, signed char *result, jsize sz)
--{
--    jbyte *arr;
--    int i;
--    jbyteArray jresult = (*jenv)->NewByteArray(jenv, sz);
--    if (!jresult)
--    {
--        return NULL;
--    }
--    arr = (*jenv)->GetByteArrayElements(jenv, jresult, 0);
--    if (!arr)
--    {
--        return NULL;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        arr[i] = (jbyte)result[i];
--    }
--    (*jenv)->ReleaseByteArrayElements(jenv, jresult, arr, 0);
--    return jresult;
++static jbyteArray SWIG_JavaArrayOutSchar (JNIEnv *jenv, signed char *result, jsize sz) {
++  jbyte *arr;
++  int i;
++  jbyteArray jresult = (*jenv)->NewByteArray(jenv, sz);
++  if (!jresult)
++    return NULL;
++  arr = (*jenv)->GetByteArrayElements(jenv, jresult, 0);
++  if (!arr)
++    return NULL;
++  for (i=0; i<sz; i++)
++    arr[i] = (jbyte)result[i];
++  (*jenv)->ReleaseByteArrayElements(jenv, jresult, arr, 0);
++  return jresult;
  }
  
  
  /* unsigned char[] support */
--static int SWIG_JavaArrayInUchar (JNIEnv *jenv, jshort **jarr, unsigned char **carr, jshortArray input)
--{
--    int i;
--    jsize sz;
--    if (!input)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
--        return 0;
--    }
--    sz = (*jenv)->GetArrayLength(jenv, input);
--    *jarr = (*jenv)->GetShortArrayElements(jenv, input, 0);
--    if (!*jarr)
--    {
--        return 0;
--    }
--    *carr = (unsigned char*) calloc(sz, sizeof(unsigned char));
--    if (!*carr)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
--        return 0;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        (*carr)[i] = (unsigned char)(*jarr)[i];
--    }
--    return 1;
++static int SWIG_JavaArrayInUchar (JNIEnv *jenv, jshort **jarr, unsigned char **carr, jshortArray input) {
++  int i;
++  jsize sz;
++  if (!input) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
++    return 0;
++  }
++  sz = (*jenv)->GetArrayLength(jenv, input);
++  *jarr = (*jenv)->GetShortArrayElements(jenv, input, 0);
++  if (!*jarr)
++    return 0; 
++  *carr = (unsigned char*) calloc(sz, sizeof(unsigned char)); 
++  if (!*carr) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
++    return 0;
++  }
++  for (i=0; i<sz; i++)
++    (*carr)[i] = (unsigned char)(*jarr)[i];
++  return 1;
  }
  
--static void SWIG_JavaArrayArgoutUchar (JNIEnv *jenv, jshort *jarr, unsigned char *carr, jshortArray input)
--{
--    int i;
--    jsize sz = (*jenv)->GetArrayLength(jenv, input);
--    for (i = 0; i < sz; i++)
--    {
--        jarr[i] = (jshort)carr[i];
--    }
--    (*jenv)->ReleaseShortArrayElements(jenv, input, jarr, 0);
++static void SWIG_JavaArrayArgoutUchar (JNIEnv *jenv, jshort *jarr, unsigned char *carr, jshortArray input) {
++  int i;
++  jsize sz = (*jenv)->GetArrayLength(jenv, input);
++  for (i=0; i<sz; i++)
++    jarr[i] = (jshort)carr[i];
++  (*jenv)->ReleaseShortArrayElements(jenv, input, jarr, 0);
  }
  
--static jshortArray SWIG_JavaArrayOutUchar (JNIEnv *jenv, unsigned char *result, jsize sz)
--{
--    jshort *arr;
--    int i;
--    jshortArray jresult = (*jenv)->NewShortArray(jenv, sz);
--    if (!jresult)
--    {
--        return NULL;
--    }
--    arr = (*jenv)->GetShortArrayElements(jenv, jresult, 0);
--    if (!arr)
--    {
--        return NULL;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        arr[i] = (jshort)result[i];
--    }
--    (*jenv)->ReleaseShortArrayElements(jenv, jresult, arr, 0);
--    return jresult;
++static jshortArray SWIG_JavaArrayOutUchar (JNIEnv *jenv, unsigned char *result, jsize sz) {
++  jshort *arr;
++  int i;
++  jshortArray jresult = (*jenv)->NewShortArray(jenv, sz);
++  if (!jresult)
++    return NULL;
++  arr = (*jenv)->GetShortArrayElements(jenv, jresult, 0);
++  if (!arr)
++    return NULL;
++  for (i=0; i<sz; i++)
++    arr[i] = (jshort)result[i];
++  (*jenv)->ReleaseShortArrayElements(jenv, jresult, arr, 0);
++  return jresult;
  }
  
  
  /* short[] support */
--static int SWIG_JavaArrayInShort (JNIEnv *jenv, jshort **jarr, short **carr, jshortArray input)
--{
--    int i;
--    jsize sz;
--    if (!input)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
--        return 0;
--    }
--    sz = (*jenv)->GetArrayLength(jenv, input);
--    *jarr = (*jenv)->GetShortArrayElements(jenv, input, 0);
--    if (!*jarr)
--    {
--        return 0;
--    }
--    *carr = (short*) calloc(sz, sizeof(short));
--    if (!*carr)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
--        return 0;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        (*carr)[i] = (short)(*jarr)[i];
--    }
--    return 1;
++static int SWIG_JavaArrayInShort (JNIEnv *jenv, jshort **jarr, short **carr, jshortArray input) {
++  int i;
++  jsize sz;
++  if (!input) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
++    return 0;
++  }
++  sz = (*jenv)->GetArrayLength(jenv, input);
++  *jarr = (*jenv)->GetShortArrayElements(jenv, input, 0);
++  if (!*jarr)
++    return 0; 
++  *carr = (short*) calloc(sz, sizeof(short)); 
++  if (!*carr) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
++    return 0;
++  }
++  for (i=0; i<sz; i++)
++    (*carr)[i] = (short)(*jarr)[i];
++  return 1;
  }
  
--static void SWIG_JavaArrayArgoutShort (JNIEnv *jenv, jshort *jarr, short *carr, jshortArray input)
--{
--    int i;
--    jsize sz = (*jenv)->GetArrayLength(jenv, input);
--    for (i = 0; i < sz; i++)
--    {
--        jarr[i] = (jshort)carr[i];
--    }
--    (*jenv)->ReleaseShortArrayElements(jenv, input, jarr, 0);
++static void SWIG_JavaArrayArgoutShort (JNIEnv *jenv, jshort *jarr, short *carr, jshortArray input) {
++  int i;
++  jsize sz = (*jenv)->GetArrayLength(jenv, input);
++  for (i=0; i<sz; i++)
++    jarr[i] = (jshort)carr[i];
++  (*jenv)->ReleaseShortArrayElements(jenv, input, jarr, 0);
  }
  
--static jshortArray SWIG_JavaArrayOutShort (JNIEnv *jenv, short *result, jsize sz)
--{
--    jshort *arr;
--    int i;
--    jshortArray jresult = (*jenv)->NewShortArray(jenv, sz);
--    if (!jresult)
--    {
--        return NULL;
--    }
--    arr = (*jenv)->GetShortArrayElements(jenv, jresult, 0);
--    if (!arr)
--    {
--        return NULL;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        arr[i] = (jshort)result[i];
--    }
--    (*jenv)->ReleaseShortArrayElements(jenv, jresult, arr, 0);
--    return jresult;
++static jshortArray SWIG_JavaArrayOutShort (JNIEnv *jenv, short *result, jsize sz) {
++  jshort *arr;
++  int i;
++  jshortArray jresult = (*jenv)->NewShortArray(jenv, sz);
++  if (!jresult)
++    return NULL;
++  arr = (*jenv)->GetShortArrayElements(jenv, jresult, 0);
++  if (!arr)
++    return NULL;
++  for (i=0; i<sz; i++)
++    arr[i] = (jshort)result[i];
++  (*jenv)->ReleaseShortArrayElements(jenv, jresult, arr, 0);
++  return jresult;
  }
  
  
  /* unsigned short[] support */
--static int SWIG_JavaArrayInUshort (JNIEnv *jenv, jint **jarr, unsigned short **carr, jintArray input)
--{
--    int i;
--    jsize sz;
--    if (!input)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
--        return 0;
--    }
--    sz = (*jenv)->GetArrayLength(jenv, input);
--    *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0);
--    if (!*jarr)
--    {
--        return 0;
--    }
--    *carr = (unsigned short*) calloc(sz, sizeof(unsigned short));
--    if (!*carr)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
--        return 0;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        (*carr)[i] = (unsigned short)(*jarr)[i];
--    }
--    return 1;
++static int SWIG_JavaArrayInUshort (JNIEnv *jenv, jint **jarr, unsigned short **carr, jintArray input) {
++  int i;
++  jsize sz;
++  if (!input) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
++    return 0;
++  }
++  sz = (*jenv)->GetArrayLength(jenv, input);
++  *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0);
++  if (!*jarr)
++    return 0; 
++  *carr = (unsigned short*) calloc(sz, sizeof(unsigned short)); 
++  if (!*carr) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
++    return 0;
++  }
++  for (i=0; i<sz; i++)
++    (*carr)[i] = (unsigned short)(*jarr)[i];
++  return 1;
  }
  
--static void SWIG_JavaArrayArgoutUshort (JNIEnv *jenv, jint *jarr, unsigned short *carr, jintArray input)
--{
--    int i;
--    jsize sz = (*jenv)->GetArrayLength(jenv, input);
--    for (i = 0; i < sz; i++)
--    {
--        jarr[i] = (jint)carr[i];
--    }
--    (*jenv)->ReleaseIntArrayElements(jenv, input, jarr, 0);
++static void SWIG_JavaArrayArgoutUshort (JNIEnv *jenv, jint *jarr, unsigned short *carr, jintArray input) {
++  int i;
++  jsize sz = (*jenv)->GetArrayLength(jenv, input);
++  for (i=0; i<sz; i++)
++    jarr[i] = (jint)carr[i];
++  (*jenv)->ReleaseIntArrayElements(jenv, input, jarr, 0);
  }
  
--static jintArray SWIG_JavaArrayOutUshort (JNIEnv *jenv, unsigned short *result, jsize sz)
--{
--    jint *arr;
--    int i;
--    jintArray jresult = (*jenv)->NewIntArray(jenv, sz);
--    if (!jresult)
--    {
--        return NULL;
--    }
--    arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0);
--    if (!arr)
--    {
--        return NULL;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        arr[i] = (jint)result[i];
--    }
--    (*jenv)->ReleaseIntArrayElements(jenv, jresult, arr, 0);
--    return jresult;
++static jintArray SWIG_JavaArrayOutUshort (JNIEnv *jenv, unsigned short *result, jsize sz) {
++  jint *arr;
++  int i;
++  jintArray jresult = (*jenv)->NewIntArray(jenv, sz);
++  if (!jresult)
++    return NULL;
++  arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0);
++  if (!arr)
++    return NULL;
++  for (i=0; i<sz; i++)
++    arr[i] = (jint)result[i];
++  (*jenv)->ReleaseIntArrayElements(jenv, jresult, arr, 0);
++  return jresult;
  }
  
  
  /* int[] support */
--static int SWIG_JavaArrayInInt (JNIEnv *jenv, jint **jarr, int **carr, jintArray input)
--{
--    int i;
--    jsize sz;
--    if (!input)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
--        return 0;
--    }
--    sz = (*jenv)->GetArrayLength(jenv, input);
--    *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0);
--    if (!*jarr)
--    {
--        return 0;
--    }
--    *carr = (int*) calloc(sz, sizeof(int));
--    if (!*carr)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
--        return 0;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        (*carr)[i] = (int)(*jarr)[i];
--    }
--    return 1;
++static int SWIG_JavaArrayInInt (JNIEnv *jenv, jint **jarr, int **carr, jintArray input) {
++  int i;
++  jsize sz;
++  if (!input) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
++    return 0;
++  }
++  sz = (*jenv)->GetArrayLength(jenv, input);
++  *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0);
++  if (!*jarr)
++    return 0; 
++  *carr = (int*) calloc(sz, sizeof(int)); 
++  if (!*carr) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
++    return 0;
++  }
++  for (i=0; i<sz; i++)
++    (*carr)[i] = (int)(*jarr)[i];
++  return 1;
  }
  
--static void SWIG_JavaArrayArgoutInt (JNIEnv *jenv, jint *jarr, int *carr, jintArray input)
--{
--    int i;
--    jsize sz = (*jenv)->GetArrayLength(jenv, input);
--    for (i = 0; i < sz; i++)
--    {
--        jarr[i] = (jint)carr[i];
--    }
--    (*jenv)->ReleaseIntArrayElements(jenv, input, jarr, 0);
++static void SWIG_JavaArrayArgoutInt (JNIEnv *jenv, jint *jarr, int *carr, jintArray input) {
++  int i;
++  jsize sz = (*jenv)->GetArrayLength(jenv, input);
++  for (i=0; i<sz; i++)
++    jarr[i] = (jint)carr[i];
++  (*jenv)->ReleaseIntArrayElements(jenv, input, jarr, 0);
  }
  
--static jintArray SWIG_JavaArrayOutInt (JNIEnv *jenv, int *result, jsize sz)
--{
--    jint *arr;
--    int i;
--    jintArray jresult = (*jenv)->NewIntArray(jenv, sz);
--    if (!jresult)
--    {
--        return NULL;
--    }
--    arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0);
--    if (!arr)
--    {
--        return NULL;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        arr[i] = (jint)result[i];
--    }
--    (*jenv)->ReleaseIntArrayElements(jenv, jresult, arr, 0);
--    return jresult;
++static jintArray SWIG_JavaArrayOutInt (JNIEnv *jenv, int *result, jsize sz) {
++  jint *arr;
++  int i;
++  jintArray jresult = (*jenv)->NewIntArray(jenv, sz);
++  if (!jresult)
++    return NULL;
++  arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0);
++  if (!arr)
++    return NULL;
++  for (i=0; i<sz; i++)
++    arr[i] = (jint)result[i];
++  (*jenv)->ReleaseIntArrayElements(jenv, jresult, arr, 0);
++  return jresult;
  }
  
  
  /* unsigned int[] support */
--static int SWIG_JavaArrayInUint (JNIEnv *jenv, jlong **jarr, unsigned int **carr, jlongArray input)
--{
--    int i;
--    jsize sz;
--    if (!input)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
--        return 0;
--    }
--    sz = (*jenv)->GetArrayLength(jenv, input);
--    *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0);
--    if (!*jarr)
--    {
--        return 0;
--    }
--    *carr = (unsigned int*) calloc(sz, sizeof(unsigned int));
--    if (!*carr)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
--        return 0;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        (*carr)[i] = (unsigned int)(*jarr)[i];
--    }
--    return 1;
++static int SWIG_JavaArrayInUint (JNIEnv *jenv, jlong **jarr, unsigned int **carr, jlongArray input) {
++  int i;
++  jsize sz;
++  if (!input) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
++    return 0;
++  }
++  sz = (*jenv)->GetArrayLength(jenv, input);
++  *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0);
++  if (!*jarr)
++    return 0; 
++  *carr = (unsigned int*) calloc(sz, sizeof(unsigned int)); 
++  if (!*carr) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
++    return 0;
++  }
++  for (i=0; i<sz; i++)
++    (*carr)[i] = (unsigned int)(*jarr)[i];
++  return 1;
  }
  
--static void SWIG_JavaArrayArgoutUint (JNIEnv *jenv, jlong *jarr, unsigned int *carr, jlongArray input)
--{
--    int i;
--    jsize sz = (*jenv)->GetArrayLength(jenv, input);
--    for (i = 0; i < sz; i++)
--    {
--        jarr[i] = (jlong)carr[i];
--    }
--    (*jenv)->ReleaseLongArrayElements(jenv, input, jarr, 0);
++static void SWIG_JavaArrayArgoutUint (JNIEnv *jenv, jlong *jarr, unsigned int *carr, jlongArray input) {
++  int i;
++  jsize sz = (*jenv)->GetArrayLength(jenv, input);
++  for (i=0; i<sz; i++)
++    jarr[i] = (jlong)carr[i];
++  (*jenv)->ReleaseLongArrayElements(jenv, input, jarr, 0);
  }
  
--static jlongArray SWIG_JavaArrayOutUint (JNIEnv *jenv, unsigned int *result, jsize sz)
--{
--    jlong *arr;
--    int i;
--    jlongArray jresult = (*jenv)->NewLongArray(jenv, sz);
--    if (!jresult)
--    {
--        return NULL;
--    }
--    arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0);
--    if (!arr)
--    {
--        return NULL;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        arr[i] = (jlong)result[i];
--    }
--    (*jenv)->ReleaseLongArrayElements(jenv, jresult, arr, 0);
--    return jresult;
++static jlongArray SWIG_JavaArrayOutUint (JNIEnv *jenv, unsigned int *result, jsize sz) {
++  jlong *arr;
++  int i;
++  jlongArray jresult = (*jenv)->NewLongArray(jenv, sz);
++  if (!jresult)
++    return NULL;
++  arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0);
++  if (!arr)
++    return NULL;
++  for (i=0; i<sz; i++)
++    arr[i] = (jlong)result[i];
++  (*jenv)->ReleaseLongArrayElements(jenv, jresult, arr, 0);
++  return jresult;
  }
  
  
  /* long[] support */
--static int SWIG_JavaArrayInLong (JNIEnv *jenv, jint **jarr, long **carr, jintArray input)
--{
--    int i;
--    jsize sz;
--    if (!input)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
--        return 0;
--    }
--    sz = (*jenv)->GetArrayLength(jenv, input);
--    *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0);
--    if (!*jarr)
--    {
--        return 0;
--    }
--    *carr = (long*) calloc(sz, sizeof(long));
--    if (!*carr)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
--        return 0;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        (*carr)[i] = (long)(*jarr)[i];
--    }
--    return 1;
++static int SWIG_JavaArrayInLong (JNIEnv *jenv, jint **jarr, long **carr, jintArray input) {
++  int i;
++  jsize sz;
++  if (!input) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
++    return 0;
++  }
++  sz = (*jenv)->GetArrayLength(jenv, input);
++  *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0);
++  if (!*jarr)
++    return 0; 
++  *carr = (long*) calloc(sz, sizeof(long)); 
++  if (!*carr) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
++    return 0;
++  }
++  for (i=0; i<sz; i++)
++    (*carr)[i] = (long)(*jarr)[i];
++  return 1;
  }
  
--static void SWIG_JavaArrayArgoutLong (JNIEnv *jenv, jint *jarr, long *carr, jintArray input)
--{
--    int i;
--    jsize sz = (*jenv)->GetArrayLength(jenv, input);
--    for (i = 0; i < sz; i++)
--    {
--        jarr[i] = (jint)carr[i];
--    }
--    (*jenv)->ReleaseIntArrayElements(jenv, input, jarr, 0);
++static void SWIG_JavaArrayArgoutLong (JNIEnv *jenv, jint *jarr, long *carr, jintArray input) {
++  int i;
++  jsize sz = (*jenv)->GetArrayLength(jenv, input);
++  for (i=0; i<sz; i++)
++    jarr[i] = (jint)carr[i];
++  (*jenv)->ReleaseIntArrayElements(jenv, input, jarr, 0);
  }
  
--static jintArray SWIG_JavaArrayOutLong (JNIEnv *jenv, long *result, jsize sz)
--{
--    jint *arr;
--    int i;
--    jintArray jresult = (*jenv)->NewIntArray(jenv, sz);
--    if (!jresult)
--    {
--        return NULL;
--    }
--    arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0);
--    if (!arr)
--    {
--        return NULL;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        arr[i] = (jint)result[i];
--    }
--    (*jenv)->ReleaseIntArrayElements(jenv, jresult, arr, 0);
--    return jresult;
++static jintArray SWIG_JavaArrayOutLong (JNIEnv *jenv, long *result, jsize sz) {
++  jint *arr;
++  int i;
++  jintArray jresult = (*jenv)->NewIntArray(jenv, sz);
++  if (!jresult)
++    return NULL;
++  arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0);
++  if (!arr)
++    return NULL;
++  for (i=0; i<sz; i++)
++    arr[i] = (jint)result[i];
++  (*jenv)->ReleaseIntArrayElements(jenv, jresult, arr, 0);
++  return jresult;
  }
  
  
  /* unsigned long[] support */
--static int SWIG_JavaArrayInUlong (JNIEnv *jenv, jlong **jarr, unsigned long **carr, jlongArray input)
--{
--    int i;
--    jsize sz;
--    if (!input)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
--        return 0;
--    }
--    sz = (*jenv)->GetArrayLength(jenv, input);
--    *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0);
--    if (!*jarr)
--    {
--        return 0;
--    }
--    *carr = (unsigned long*) calloc(sz, sizeof(unsigned long));
--    if (!*carr)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
--        return 0;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        (*carr)[i] = (unsigned long)(*jarr)[i];
--    }
--    return 1;
++static int SWIG_JavaArrayInUlong (JNIEnv *jenv, jlong **jarr, unsigned long **carr, jlongArray input) {
++  int i;
++  jsize sz;
++  if (!input) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
++    return 0;
++  }
++  sz = (*jenv)->GetArrayLength(jenv, input);
++  *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0);
++  if (!*jarr)
++    return 0; 
++  *carr = (unsigned long*) calloc(sz, sizeof(unsigned long)); 
++  if (!*carr) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
++    return 0;
++  }
++  for (i=0; i<sz; i++)
++    (*carr)[i] = (unsigned long)(*jarr)[i];
++  return 1;
  }
  
--static void SWIG_JavaArrayArgoutUlong (JNIEnv *jenv, jlong *jarr, unsigned long *carr, jlongArray input)
--{
--    int i;
--    jsize sz = (*jenv)->GetArrayLength(jenv, input);
--    for (i = 0; i < sz; i++)
--    {
--        jarr[i] = (jlong)carr[i];
--    }
--    (*jenv)->ReleaseLongArrayElements(jenv, input, jarr, 0);
++static void SWIG_JavaArrayArgoutUlong (JNIEnv *jenv, jlong *jarr, unsigned long *carr, jlongArray input) {
++  int i;
++  jsize sz = (*jenv)->GetArrayLength(jenv, input);
++  for (i=0; i<sz; i++)
++    jarr[i] = (jlong)carr[i];
++  (*jenv)->ReleaseLongArrayElements(jenv, input, jarr, 0);
  }
  
--static jlongArray SWIG_JavaArrayOutUlong (JNIEnv *jenv, unsigned long *result, jsize sz)
--{
--    jlong *arr;
--    int i;
--    jlongArray jresult = (*jenv)->NewLongArray(jenv, sz);
--    if (!jresult)
--    {
--        return NULL;
--    }
--    arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0);
--    if (!arr)
--    {
--        return NULL;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        arr[i] = (jlong)result[i];
--    }
--    (*jenv)->ReleaseLongArrayElements(jenv, jresult, arr, 0);
--    return jresult;
++static jlongArray SWIG_JavaArrayOutUlong (JNIEnv *jenv, unsigned long *result, jsize sz) {
++  jlong *arr;
++  int i;
++  jlongArray jresult = (*jenv)->NewLongArray(jenv, sz);
++  if (!jresult)
++    return NULL;
++  arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0);
++  if (!arr)
++    return NULL;
++  for (i=0; i<sz; i++)
++    arr[i] = (jlong)result[i];
++  (*jenv)->ReleaseLongArrayElements(jenv, jresult, arr, 0);
++  return jresult;
  }
  
  
  /* jlong[] support */
--static int SWIG_JavaArrayInLonglong (JNIEnv *jenv, jlong **jarr, jlong **carr, jlongArray input)
--{
--    int i;
--    jsize sz;
--    if (!input)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
--        return 0;
--    }
--    sz = (*jenv)->GetArrayLength(jenv, input);
--    *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0);
--    if (!*jarr)
--    {
--        return 0;
--    }
--    *carr = (jlong*) calloc(sz, sizeof(jlong));
--    if (!*carr)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
--        return 0;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        (*carr)[i] = (jlong)(*jarr)[i];
--    }
--    return 1;
++static int SWIG_JavaArrayInLonglong (JNIEnv *jenv, jlong **jarr, jlong **carr, jlongArray input) {
++  int i;
++  jsize sz;
++  if (!input) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
++    return 0;
++  }
++  sz = (*jenv)->GetArrayLength(jenv, input);
++  *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0);
++  if (!*jarr)
++    return 0; 
++  *carr = (jlong*) calloc(sz, sizeof(jlong)); 
++  if (!*carr) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
++    return 0;
++  }
++  for (i=0; i<sz; i++)
++    (*carr)[i] = (jlong)(*jarr)[i];
++  return 1;
  }
  
--static void SWIG_JavaArrayArgoutLonglong (JNIEnv *jenv, jlong *jarr, jlong *carr, jlongArray input)
--{
--    int i;
--    jsize sz = (*jenv)->GetArrayLength(jenv, input);
--    for (i = 0; i < sz; i++)
--    {
--        jarr[i] = (jlong)carr[i];
--    }
--    (*jenv)->ReleaseLongArrayElements(jenv, input, jarr, 0);
++static void SWIG_JavaArrayArgoutLonglong (JNIEnv *jenv, jlong *jarr, jlong *carr, jlongArray input) {
++  int i;
++  jsize sz = (*jenv)->GetArrayLength(jenv, input);
++  for (i=0; i<sz; i++)
++    jarr[i] = (jlong)carr[i];
++  (*jenv)->ReleaseLongArrayElements(jenv, input, jarr, 0);
  }
  
--static jlongArray SWIG_JavaArrayOutLonglong (JNIEnv *jenv, jlong *result, jsize sz)
--{
--    jlong *arr;
--    int i;
--    jlongArray jresult = (*jenv)->NewLongArray(jenv, sz);
--    if (!jresult)
--    {
--        return NULL;
--    }
--    arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0);
--    if (!arr)
--    {
--        return NULL;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        arr[i] = (jlong)result[i];
--    }
--    (*jenv)->ReleaseLongArrayElements(jenv, jresult, arr, 0);
--    return jresult;
++static jlongArray SWIG_JavaArrayOutLonglong (JNIEnv *jenv, jlong *result, jsize sz) {
++  jlong *arr;
++  int i;
++  jlongArray jresult = (*jenv)->NewLongArray(jenv, sz);
++  if (!jresult)
++    return NULL;
++  arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0);
++  if (!arr)
++    return NULL;
++  for (i=0; i<sz; i++)
++    arr[i] = (jlong)result[i];
++  (*jenv)->ReleaseLongArrayElements(jenv, jresult, arr, 0);
++  return jresult;
  }
  
  
  /* float[] support */
--static int SWIG_JavaArrayInFloat (JNIEnv *jenv, jfloat **jarr, float **carr, jfloatArray input)
--{
--    int i;
--    jsize sz;
--    if (!input)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
--        return 0;
--    }
--    sz = (*jenv)->GetArrayLength(jenv, input);
--    *jarr = (*jenv)->GetFloatArrayElements(jenv, input, 0);
--    if (!*jarr)
--    {
--        return 0;
--    }
--    *carr = (float*) calloc(sz, sizeof(float));
--    if (!*carr)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
--        return 0;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        (*carr)[i] = (float)(*jarr)[i];
--    }
--    return 1;
++static int SWIG_JavaArrayInFloat (JNIEnv *jenv, jfloat **jarr, float **carr, jfloatArray input) {
++  int i;
++  jsize sz;
++  if (!input) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
++    return 0;
++  }
++  sz = (*jenv)->GetArrayLength(jenv, input);
++  *jarr = (*jenv)->GetFloatArrayElements(jenv, input, 0);
++  if (!*jarr)
++    return 0; 
++  *carr = (float*) calloc(sz, sizeof(float)); 
++  if (!*carr) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
++    return 0;
++  }
++  for (i=0; i<sz; i++)
++    (*carr)[i] = (float)(*jarr)[i];
++  return 1;
  }
  
--static void SWIG_JavaArrayArgoutFloat (JNIEnv *jenv, jfloat *jarr, float *carr, jfloatArray input)
--{
--    int i;
--    jsize sz = (*jenv)->GetArrayLength(jenv, input);
--    for (i = 0; i < sz; i++)
--    {
--        jarr[i] = (jfloat)carr[i];
--    }
--    (*jenv)->ReleaseFloatArrayElements(jenv, input, jarr, 0);
++static void SWIG_JavaArrayArgoutFloat (JNIEnv *jenv, jfloat *jarr, float *carr, jfloatArray input) {
++  int i;
++  jsize sz = (*jenv)->GetArrayLength(jenv, input);
++  for (i=0; i<sz; i++)
++    jarr[i] = (jfloat)carr[i];
++  (*jenv)->ReleaseFloatArrayElements(jenv, input, jarr, 0);
  }
  
--static jfloatArray SWIG_JavaArrayOutFloat (JNIEnv *jenv, float *result, jsize sz)
--{
--    jfloat *arr;
--    int i;
--    jfloatArray jresult = (*jenv)->NewFloatArray(jenv, sz);
--    if (!jresult)
--    {
--        return NULL;
--    }
--    arr = (*jenv)->GetFloatArrayElements(jenv, jresult, 0);
--    if (!arr)
--    {
--        return NULL;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        arr[i] = (jfloat)result[i];
--    }
--    (*jenv)->ReleaseFloatArrayElements(jenv, jresult, arr, 0);
--    return jresult;
++static jfloatArray SWIG_JavaArrayOutFloat (JNIEnv *jenv, float *result, jsize sz) {
++  jfloat *arr;
++  int i;
++  jfloatArray jresult = (*jenv)->NewFloatArray(jenv, sz);
++  if (!jresult)
++    return NULL;
++  arr = (*jenv)->GetFloatArrayElements(jenv, jresult, 0);
++  if (!arr)
++    return NULL;
++  for (i=0; i<sz; i++)
++    arr[i] = (jfloat)result[i];
++  (*jenv)->ReleaseFloatArrayElements(jenv, jresult, arr, 0);
++  return jresult;
  }
  
  
  /* double[] support */
--static int SWIG_JavaArrayInDouble (JNIEnv *jenv, jdouble **jarr, double **carr, jdoubleArray input)
--{
--    int i;
--    jsize sz;
--    if (!input)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
--        return 0;
--    }
--    sz = (*jenv)->GetArrayLength(jenv, input);
--    *jarr = (*jenv)->GetDoubleArrayElements(jenv, input, 0);
--    if (!*jarr)
--    {
--        return 0;
--    }
--    *carr = (double*) calloc(sz, sizeof(double));
--    if (!*carr)
--    {
--        SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
--        return 0;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        (*carr)[i] = (double)(*jarr)[i];
--    }
--    return 1;
++static int SWIG_JavaArrayInDouble (JNIEnv *jenv, jdouble **jarr, double **carr, jdoubleArray input) {
++  int i;
++  jsize sz;
++  if (!input) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array");
++    return 0;
++  }
++  sz = (*jenv)->GetArrayLength(jenv, input);
++  *jarr = (*jenv)->GetDoubleArrayElements(jenv, input, 0);
++  if (!*jarr)
++    return 0; 
++  *carr = (double*) calloc(sz, sizeof(double)); 
++  if (!*carr) {
++    SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
++    return 0;
++  }
++  for (i=0; i<sz; i++)
++    (*carr)[i] = (double)(*jarr)[i];
++  return 1;
  }
  
--static void SWIG_JavaArrayArgoutDouble (JNIEnv *jenv, jdouble *jarr, double *carr, jdoubleArray input)
--{
--    int i;
--    jsize sz = (*jenv)->GetArrayLength(jenv, input);
--    for (i = 0; i < sz; i++)
--    {
--        jarr[i] = (jdouble)carr[i];
--    }
--    (*jenv)->ReleaseDoubleArrayElements(jenv, input, jarr, 0);
++static void SWIG_JavaArrayArgoutDouble (JNIEnv *jenv, jdouble *jarr, double *carr, jdoubleArray input) {
++  int i;
++  jsize sz = (*jenv)->GetArrayLength(jenv, input);
++  for (i=0; i<sz; i++)
++    jarr[i] = (jdouble)carr[i];
++  (*jenv)->ReleaseDoubleArrayElements(jenv, input, jarr, 0);
  }
  
--static jdoubleArray SWIG_JavaArrayOutDouble (JNIEnv *jenv, double *result, jsize sz)
--{
--    jdouble *arr;
--    int i;
--    jdoubleArray jresult = (*jenv)->NewDoubleArray(jenv, sz);
--    if (!jresult)
--    {
--        return NULL;
--    }
--    arr = (*jenv)->GetDoubleArrayElements(jenv, jresult, 0);
--    if (!arr)
--    {
--        return NULL;
--    }
--    for (i = 0; i < sz; i++)
--    {
--        arr[i] = (jdouble)result[i];
--    }
--    (*jenv)->ReleaseDoubleArrayElements(jenv, jresult, arr, 0);
--    return jresult;
++static jdoubleArray SWIG_JavaArrayOutDouble (JNIEnv *jenv, double *result, jsize sz) {
++  jdouble *arr;
++  int i;
++  jdoubleArray jresult = (*jenv)->NewDoubleArray(jenv, sz);
++  if (!jresult)
++    return NULL;
++  arr = (*jenv)->GetDoubleArrayElements(jenv, jresult, 0);
++  if (!arr)
++    return NULL;
++  for (i=0; i<sz; i++)
++    arr[i] = (jdouble)result[i];
++  (*jenv)->ReleaseDoubleArrayElements(jenv, jresult, arr, 0);
++  return jresult;
  }
  
  
  #endif
  
  
--#include "DataLoader.hxx"
++  #include "DataLoader.hxx"
  
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
--    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureWidth(JNIEnv *jenv, jclass jcls, jstring jarg1)
--    {
--        jint jresult = 0 ;
--        char *arg1 = (char *) 0 ;
--        int result;
--
--        (void)jenv;
--        (void)jcls;
--        arg1 = 0;
--        if (jarg1)
--        {
--            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
--            if (!arg1)
--            {
--                return 0;
--            }
--        }
--        result = (int)getTextureWidth(arg1);
--        jresult = (jint)result;
--        if (arg1)
--        {
--            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
--        }
--        return jresult;
--    }
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureWidth(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  result = (int)getTextureWidth(arg1);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
  
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureHeight(JNIEnv *jenv, jclass jcls, jstring jarg1)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         result = (int)getTextureHeight(arg1);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
  
 -    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureHeight(JNIEnv *jenv, jclass jcls, jstring jarg1)
 -    {
 -        jint jresult = 0 ;
 -        char *arg1 = (char *) 0 ;
 -        int result;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return 0;
 -            }
 -        }
 -        result = (int)getTextureHeight(arg1);
 -        jresult = (jint)result;
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -        return jresult;
 -    }
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureHeight(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  result = (int)getTextureHeight(arg1);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
  
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillTextureData(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         unsigned char *arg2 = (unsigned char *) 0 ;
-         int arg3 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         {
-             arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
-             if (arg2 == NULL)
-             {
-                 SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
-             }
-         }
-         arg3 = (int)jarg3;
-         result = (int)fillTextureData(arg1, arg2, arg3);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
  
 -    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillTextureData(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3)
 -    {
 -        jint jresult = 0 ;
 -        char *arg1 = (char *) 0 ;
 -        unsigned char *arg2 = (unsigned char *) 0 ;
 -        int arg3 ;
 -        int result;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return 0;
 -            }
 -        }
 -        {
 -            arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
 -            if (arg2 == NULL)
 -            {
 -                SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
 -            }
 -        }
 -        arg3 = (int)jarg3;
 -        result = (int)fillTextureData(arg1, arg2, arg3);
 -        jresult = (jint)result;
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -        return jresult;
 -    }
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillTextureData(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  unsigned char *arg2 = (unsigned char *) 0 ;
++  int arg3 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  {
++    arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
++    if (arg2 == NULL) {
++      SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
++    }
++  }
++  arg3 = (int)jarg3; 
++  result = (int)fillTextureData(arg1,arg2,arg3);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
  
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillSubTextureData(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4, jint jarg5, jint jarg6, jint jarg7)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         unsigned char *arg2 = (unsigned char *) 0 ;
-         int arg3 ;
-         int arg4 ;
-         int arg5 ;
-         int arg6 ;
-         int arg7 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         {
-             arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
-             if (arg2 == NULL)
-             {
-                 SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
-             }
-         }
-         arg3 = (int)jarg3;
-         arg4 = (int)jarg4;
-         arg5 = (int)jarg5;
-         arg6 = (int)jarg6;
-         arg7 = (int)jarg7;
-         result = (int)fillSubTextureData(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
  
 -    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillSubTextureData(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4, jint jarg5, jint jarg6, jint jarg7)
 -    {
 -        jint jresult = 0 ;
 -        char *arg1 = (char *) 0 ;
 -        unsigned char *arg2 = (unsigned char *) 0 ;
 -        int arg3 ;
 -        int arg4 ;
 -        int arg5 ;
 -        int arg6 ;
 -        int arg7 ;
 -        int result;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return 0;
 -            }
 -        }
 -        {
 -            arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
 -            if (arg2 == NULL)
 -            {
 -                SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
 -            }
 -        }
 -        arg3 = (int)jarg3;
 -        arg4 = (int)jarg4;
 -        arg5 = (int)jarg5;
 -        arg6 = (int)jarg6;
 -        arg7 = (int)jarg7;
 -        result = (int)fillSubTextureData(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
 -        jresult = (jint)result;
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -        return jresult;
 -    }
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillSubTextureData(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4, jint jarg5, jint jarg6, jint jarg7) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  unsigned char *arg2 = (unsigned char *) 0 ;
++  int arg3 ;
++  int arg4 ;
++  int arg5 ;
++  int arg6 ;
++  int arg7 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  {
++    arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
++    if (arg2 == NULL) {
++      SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
++    }
++  }
++  arg3 = (int)jarg3; 
++  arg4 = (int)jarg4; 
++  arg5 = (int)jarg5; 
++  arg6 = (int)jarg6; 
++  arg7 = (int)jarg7; 
++  result = (int)fillSubTextureData(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
  
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getDataSize(JNIEnv *jenv, jclass jcls, jstring jarg1)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         result = (int)getDataSize(arg1);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
  
 -    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getDataSize(JNIEnv *jenv, jclass jcls, jstring jarg1)
 -    {
 -        jint jresult = 0 ;
 -        char *arg1 = (char *) 0 ;
 -        int result;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return 0;
 -            }
 -        }
 -        result = (int)getDataSize(arg1);
 -        jresult = (jint)result;
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -        return jresult;
 -    }
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getDataSize(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  result = (int)getDataSize(arg1);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
  
-     SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillVertices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4, jint jarg5, jdoubleArray jarg6, jdoubleArray jarg7, jint jarg8)
-     {
-         char *arg1 = (char *) 0 ;
-         float *arg2 = (float *) 0 ;
-         int arg3 ;
-         int arg4 ;
-         int arg5 ;
-         double *arg6 ;
-         double *arg7 ;
-         int arg8 ;
-         jdouble *jarr6 ;
-         jdouble *jarr7 ;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return ;
-             }
-         }
-         {
-             arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
-             if (arg2 == NULL)
-             {
-                 SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
-             }
-         }
-         arg3 = (int)jarg3;
-         arg4 = (int)jarg4;
-         arg5 = (int)jarg5;
-         if (!SWIG_JavaArrayInDouble(jenv, &jarr6, (double **)&arg6, jarg6))
-         {
-             return ;
-         }
-         if (!SWIG_JavaArrayInDouble(jenv, &jarr7, (double **)&arg7, jarg7))
-         {
-             return ;
-         }
-         arg8 = (int)jarg8;
-         fillVertices(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-         SWIG_JavaArrayArgoutDouble(jenv, jarr6, (double *)arg6, jarg6);
-         SWIG_JavaArrayArgoutDouble(jenv, jarr7, (double *)arg7, jarg7);
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         free(arg6);
-         free(arg7);
-     }
  
 -    SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillVertices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4, jint jarg5, jdoubleArray jarg6, jdoubleArray jarg7, jint jarg8)
 -    {
 -        char *arg1 = (char *) 0 ;
 -        float *arg2 = (float *) 0 ;
 -        int arg3 ;
 -        int arg4 ;
 -        int arg5 ;
 -        double *arg6 ;
 -        double *arg7 ;
 -        int arg8 ;
 -        jdouble *jarr6 ;
 -        jdouble *jarr7 ;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return ;
 -            }
 -        }
 -        {
 -            arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
 -            if (arg2 == NULL)
 -            {
 -                SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
 -            }
 -        }
 -        arg3 = (int)jarg3;
 -        arg4 = (int)jarg4;
 -        arg5 = (int)jarg5;
 -        if (!SWIG_JavaArrayInDouble(jenv, &jarr6, (double **)&arg6, jarg6))
 -        {
 -            return ;
 -        }
 -        if (!SWIG_JavaArrayInDouble(jenv, &jarr7, (double **)&arg7, jarg7))
 -        {
 -            return ;
 -        }
 -        arg8 = (int)jarg8;
 -        fillVertices(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
 -        SWIG_JavaArrayArgoutDouble(jenv, jarr6, (double *)arg6, jarg6);
 -        SWIG_JavaArrayArgoutDouble(jenv, jarr7, (double *)arg7, jarg7);
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -        free(arg6);
 -        free(arg7);
 -    }
++SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillVertices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4, jint jarg5, jdoubleArray jarg6, jdoubleArray jarg7, jint jarg8) {
++  char *arg1 = (char *) 0 ;
++  float *arg2 = (float *) 0 ;
++  int arg3 ;
++  int arg4 ;
++  int arg5 ;
++  double *arg6 ;
++  double *arg7 ;
++  int arg8 ;
++  jdouble *jarr6 ;
++  jdouble *jarr7 ;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return ;
++  }
++  {
++    arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
++    if (arg2 == NULL) {
++      SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
++    }
++  }
++  arg3 = (int)jarg3; 
++  arg4 = (int)jarg4; 
++  arg5 = (int)jarg5; 
++  if (!SWIG_JavaArrayInDouble(jenv, &jarr6, (double **)&arg6, jarg6)) return ; 
++  if (!SWIG_JavaArrayInDouble(jenv, &jarr7, (double **)&arg7, jarg7)) return ; 
++  arg8 = (int)jarg8; 
++  fillVertices(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
++  SWIG_JavaArrayArgoutDouble(jenv, jarr6, (double *)arg6, jarg6); 
++  SWIG_JavaArrayArgoutDouble(jenv, jarr7, (double *)arg7, jarg7); 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  free(arg6); 
++  free(arg7); 
++}
  
-     SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillColors(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4)
-     {
-         char *arg1 = (char *) 0 ;
-         float *arg2 = (float *) 0 ;
-         int arg3 ;
-         int arg4 ;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return ;
-             }
-         }
-         {
-             arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
-             if (arg2 == NULL)
-             {
-                 SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
-             }
-         }
-         arg3 = (int)jarg3;
-         arg4 = (int)jarg4;
-         fillColors(arg1, arg2, arg3, arg4);
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-     }
  
 -    SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillColors(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4)
 -    {
 -        char *arg1 = (char *) 0 ;
 -        float *arg2 = (float *) 0 ;
 -        int arg3 ;
 -        int arg4 ;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return ;
 -            }
 -        }
 -        {
 -            arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
 -            if (arg2 == NULL)
 -            {
 -                SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
 -            }
 -        }
 -        arg3 = (int)jarg3;
 -        arg4 = (int)jarg4;
 -        fillColors(arg1, arg2, arg3, arg4);
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -    }
++SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillColors(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4) {
++  char *arg1 = (char *) 0 ;
++  float *arg2 = (float *) 0 ;
++  int arg3 ;
++  int arg4 ;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return ;
++  }
++  {
++    arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
++    if (arg2 == NULL) {
++      SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
++    }
++  }
++  arg3 = (int)jarg3; 
++  arg4 = (int)jarg4; 
++  fillColors(arg1,arg2,arg3,arg4);
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++}
  
-     SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillTextureCoordinates(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3)
-     {
-         char *arg1 = (char *) 0 ;
-         float *arg2 = (float *) 0 ;
-         int arg3 ;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return ;
-             }
-         }
-         {
-             arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
-             if (arg2 == NULL)
-             {
-                 SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
-             }
-         }
-         arg3 = (int)jarg3;
-         fillTextureCoordinates(arg1, arg2, arg3);
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-     }
  
 -    SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillTextureCoordinates(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3)
 -    {
 -        char *arg1 = (char *) 0 ;
 -        float *arg2 = (float *) 0 ;
 -        int arg3 ;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return ;
 -            }
 -        }
 -        {
 -            arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
 -            if (arg2 == NULL)
 -            {
 -                SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
 -            }
 -        }
 -        arg3 = (int)jarg3;
 -        fillTextureCoordinates(arg1, arg2, arg3);
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -    }
++SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillTextureCoordinates(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3) {
++  char *arg1 = (char *) 0 ;
++  float *arg2 = (float *) 0 ;
++  int arg3 ;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return ;
++  }
++  {
++    arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
++    if (arg2 == NULL) {
++      SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
++    }
++  }
++  arg3 = (int)jarg3; 
++  fillTextureCoordinates(arg1,arg2,arg3);
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++}
  
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getIndicesSize(JNIEnv *jenv, jclass jcls, jstring jarg1)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         result = (int)getIndicesSize(arg1);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
  
 -    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getIndicesSize(JNIEnv *jenv, jclass jcls, jstring jarg1)
 -    {
 -        jint jresult = 0 ;
 -        char *arg1 = (char *) 0 ;
 -        int result;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return 0;
 -            }
 -        }
 -        result = (int)getIndicesSize(arg1);
 -        jresult = (jint)result;
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -        return jresult;
 -    }
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getIndicesSize(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  result = (int)getIndicesSize(arg1);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
  
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillIndices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int *arg2 = (int *) 0 ;
-         int arg3 ;
-         int arg4 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         {
-             arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
-             if (arg2 == NULL)
-             {
-                 SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
-             }
-         }
-         arg3 = (int)jarg3;
-         arg4 = (int)jarg4;
-         result = (int)fillIndices(arg1, arg2, arg3, arg4);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
  
 -    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillIndices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4)
 -    {
 -        jint jresult = 0 ;
 -        char *arg1 = (char *) 0 ;
 -        int *arg2 = (int *) 0 ;
 -        int arg3 ;
 -        int arg4 ;
 -        int result;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return 0;
 -            }
 -        }
 -        {
 -            arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
 -            if (arg2 == NULL)
 -            {
 -                SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
 -            }
 -        }
 -        arg3 = (int)jarg3;
 -        arg4 = (int)jarg4;
 -        result = (int)fillIndices(arg1, arg2, arg3, arg4);
 -        jresult = (jint)result;
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -        return jresult;
 -    }
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillIndices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int *arg2 = (int *) 0 ;
++  int arg3 ;
++  int arg4 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  {
++    arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
++    if (arg2 == NULL) {
++      SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
++    }
++  }
++  arg3 = (int)jarg3; 
++  arg4 = (int)jarg4; 
++  result = (int)fillIndices(arg1,arg2,arg3,arg4);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
  
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getWireIndicesSize(JNIEnv *jenv, jclass jcls, jstring jarg1)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         result = (int)getWireIndicesSize(arg1);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
  
 -    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getWireIndicesSize(JNIEnv *jenv, jclass jcls, jstring jarg1)
 -    {
 -        jint jresult = 0 ;
 -        char *arg1 = (char *) 0 ;
 -        int result;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return 0;
 -            }
 -        }
 -        result = (int)getWireIndicesSize(arg1);
 -        jresult = (jint)result;
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -        return jresult;
 -    }
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getWireIndicesSize(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  result = (int)getWireIndicesSize(arg1);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
  
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillWireIndices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int *arg2 = (int *) 0 ;
-         int arg3 ;
-         int arg4 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         {
-             arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
-             if (arg2 == NULL)
-             {
-                 SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
-             }
-         }
-         arg3 = (int)jarg3;
-         arg4 = (int)jarg4;
-         result = (int)fillWireIndices(arg1, arg2, arg3, arg4);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
  
 -    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillWireIndices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4)
 -    {
 -        jint jresult = 0 ;
 -        char *arg1 = (char *) 0 ;
 -        int *arg2 = (int *) 0 ;
 -        int arg3 ;
 -        int arg4 ;
 -        int result;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return 0;
 -            }
 -        }
 -        {
 -            arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
 -            if (arg2 == NULL)
 -            {
 -                SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
 -            }
 -        }
 -        arg3 = (int)jarg3;
 -        arg4 = (int)jarg4;
 -        result = (int)fillWireIndices(arg1, arg2, arg3, arg4);
 -        jresult = (jint)result;
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -        return jresult;
 -    }
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillWireIndices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3, jint jarg4) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int *arg2 = (int *) 0 ;
++  int arg3 ;
++  int arg4 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  {
++    arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
++    if (arg2 == NULL) {
++      SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
++    }
++  }
++  arg3 = (int)jarg3; 
++  arg4 = (int)jarg4; 
++  result = (int)fillWireIndices(arg1,arg2,arg3,arg4);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
  
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getMarkIndicesSize(JNIEnv *jenv, jclass jcls, jstring jarg1)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         result = (int)getMarkIndicesSize(arg1);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
  
 -    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getMarkIndicesSize(JNIEnv *jenv, jclass jcls, jstring jarg1)
 -    {
 -        jint jresult = 0 ;
 -        char *arg1 = (char *) 0 ;
 -        int result;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return 0;
 -            }
 -        }
 -        result = (int)getMarkIndicesSize(arg1);
 -        jresult = (jint)result;
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -        return jresult;
 -    }
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getMarkIndicesSize(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  result = (int)getMarkIndicesSize(arg1);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
  
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillMarkIndices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int *arg2 = (int *) 0 ;
-         int arg3 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         {
-             arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
-             if (arg2 == NULL)
-             {
-                 SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
-             }
-         }
-         arg3 = (int)jarg3;
-         result = (int)fillMarkIndices(arg1, arg2, arg3);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
  
 -    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillMarkIndices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3)
 -    {
 -        jint jresult = 0 ;
 -        char *arg1 = (char *) 0 ;
 -        int *arg2 = (int *) 0 ;
 -        int arg3 ;
 -        int result;
 -
 -        (void)jenv;
 -        (void)jcls;
 -        arg1 = 0;
 -        if (jarg1)
 -        {
 -            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
 -            if (!arg1)
 -            {
 -                return 0;
 -            }
 -        }
 -        {
 -            arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
 -            if (arg2 == NULL)
 -            {
 -                SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
 -            }
 -        }
 -        arg3 = (int)jarg3;
 -        result = (int)fillMarkIndices(arg1, arg2, arg3);
 -        jresult = (jint)result;
 -        if (arg1)
 -        {
 -            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
 -        }
 -        return jresult;
 -    }
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillMarkIndices(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2, jint jarg3) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int *arg2 = (int *) 0 ;
++  int arg3 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  {
++    arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
++    if (arg2 == NULL) {
++      SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
++    }
++  }
++  arg3 = (int)jarg3; 
++  result = (int)fillMarkIndices(arg1,arg2,arg3);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
 +
-     SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureData(JNIEnv *jenv, jclass jcls, jstring jarg1)
-     {
-         jobject jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         JavaDirectBuffer result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         result = getTextureData(arg1);
-         {
-             if ((&result)->address)
-             {
-                 jresult = (*jenv)->NewDirectByteBuffer(jenv, (&result)->address, (&result)->size);
-             }
-         }
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
 +
++SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureData(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  jobject jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  JavaDirectBuffer result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  result = getTextureData(arg1);
++  {
++    if ((&result)->address)
++    {
++      jresult = (*jenv)->NewDirectByteBuffer(jenv, (&result)->address, (&result)->size);
++    }
++  }
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
 +
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureImageType(JNIEnv *jenv, jclass jcls, jstring jarg1)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         result = (int)getTextureImageType(arg1);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
 +
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureImageType(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  result = (int)getTextureImageType(arg1);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
 +
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureDataType(JNIEnv *jenv, jclass jcls, jstring jarg1)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         result = (int)getTextureDataType(arg1);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
 +
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureDataType(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  result = (int)getTextureDataType(arg1);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
 +
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureGLType(JNIEnv *jenv, jclass jcls, jstring jarg1)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         result = (int)getTextureGLType(arg1);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
 +
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureGLType(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  result = (int)getTextureGLType(arg1);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
 +
-     SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_disposeTextureData(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2)
-     {
-         char *arg1 = (char *) 0 ;
-         unsigned char *arg2 = (unsigned char *) 0 ;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return ;
-             }
-         }
-         {
-             arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
-             if (arg2 == NULL)
-             {
-                 SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
-             }
-         }
-         disposeTextureData(arg1, arg2);
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-     }
 +
++SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_disposeTextureData(JNIEnv *jenv, jclass jcls, jstring jarg1, jobject jarg2) {
++  char *arg1 = (char *) 0 ;
++  unsigned char *arg2 = (unsigned char *) 0 ;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return ;
++  }
++  {
++    arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2);
++    if (arg2 == NULL) {
++      SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct.");
++    }
++  }
++  disposeTextureData(arg1,arg2);
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++}
 +
-     SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_isTextureRowOrder(JNIEnv *jenv, jclass jcls, jstring jarg1)
-     {
-         jint jresult = 0 ;
-         char *arg1 = (char *) 0 ;
-         int result;
-         (void)jenv;
-         (void)jcls;
-         arg1 = 0;
-         if (jarg1)
-         {
-             arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
-             if (!arg1)
-             {
-                 return 0;
-             }
-         }
-         result = (int)isTextureRowOrder(arg1);
-         jresult = (jint)result;
-         if (arg1)
-         {
-             (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
-         }
-         return jresult;
-     }
 +
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_isTextureRowOrder(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  jint jresult = 0 ;
++  char *arg1 = (char *) 0 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return 0;
++  }
++  result = (int)isTextureRowOrder(arg1);
++  jresult = (jint)result; 
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++  return jresult;
++}
 +
-     SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_setABGRExt(JNIEnv *jenv, jclass jcls, jint jarg1)
-     {
-         int arg1 ;
 +
-         (void)jenv;
-         (void)jcls;
-         arg1 = (int)jarg1;
-         setABGRExt(arg1);
-     }
++SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_setABGRExt(JNIEnv *jenv, jclass jcls, jint jarg1) {
++  int arg1 ;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = (int)jarg1; 
++  setABGRExt(arg1);
++}
  
  
  #ifdef __cplusplus
@@@ -1,6 -1,6 +1,6 @@@
  #include "GraphicObjectBuilder.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\graphic_objects\src\jni\ --throws-exception-on-error --description-file graphic_objects.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\graphic_objects\src\jni\ --throws-exception-on-error --description-file graphic_objects.giws.xml 
  */
  /*
  
@@@ -1,11 -1,11 +1,11 @@@
  /* ----------------------------------------------------------------------------
   * This file was automatically generated by SWIG (http://www.swig.org).
   * Version 2.0.7
-- *
-- * This file is not intended to be easily readable and contains a number of
++ * 
++ * This file is not intended to be easily readable and contains a number of 
   * coding conventions designed to improve portability and efficiency. Do not make
-- * changes to this file unless you know what you are doing--modify the SWIG
-- * interface file instead.
++ * changes to this file unless you know what you are doing--modify the SWIG 
++ * interface file instead. 
   * ----------------------------------------------------------------------------- */
  
  #define SWIGJAVA
  #ifndef SWIGUNUSED
  # if defined(__GNUC__)
  #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
--#     define SWIGUNUSED __attribute__ ((__unused__))
++#     define SWIGUNUSED __attribute__ ((__unused__)) 
  #   else
  #     define SWIGUNUSED
  #   endif
  # elif defined(__ICC)
--#   define SWIGUNUSED __attribute__ ((__unused__))
++#   define SWIGUNUSED __attribute__ ((__unused__)) 
  # else
--#   define SWIGUNUSED
++#   define SWIGUNUSED 
  # endif
  #endif
  
  #ifndef SWIG_MSC_UNSUPPRESS_4505
  # if defined(_MSC_VER)
  #   pragma warning(disable : 4505) /* unreferenced local function has been removed */
--# endif
++# endif 
  #endif
  
  #ifndef SWIGUNUSEDPARM
  # ifdef __cplusplus
  #   define SWIGUNUSEDPARM(p)
  # else
--#   define SWIGUNUSEDPARM(p) p SWIGUNUSED
++#   define SWIGUNUSEDPARM(p) p SWIGUNUSED 
  # endif
  #endif
  
  #   define SWIGSTDCALL __stdcall
  # else
  #   define SWIGSTDCALL
--# endif
++# endif 
  #endif
  
  /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
  
  /* Fix for jlong on some versions of gcc on Windows */
  #if defined(__GNUC__) && !defined(__INTEL_COMPILER)
--typedef long long __int64;
++  typedef long long __int64;
  #endif
  
  /* Fix for jlong on 64-bit x86 Solaris */
  
  
  /* Support for throwing Java exceptions */
--typedef enum
--{
--    SWIG_JavaOutOfMemoryError = 1,
--    SWIG_JavaIOException,
--    SWIG_JavaRuntimeException,
--    SWIG_JavaIndexOutOfBoundsException,
--    SWIG_JavaArithmeticException,
--    SWIG_JavaIllegalArgumentException,
--    SWIG_JavaNullPointerException,
--    SWIG_JavaDirectorPureVirtual,
--    SWIG_JavaUnknownError
++typedef enum {
++  SWIG_JavaOutOfMemoryError = 1, 
++  SWIG_JavaIOException, 
++  SWIG_JavaRuntimeException, 
++  SWIG_JavaIndexOutOfBoundsException,
++  SWIG_JavaArithmeticException,
++  SWIG_JavaIllegalArgumentException,
++  SWIG_JavaNullPointerException,
++  SWIG_JavaDirectorPureVirtual,
++  SWIG_JavaUnknownError
  } SWIG_JavaExceptionCodes;
  
--typedef struct
--{
--    SWIG_JavaExceptionCodes code;
--    const char *java_exception;
++typedef struct {
++  SWIG_JavaExceptionCodes code;
++  const char *java_exception;
  } SWIG_JavaExceptions_t;
  
  
--static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg)
--{
--    jclass excep;
--    static const SWIG_JavaExceptions_t java_exceptions[] =
--    {
--        { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" },
--        { SWIG_JavaIOException, "java/io/IOException" },
--        { SWIG_JavaRuntimeException, "java/lang/RuntimeException" },
--        { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" },
--        { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" },
--        { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" },
--        { SWIG_JavaNullPointerException, "java/lang/NullPointerException" },
--        { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" },
--        { SWIG_JavaUnknownError,  "java/lang/UnknownError" },
--        { (SWIG_JavaExceptionCodes)0,  "java/lang/UnknownError" }
--    };
--    const SWIG_JavaExceptions_t *except_ptr = java_exceptions;
--
--    while (except_ptr->code != code && except_ptr->code)
--    {
--        except_ptr++;
--    }
--
--    (*jenv)->ExceptionClear(jenv);
--    excep = (*jenv)->FindClass(jenv, except_ptr->java_exception);
--    if (excep)
--    {
--        (*jenv)->ThrowNew(jenv, excep, msg);
--    }
++static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) {
++  jclass excep;
++  static const SWIG_JavaExceptions_t java_exceptions[] = {
++    { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" },
++    { SWIG_JavaIOException, "java/io/IOException" },
++    { SWIG_JavaRuntimeException, "java/lang/RuntimeException" },
++    { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" },
++    { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" },
++    { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" },
++    { SWIG_JavaNullPointerException, "java/lang/NullPointerException" },
++    { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" },
++    { SWIG_JavaUnknownError,  "java/lang/UnknownError" },
++    { (SWIG_JavaExceptionCodes)0,  "java/lang/UnknownError" }
++  };
++  const SWIG_JavaExceptions_t *except_ptr = java_exceptions;
++
++  while (except_ptr->code != code && except_ptr->code)
++    except_ptr++;
++
++  (*jenv)->ExceptionClear(jenv);
++  excep = (*jenv)->FindClass(jenv, except_ptr->java_exception);
++  if (excep)
++    (*jenv)->ThrowNew(jenv, excep, msg);
  }
  
  
  #define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else
  
  
--extern void ScilabNativeView__createObject(char* pstId);
--extern void ScilabNativeView__deleteObject(char* pstId);
--extern void ScilabNativeView__updateObject(char* pstId, int iProperty);
--extern void ScilabNativeView__setCurrentFigure(char* pstId);
--extern void ScilabNativeView__setCurrentSubWin(char* pstId);
--extern void ScilabNativeView__setCurrentObject(char* pstId);
--extern int ScilabNativeView__getValidDefaultFigureId();
--
++    extern void ScilabNativeView__createObject(char* pstId);
++    extern void ScilabNativeView__deleteObject(char* pstId);
++    extern void ScilabNativeView__updateObject(char* pstId, int iProperty);
++    extern void ScilabNativeView__setCurrentFigure(char* pstId);
++    extern void ScilabNativeView__setCurrentSubWin(char* pstId);
++    extern void ScilabNativeView__setCurrentObject(char* pstId);
++    extern int ScilabNativeView__getValidDefaultFigureId();
++    
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
--    SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1createObject(JNIEnv *jenv, jclass jcls, jstring jarg1)
--    {
--        char *arg1 = (char *) 0 ;
--
--        (void)jenv;
--        (void)jcls;
--        arg1 = 0;
--        if (jarg1)
--        {
--            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
--            if (!arg1)
--            {
--                return ;
--            }
--        }
--        ScilabNativeView__createObject(arg1);
--        if (arg1)
--        {
--            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
--        }
--    }
--
--
--    SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1deleteObject(JNIEnv *jenv, jclass jcls, jstring jarg1)
--    {
--        char *arg1 = (char *) 0 ;
--
--        (void)jenv;
--        (void)jcls;
--        arg1 = 0;
--        if (jarg1)
--        {
--            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
--            if (!arg1)
--            {
--                return ;
--            }
--        }
--        ScilabNativeView__deleteObject(arg1);
--        if (arg1)
--        {
--            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
--        }
--    }
--
--
--    SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1updateObject(JNIEnv *jenv, jclass jcls, jstring jarg1, jint jarg2)
--    {
--        char *arg1 = (char *) 0 ;
--        int arg2 ;
--
--        (void)jenv;
--        (void)jcls;
--        arg1 = 0;
--        if (jarg1)
--        {
--            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
--            if (!arg1)
--            {
--                return ;
--            }
--        }
--        arg2 = (int)jarg2;
--        ScilabNativeView__updateObject(arg1, arg2);
--        if (arg1)
--        {
--            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
--        }
--    }
--
--
--    SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1setCurrentFigure(JNIEnv *jenv, jclass jcls, jstring jarg1)
--    {
--        char *arg1 = (char *) 0 ;
--
--        (void)jenv;
--        (void)jcls;
--        arg1 = 0;
--        if (jarg1)
--        {
--            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
--            if (!arg1)
--            {
--                return ;
--            }
--        }
--        ScilabNativeView__setCurrentFigure(arg1);
--        if (arg1)
--        {
--            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
--        }
--    }
--
--
--    SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1setCurrentSubWin(JNIEnv *jenv, jclass jcls, jstring jarg1)
--    {
--        char *arg1 = (char *) 0 ;
--
--        (void)jenv;
--        (void)jcls;
--        arg1 = 0;
--        if (jarg1)
--        {
--            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
--            if (!arg1)
--            {
--                return ;
--            }
--        }
--        ScilabNativeView__setCurrentSubWin(arg1);
--        if (arg1)
--        {
--            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
--        }
--    }
--
--
--    SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1setCurrentObject(JNIEnv *jenv, jclass jcls, jstring jarg1)
--    {
--        char *arg1 = (char *) 0 ;
--
--        (void)jenv;
--        (void)jcls;
--        arg1 = 0;
--        if (jarg1)
--        {
--            arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
--            if (!arg1)
--            {
--                return ;
--            }
--        }
--        ScilabNativeView__setCurrentObject(arg1);
--        if (arg1)
--        {
--            (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
--        }
--    }
--
--
--    SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1getValidDefaultFigureId(JNIEnv *jenv, jclass jcls)
--    {
--        jint jresult = 0 ;
--        int result;
--
--        (void)jenv;
--        (void)jcls;
--        result = (int)ScilabNativeView__getValidDefaultFigureId();
--        jresult = (jint)result;
--        return jresult;
--    }
++SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1createObject(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  char *arg1 = (char *) 0 ;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return ;
++  }
++  ScilabNativeView__createObject(arg1);
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++}
++
++
++SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1deleteObject(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  char *arg1 = (char *) 0 ;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return ;
++  }
++  ScilabNativeView__deleteObject(arg1);
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++}
++
++
++SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1updateObject(JNIEnv *jenv, jclass jcls, jstring jarg1, jint jarg2) {
++  char *arg1 = (char *) 0 ;
++  int arg2 ;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return ;
++  }
++  arg2 = (int)jarg2; 
++  ScilabNativeView__updateObject(arg1,arg2);
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++}
++
++
++SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1setCurrentFigure(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  char *arg1 = (char *) 0 ;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return ;
++  }
++  ScilabNativeView__setCurrentFigure(arg1);
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++}
++
++
++SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1setCurrentSubWin(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  char *arg1 = (char *) 0 ;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return ;
++  }
++  ScilabNativeView__setCurrentSubWin(arg1);
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++}
++
++
++SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1setCurrentObject(JNIEnv *jenv, jclass jcls, jstring jarg1) {
++  char *arg1 = (char *) 0 ;
++  
++  (void)jenv;
++  (void)jcls;
++  arg1 = 0;
++  if (jarg1) {
++    arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
++    if (!arg1) return ;
++  }
++  ScilabNativeView__setCurrentObject(arg1);
++  if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
++}
++
++
++SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1getValidDefaultFigureId(JNIEnv *jenv, jclass jcls) {
++  jint jresult = 0 ;
++  int result;
++  
++  (void)jenv;
++  (void)jcls;
++  result = (int)ScilabNativeView__getValidDefaultFigureId();
++  jresult = (jint)result; 
++  return jresult;
++}
  
  
  #ifdef __cplusplus
Simple merge
Simple merge
@@@ -1,6 -1,6 +1,6 @@@
  #include "CallScilabBridge.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
--giws -e -r -f CallScilabBridge.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file CallScilabBridge.giws.xml 
  */
  /*
  
@@@ -10,16 -10,16 +10,16 @@@ This software is a computer program who
  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
@@@ -28,2489 -28,2489 +28,1997 @@@ that may mean  that it is complicated t
  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_gui_bridge
--{
--
--// Static declarations (if any)
++namespace org_scilab_modules_gui_bridge {
  
++                // Static declarations (if any)
++                
  // Returns the current env
  
--JNIEnv * CallScilabBridge::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 * CallScilabBridge::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
  
--CallScilabBridge::~CallScilabBridge()
--{
--    JNIEnv * curEnv = NULL;
--    this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    curEnv->DeleteGlobalRef(this->instance);
--    curEnv->DeleteGlobalRef(this->instanceClass);
--    curEnv->DeleteGlobalRef(this->stringArrayClass);
--}
++CallScilabBridge::~CallScilabBridge() {
++JNIEnv * curEnv = NULL;
++this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++
++curEnv->DeleteGlobalRef(this->instance);
++curEnv->DeleteGlobalRef(this->instanceClass);
++curEnv->DeleteGlobalRef(this->stringArrayClass);}
  // Constructors
--CallScilabBridge::CallScilabBridge(JavaVM * jvm_)
--{
--    jmethodID constructObject = NULL ;
--    jobject localInstance ;
--    jclass localClass ;
--
--    const std::string construct = "<init>";
--    const std::string param = "()V";
--    jvm = jvm_;
--
--    JNIEnv * curEnv = getCurrentEnv();
--
--    localClass = curEnv->FindClass( this->className().c_str() ) ;
--    if (localClass == NULL)
--    {
--        throw GiwsException::JniClassNotFoundException(curEnv, this->className());
--    }
--
--    this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
--
--    /* 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());
--    }
--
--    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 */
--    voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID = NULL;
--    voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID = NULL;
--    voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID = NULL;
--    jstringdisplayAndWaitContextMenujstringjava_lang_StringID = NULL;
--    jintnewMessageBoxID = NULL;
--    voidsetMessageBoxTitlejintintjstringjava_lang_StringID = NULL;
--    voidsetMessageBoxMessagejintintjstringjava_lang_StringID = NULL;
--    voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    voidmessageBoxDisplayAndWaitjintintID = NULL;
--    jintgetMessageBoxSelectedButtonjintintID = NULL;
--    voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID = NULL;
--    jintArray_getMessageBoxUserSelectedButtonsjintintID = NULL;
--    voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    jobjectArray_getMessageBoxValuejintintID = NULL;
--    jintgetMessageBoxValueSizejintintID = NULL;
--    voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    jintgetMessageBoxSelectedItemjintintID = NULL;
--    voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    voidsetMessageBoxModaljintintjbooleanbooleanID = NULL;
--    voidsetMessageBoxIconjintintjstringjava_lang_StringID = NULL;
--    jbooleanisToolbarVisiblejstringjava_lang_StringID = NULL;
--    voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID = NULL;
--    voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID = NULL;
--    voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID = NULL;
--    jintnewExportFileChooserjstringjava_lang_StringID = NULL;
--    jintnewFontChooserID = NULL;
--    voidfontChooserDisplayAndWaitjintintID = NULL;
--    voidsetFontChooserFontNamejintintjstringjava_lang_StringID = NULL;
--    voidsetFontChooserFontSizejintintjintintID = NULL;
--    voidsetFontChooserBoldjintintjbooleanbooleanID = NULL;
--    voidsetFontChooserItalicjintintjbooleanbooleanID = NULL;
--    jstringgetFontChooserFontNamejintintID = NULL;
--    jintgetFontChooserFontSizejintintID = NULL;
--    jbooleangetFontChooserBoldjintintID = NULL;
--    jbooleangetFontChooserItalicjintintID = NULL;
--    jintnewColorChooserID = NULL;
--    voidcolorChooserDisplayAndWaitjintintID = NULL;
--    voidsetColorChooserDefaultColorjintintjintArray_intintID = NULL;
--    jintArray_getColorChooserSelectedColorjintintID = NULL;
--    voidsetColorChooserTitlejintintjstringjava_lang_StringID = NULL;
--    jstringgetClipboardContentsID = NULL;
--    voidpasteClipboardIntoConsoleID = NULL;
--    voidcopyConsoleSelectionID = NULL;
--    voidemptyClipboardID = NULL;
--    voidsetClipboardContentsjstringjava_lang_StringID = NULL;
--    voidcopyFigureToClipBoardjstringjava_lang_StringID = NULL;
--    jintgetScreenResolutionID = NULL;
--    jdoublegetScreenWidthID = NULL;
--    jdoublegetScreenHeightID = NULL;
--    jintgetScreenDepthID = NULL;
--    jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID = NULL;
--    jbooleanprintFilejstringjava_lang_StringID = NULL;
--    jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID = NULL;
--    jbooleanpageSetupID = NULL;
--    voidrequestFocusjstringjava_lang_StringID = NULL;
--    voidraiseWindowjintintID = NULL;
--    voiduseCanvasForDisplayjbooleanbooleanID = NULL;
--    jbooleanuseCanvasForDisplayID = NULL;
--    voidscilabAboutBoxID = NULL;
--    voidfireClosingFinishedjstringjava_lang_StringID = NULL;
--
--
--}
--
--CallScilabBridge::CallScilabBridge(JavaVM * jvm_, jobject JObj)
--{
--    jvm = jvm_;
--
--    JNIEnv * curEnv = getCurrentEnv();
--
--    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());
--    }
--
--    this->instance = curEnv->NewGlobalRef(JObj) ;
--    if (this->instance == NULL)
--    {
--        throw GiwsException::JniObjectCreationException(curEnv, this->className());
--    }
--    /* Methods ID set to NULL */
--    voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID = NULL;
--    voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID = NULL;
--    voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID = NULL;
--    jstringdisplayAndWaitContextMenujstringjava_lang_StringID = NULL;
--    jintnewMessageBoxID = NULL;
--    voidsetMessageBoxTitlejintintjstringjava_lang_StringID = NULL;
--    voidsetMessageBoxMessagejintintjstringjava_lang_StringID = NULL;
--    voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    voidmessageBoxDisplayAndWaitjintintID = NULL;
--    jintgetMessageBoxSelectedButtonjintintID = NULL;
--    voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID = NULL;
--    jintArray_getMessageBoxUserSelectedButtonsjintintID = NULL;
--    voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    jobjectArray_getMessageBoxValuejintintID = NULL;
--    jintgetMessageBoxValueSizejintintID = NULL;
--    voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    jintgetMessageBoxSelectedItemjintintID = NULL;
--    voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID = NULL;
--    voidsetMessageBoxModaljintintjbooleanbooleanID = NULL;
--    voidsetMessageBoxIconjintintjstringjava_lang_StringID = NULL;
--    jbooleanisToolbarVisiblejstringjava_lang_StringID = NULL;
--    voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID = NULL;
--    voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID = NULL;
--    voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID = NULL;
--    jintnewExportFileChooserjstringjava_lang_StringID = NULL;
--    jintnewFontChooserID = NULL;
--    voidfontChooserDisplayAndWaitjintintID = NULL;
--    voidsetFontChooserFontNamejintintjstringjava_lang_StringID = NULL;
--    voidsetFontChooserFontSizejintintjintintID = NULL;
--    voidsetFontChooserBoldjintintjbooleanbooleanID = NULL;
--    voidsetFontChooserItalicjintintjbooleanbooleanID = NULL;
--    jstringgetFontChooserFontNamejintintID = NULL;
--    jintgetFontChooserFontSizejintintID = NULL;
--    jbooleangetFontChooserBoldjintintID = NULL;
--    jbooleangetFontChooserItalicjintintID = NULL;
--    jintnewColorChooserID = NULL;
--    voidcolorChooserDisplayAndWaitjintintID = NULL;
--    voidsetColorChooserDefaultColorjintintjintArray_intintID = NULL;
--    jintArray_getColorChooserSelectedColorjintintID = NULL;
--    voidsetColorChooserTitlejintintjstringjava_lang_StringID = NULL;
--    jstringgetClipboardContentsID = NULL;
--    voidpasteClipboardIntoConsoleID = NULL;
--    voidcopyConsoleSelectionID = NULL;
--    voidemptyClipboardID = NULL;
--    voidsetClipboardContentsjstringjava_lang_StringID = NULL;
--    voidcopyFigureToClipBoardjstringjava_lang_StringID = NULL;
--    jintgetScreenResolutionID = NULL;
--    jdoublegetScreenWidthID = NULL;
--    jdoublegetScreenHeightID = NULL;
--    jintgetScreenDepthID = NULL;
--    jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID = NULL;
--    jbooleanprintFilejstringjava_lang_StringID = NULL;
--    jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID = NULL;
--    jbooleanpageSetupID = NULL;
--    voidrequestFocusjstringjava_lang_StringID = NULL;
--    voidraiseWindowjintintID = NULL;
--    voiduseCanvasForDisplayjbooleanbooleanID = NULL;
--    jbooleanuseCanvasForDisplayID = NULL;
--    voidscilabAboutBoxID = NULL;
--    voidfireClosingFinishedjstringjava_lang_StringID = NULL;
++CallScilabBridge::CallScilabBridge(JavaVM * jvm_) {
++jmethodID constructObject = NULL ;
++jobject localInstance ;
++jclass localClass ;
++
++const std::string construct="<init>";
++const std::string param="()V";
++jvm=jvm_;
++
++JNIEnv * curEnv = getCurrentEnv();
++
++localClass = curEnv->FindClass( this->className().c_str() ) ;
++if (localClass == NULL) {
++  throw GiwsException::JniClassNotFoundException(curEnv, this->className());
++}
++
++this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
++
++/* 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());
++}
++ 
++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 */
++voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID=NULL;
++voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID=NULL;
++voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID=NULL;
++jstringdisplayAndWaitContextMenujstringjava_lang_StringID=NULL;
++jintnewMessageBoxID=NULL;
++voidsetMessageBoxTitlejintintjstringjava_lang_StringID=NULL;
++voidsetMessageBoxMessagejintintjstringjava_lang_StringID=NULL;
++voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++voidmessageBoxDisplayAndWaitjintintID=NULL;
++jintgetMessageBoxSelectedButtonjintintID=NULL;
++voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID=NULL;
++jintArray_getMessageBoxUserSelectedButtonsjintintID=NULL;
++voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++jobjectArray_getMessageBoxValuejintintID=NULL;
++jintgetMessageBoxValueSizejintintID=NULL;
++voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++jintgetMessageBoxSelectedItemjintintID=NULL;
++voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++voidsetMessageBoxModaljintintjbooleanbooleanID=NULL;
++voidsetMessageBoxIconjintintjstringjava_lang_StringID=NULL;
++jbooleanisToolbarVisiblejstringjava_lang_StringID=NULL;
++voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID=NULL;
++voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID=NULL;
++voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID=NULL;
++jintnewExportFileChooserjstringjava_lang_StringID=NULL;
++jintnewFontChooserID=NULL;
++voidfontChooserDisplayAndWaitjintintID=NULL;
++voidsetFontChooserFontNamejintintjstringjava_lang_StringID=NULL;
++voidsetFontChooserFontSizejintintjintintID=NULL;
++voidsetFontChooserBoldjintintjbooleanbooleanID=NULL;
++voidsetFontChooserItalicjintintjbooleanbooleanID=NULL;
++jstringgetFontChooserFontNamejintintID=NULL;
++jintgetFontChooserFontSizejintintID=NULL;
++jbooleangetFontChooserBoldjintintID=NULL;
++jbooleangetFontChooserItalicjintintID=NULL;
++jintnewColorChooserID=NULL;
++voidcolorChooserDisplayAndWaitjintintID=NULL;
++voidsetColorChooserDefaultColorjintintjintArray_intintID=NULL;
++jintArray_getColorChooserSelectedColorjintintID=NULL;
++voidsetColorChooserTitlejintintjstringjava_lang_StringID=NULL;
++jstringgetClipboardContentsID=NULL;
++voidpasteClipboardIntoConsoleID=NULL;
++voidcopyConsoleSelectionID=NULL;
++voidemptyClipboardID=NULL;
++voidsetClipboardContentsjstringjava_lang_StringID=NULL;
++voidcopyFigureToClipBoardjstringjava_lang_StringID=NULL;
++jintgetScreenResolutionID=NULL;
++jdoublegetScreenWidthID=NULL;
++jdoublegetScreenHeightID=NULL;
++jintgetScreenDepthID=NULL;
++jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID=NULL;
++jbooleanprintFilejstringjava_lang_StringID=NULL;
++jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID=NULL;
++jbooleanpageSetupID=NULL;
++voidrequestFocusjstringjava_lang_StringID=NULL;
++voidraiseWindowjintintID=NULL;
++voiduseCanvasForDisplayjbooleanbooleanID=NULL;
++jbooleanuseCanvasForDisplayID=NULL;
++voidscilabAboutBoxID=NULL;
++voidfireClosingFinishedjstringjava_lang_StringID=NULL;
++
++
++}
++
++CallScilabBridge::CallScilabBridge(JavaVM * jvm_, jobject JObj) {
++        jvm=jvm_;
++
++        JNIEnv * curEnv = getCurrentEnv();
++
++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());
++        }
++
++        this->instance = curEnv->NewGlobalRef(JObj) ;
++        if(this->instance == NULL){
++throw GiwsException::JniObjectCreationException(curEnv, this->className());
++        }
++        /* Methods ID set to NULL */
++        voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID=NULL;
++voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID=NULL;
++voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID=NULL;
++jstringdisplayAndWaitContextMenujstringjava_lang_StringID=NULL;
++jintnewMessageBoxID=NULL;
++voidsetMessageBoxTitlejintintjstringjava_lang_StringID=NULL;
++voidsetMessageBoxMessagejintintjstringjava_lang_StringID=NULL;
++voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++voidmessageBoxDisplayAndWaitjintintID=NULL;
++jintgetMessageBoxSelectedButtonjintintID=NULL;
++voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID=NULL;
++jintArray_getMessageBoxUserSelectedButtonsjintintID=NULL;
++voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++jobjectArray_getMessageBoxValuejintintID=NULL;
++jintgetMessageBoxValueSizejintintID=NULL;
++voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++jintgetMessageBoxSelectedItemjintintID=NULL;
++voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
++voidsetMessageBoxModaljintintjbooleanbooleanID=NULL;
++voidsetMessageBoxIconjintintjstringjava_lang_StringID=NULL;
++jbooleanisToolbarVisiblejstringjava_lang_StringID=NULL;
++voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID=NULL;
++voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID=NULL;
++voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID=NULL;
++jintnewExportFileChooserjstringjava_lang_StringID=NULL;
++jintnewFontChooserID=NULL;
++voidfontChooserDisplayAndWaitjintintID=NULL;
++voidsetFontChooserFontNamejintintjstringjava_lang_StringID=NULL;
++voidsetFontChooserFontSizejintintjintintID=NULL;
++voidsetFontChooserBoldjintintjbooleanbooleanID=NULL;
++voidsetFontChooserItalicjintintjbooleanbooleanID=NULL;
++jstringgetFontChooserFontNamejintintID=NULL;
++jintgetFontChooserFontSizejintintID=NULL;
++jbooleangetFontChooserBoldjintintID=NULL;
++jbooleangetFontChooserItalicjintintID=NULL;
++jintnewColorChooserID=NULL;
++voidcolorChooserDisplayAndWaitjintintID=NULL;
++voidsetColorChooserDefaultColorjintintjintArray_intintID=NULL;
++jintArray_getColorChooserSelectedColorjintintID=NULL;
++voidsetColorChooserTitlejintintjstringjava_lang_StringID=NULL;
++jstringgetClipboardContentsID=NULL;
++voidpasteClipboardIntoConsoleID=NULL;
++voidcopyConsoleSelectionID=NULL;
++voidemptyClipboardID=NULL;
++voidsetClipboardContentsjstringjava_lang_StringID=NULL;
++voidcopyFigureToClipBoardjstringjava_lang_StringID=NULL;
++jintgetScreenResolutionID=NULL;
++jdoublegetScreenWidthID=NULL;
++jdoublegetScreenHeightID=NULL;
++jintgetScreenDepthID=NULL;
++jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID=NULL;
++jbooleanprintFilejstringjava_lang_StringID=NULL;
++jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID=NULL;
++jbooleanpageSetupID=NULL;
++voidrequestFocusjstringjava_lang_StringID=NULL;
++voidraiseWindowjintintID=NULL;
++voiduseCanvasForDisplayjbooleanbooleanID=NULL;
++jbooleanuseCanvasForDisplayID=NULL;
++voidscilabAboutBoxID=NULL;
++voidfireClosingFinishedjstringjava_lang_StringID=NULL;
  
  
  }
  
  // Generic methods
  
--void CallScilabBridge::synchronize()
--{
--    if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK)
--    {
--        throw GiwsException::JniMonitorException(getCurrentEnv(), "CallScilabBridge");
--    }
++void CallScilabBridge::synchronize() {
++if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK) {
++throw GiwsException::JniMonitorException(getCurrentEnv(), "CallScilabBridge");
++}
  }
  
--void CallScilabBridge::endSynchronize()
--{
--    if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK)
--    {
--        throw GiwsException::JniMonitorException(getCurrentEnv(), "CallScilabBridge");
--    }
++void CallScilabBridge::endSynchronize() {
++if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK) {
++throw GiwsException::JniMonitorException(getCurrentEnv(), "CallScilabBridge");
++}
  }
  // Method(s)
  
--void CallScilabBridge::setMenuEnabled (JavaVM * jvm_, char const* parentUID, char const* menuName, bool status)
++void CallScilabBridge::setMenuEnabled (JavaVM * jvm_, char const* parentUID, char const* menuName, bool status){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setMenuEnabled", "(Ljava/lang/String;Ljava/lang/String;Z)V" ) ;
++if (voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMenuEnabled");
++}
++
++jstring parentUID_ = curEnv->NewStringUTF( parentUID );
++if (parentUID != NULL && parentUID_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
  
--    jmethodID voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setMenuEnabled", "(Ljava/lang/String;Ljava/lang/String;Z)V" ) ;
--    if (voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMenuEnabled");
--    }
++jstring menuName_ = curEnv->NewStringUTF( menuName );
++if (menuName != NULL && menuName_ == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    jstring parentUID_ = curEnv->NewStringUTF( parentUID );
--    if (parentUID != NULL && parentUID_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
  
++jboolean status_ = (static_cast<bool>(status) ? JNI_TRUE : JNI_FALSE);
  
--    jstring menuName_ = curEnv->NewStringUTF( menuName );
--    if (menuName != NULL && menuName_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++                         curEnv->CallStaticVoidMethod(cls, voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID ,parentUID_, menuName_, status_);
++                        curEnv->DeleteLocalRef(parentUID_);
++curEnv->DeleteLocalRef(menuName_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
  
++void CallScilabBridge::setSubMenuEnabled (JavaVM * jvm_, char const* parentUID, char const* menuName, int position, bool status){
  
--    jboolean status_ = (static_cast<bool>(status) ? JNI_TRUE : JNI_FALSE);
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    curEnv->CallStaticVoidMethod(cls, voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID , parentUID_, menuName_, status_);
--    curEnv->DeleteLocalRef(parentUID_);
--    curEnv->DeleteLocalRef(menuName_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jmethodID voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setSubMenuEnabled", "(Ljava/lang/String;Ljava/lang/String;IZ)V" ) ;
++if (voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setSubMenuEnabled");
  }
  
--void CallScilabBridge::setSubMenuEnabled (JavaVM * jvm_, char const* parentUID, char const* menuName, int position, bool status)
++jstring parentUID_ = curEnv->NewStringUTF( parentUID );
++if (parentUID != NULL && parentUID_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
  
--    jmethodID voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setSubMenuEnabled", "(Ljava/lang/String;Ljava/lang/String;IZ)V" ) ;
--    if (voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setSubMenuEnabled");
--    }
++jstring menuName_ = curEnv->NewStringUTF( menuName );
++if (menuName != NULL && menuName_ == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    jstring parentUID_ = curEnv->NewStringUTF( parentUID );
--    if (parentUID != NULL && parentUID_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
  
++jboolean status_ = (static_cast<bool>(status) ? JNI_TRUE : JNI_FALSE);
  
--    jstring menuName_ = curEnv->NewStringUTF( menuName );
--    if (menuName != NULL && menuName_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++                         curEnv->CallStaticVoidMethod(cls, voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID ,parentUID_, menuName_, position, status_);
++                        curEnv->DeleteLocalRef(parentUID_);
++curEnv->DeleteLocalRef(menuName_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
  
++void CallScilabBridge::removeMenu (JavaVM * jvm_, char const* parentUID, char const* menuName){
  
--    jboolean status_ = (static_cast<bool>(status) ? JNI_TRUE : JNI_FALSE);
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    curEnv->CallStaticVoidMethod(cls, voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID , parentUID_, menuName_, position, status_);
--    curEnv->DeleteLocalRef(parentUID_);
--    curEnv->DeleteLocalRef(menuName_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jmethodID voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "removeMenu", "(Ljava/lang/String;Ljava/lang/String;)V" ) ;
++if (voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "removeMenu");
  }
  
--void CallScilabBridge::removeMenu (JavaVM * jvm_, char const* parentUID, char const* menuName)
++jstring parentUID_ = curEnv->NewStringUTF( parentUID );
++if (parentUID != NULL && parentUID_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "removeMenu", "(Ljava/lang/String;Ljava/lang/String;)V" ) ;
--    if (voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "removeMenu");
--    }
--
--    jstring parentUID_ = curEnv->NewStringUTF( parentUID );
--    if (parentUID != NULL && parentUID_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    jstring menuName_ = curEnv->NewStringUTF( menuName );
--    if (menuName != NULL && menuName_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    curEnv->CallStaticVoidMethod(cls, voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID , parentUID_, menuName_);
--    curEnv->DeleteLocalRef(parentUID_);
--    curEnv->DeleteLocalRef(menuName_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--char* CallScilabBridge::displayAndWaitContextMenu (JavaVM * jvm_, char const* UID)
++
++jstring menuName_ = curEnv->NewStringUTF( menuName );
++if (menuName != NULL && menuName_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID jstringdisplayAndWaitContextMenujstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "displayAndWaitContextMenu", "(Ljava/lang/String;)Ljava/lang/String;" ) ;
--    if (jstringdisplayAndWaitContextMenujstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "displayAndWaitContextMenu");
--    }
--
--    jstring UID_ = curEnv->NewStringUTF( UID );
--    if (UID != NULL && UID_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringdisplayAndWaitContextMenujstringjava_lang_StringID , UID_));
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    if (res != NULL)
--    {
--
--        const char *tempString = curEnv->GetStringUTFChars(res, 0);
--        char * myStringBuffer = new char[strlen(tempString) + 1];
--        strcpy(myStringBuffer, tempString);
--        curEnv->ReleaseStringUTFChars(res, tempString);
--        curEnv->DeleteLocalRef(res);
--        curEnv->DeleteLocalRef(UID_);
--        curEnv->DeleteLocalRef(cls);
--        if (curEnv->ExceptionCheck())
--        {
--            delete[] myStringBuffer;
--            throw GiwsException::JniCallMethodException(curEnv);
--        }
--        return myStringBuffer;
--    }
--    else
--    {
--        curEnv->DeleteLocalRef(res);
--        return NULL;
--    }
++
++                         curEnv->CallStaticVoidMethod(cls, voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID ,parentUID_, menuName_);
++                        curEnv->DeleteLocalRef(parentUID_);
++curEnv->DeleteLocalRef(menuName_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++char* CallScilabBridge::displayAndWaitContextMenu (JavaVM * jvm_, char const* UID){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID jstringdisplayAndWaitContextMenujstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "displayAndWaitContextMenu", "(Ljava/lang/String;)Ljava/lang/String;" ) ;
++if (jstringdisplayAndWaitContextMenujstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "displayAndWaitContextMenu");
  }
  
--int CallScilabBridge::newMessageBox (JavaVM * jvm_)
++jstring UID_ = curEnv->NewStringUTF( UID );
++if (UID != NULL && UID_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
  
--    jmethodID jintnewMessageBoxID = curEnv->GetStaticMethodID(cls, "newMessageBox", "()I" ) ;
--    if (jintnewMessageBoxID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "newMessageBox");
--    }
++                        jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringdisplayAndWaitContextMenujstringjava_lang_StringID ,UID_));
++                        if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}if (res != NULL) { 
  
--    jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintnewMessageBoxID ));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++const char *tempString = curEnv->GetStringUTFChars(res, 0);
++char * myStringBuffer = new char[strlen(tempString) + 1];
++strcpy(myStringBuffer, tempString);
++curEnv->ReleaseStringUTFChars(res, tempString);
++curEnv->DeleteLocalRef(res);
++curEnv->DeleteLocalRef(UID_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++delete[] myStringBuffer;
++                                throw GiwsException::JniCallMethodException(curEnv);
++}
++return myStringBuffer;
++ } else { 
++curEnv->DeleteLocalRef(res);
++return NULL;
++}
++}
  
++int CallScilabBridge::newMessageBox (JavaVM * jvm_){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID jintnewMessageBoxID = curEnv->GetStaticMethodID(cls, "newMessageBox", "()I" ) ;
++if (jintnewMessageBoxID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "newMessageBox");
  }
  
--void CallScilabBridge::setMessageBoxTitle (JavaVM * jvm_, int id, char const* title)
--{
++                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintnewMessageBoxID ));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return res;
++
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetMessageBoxTitlejintintjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxTitle", "(ILjava/lang/String;)V" ) ;
--    if (voidsetMessageBoxTitlejintintjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxTitle");
--    }
--
--    jstring title_ = curEnv->NewStringUTF( title );
--    if (title != NULL && title_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxTitlejintintjstringjava_lang_StringID , id, title_);
--    curEnv->DeleteLocalRef(title_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::setMessageBoxMessage (JavaVM * jvm_, int id, char const* message)
++void CallScilabBridge::setMessageBoxTitle (JavaVM * jvm_, int id, char const* title){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidsetMessageBoxTitlejintintjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxTitle", "(ILjava/lang/String;)V" ) ;
++if (voidsetMessageBoxTitlejintintjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxTitle");
++}
++
++jstring title_ = curEnv->NewStringUTF( title );
++if (title != NULL && title_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
++
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxTitlejintintjstringjava_lang_StringID ,id, title_);
++                        curEnv->DeleteLocalRef(title_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::setMessageBoxMessage (JavaVM * jvm_, int id, char const* message){
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetMessageBoxMessagejintintjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxMessage", "(ILjava/lang/String;)V" ) ;
--    if (voidsetMessageBoxMessagejintintjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxMessage");
--    }
--
--    jstring message_ = curEnv->NewStringUTF( message );
--    if (message != NULL && message_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxMessagejintintjstringjava_lang_StringID , id, message_);
--    curEnv->DeleteLocalRef(message_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::setMessageBoxMessage (JavaVM * jvm_, int id, char const* const* message, int messageSize)
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidsetMessageBoxMessagejintintjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxMessage", "(ILjava/lang/String;)V" ) ;
++if (voidsetMessageBoxMessagejintintjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxMessage");
++}
++
++jstring message_ = curEnv->NewStringUTF( message );
++if (message != NULL && message_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxMessage", "(I[Ljava/lang/String;)V" ) ;
--    if (voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxMessage");
--    }
--    jclass stringArrayClass = curEnv->FindClass("java/lang/String");
--
--    // create java array of strings.
--    jobjectArray message_ = curEnv->NewObjectArray( messageSize, stringArrayClass, NULL);
--    if (message_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--    // convert each char * to java strings and fill the java array.
--    for ( int i = 0; i < messageSize; i++)
--    {
--        jstring TempString = curEnv->NewStringUTF( message[i] );
--        if (TempString == NULL)
--        {
--            throw GiwsException::JniBadAllocException(curEnv);
--        }
  
--        curEnv->SetObjectArrayElement( message_, i, TempString);
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxMessagejintintjstringjava_lang_StringID ,id, message_);
++                        curEnv->DeleteLocalRef(message_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::setMessageBoxMessage (JavaVM * jvm_, int id, char const* const* message, int messageSize){
  
--        // avoid keeping reference on to many strings
--        curEnv->DeleteLocalRef(TempString);
--    }
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID , id, message_);
--    curEnv->DeleteLocalRef(stringArrayClass);
--    curEnv->DeleteLocalRef(message_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxMessage", "(I[Ljava/lang/String;)V" ) ;
++if (voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxMessage");
  }
++jclass stringArrayClass = curEnv->FindClass("java/lang/String");
  
--void CallScilabBridge::messageBoxDisplayAndWait (JavaVM * jvm_, int id)
++// create java array of strings.
++jobjectArray message_ = curEnv->NewObjectArray( messageSize, stringArrayClass, NULL);
++if (message_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidmessageBoxDisplayAndWaitjintintID = curEnv->GetStaticMethodID(cls, "messageBoxDisplayAndWait", "(I)V" ) ;
--    if (voidmessageBoxDisplayAndWaitjintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "messageBoxDisplayAndWait");
--    }
--
--    curEnv->CallStaticVoidMethod(cls, voidmessageBoxDisplayAndWaitjintintID , id);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--int CallScilabBridge::getMessageBoxSelectedButton (JavaVM * jvm_, int id)
++// convert each char * to java strings and fill the java array.
++for ( int i = 0; i < messageSize; i++)
  {
++jstring TempString = curEnv->NewStringUTF( message[i] );
++if (TempString == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++curEnv->SetObjectArrayElement( message_, i, TempString);
  
--    jmethodID jintgetMessageBoxSelectedButtonjintintID = curEnv->GetStaticMethodID(cls, "getMessageBoxSelectedButton", "(I)I" ) ;
--    if (jintgetMessageBoxSelectedButtonjintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getMessageBoxSelectedButton");
--    }
++// avoid keeping reference on to many strings
++curEnv->DeleteLocalRef(TempString);
++}
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID ,id, message_);
++                        curEnv->DeleteLocalRef(stringArrayClass);
++curEnv->DeleteLocalRef(message_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::messageBoxDisplayAndWait (JavaVM * jvm_, int id){
  
--    jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetMessageBoxSelectedButtonjintintID , id));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID voidmessageBoxDisplayAndWaitjintintID = curEnv->GetStaticMethodID(cls, "messageBoxDisplayAndWait", "(I)V" ) ;
++if (voidmessageBoxDisplayAndWaitjintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "messageBoxDisplayAndWait");
  }
  
--void CallScilabBridge::setMessageBoxDefaultSelectedButtons (JavaVM * jvm_, int id, int const* index, int indexSize)
--{
++                         curEnv->CallStaticVoidMethod(cls, voidmessageBoxDisplayAndWaitjintintID ,id);
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++int CallScilabBridge::getMessageBoxSelectedButton (JavaVM * jvm_, int id){
  
--    jmethodID voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID = curEnv->GetStaticMethodID(cls, "setMessageBoxDefaultSelectedButtons", "(I[I)V" ) ;
--    if (voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxDefaultSelectedButtons");
--    }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    jintArray index_ = curEnv->NewIntArray( indexSize ) ;
++jmethodID jintgetMessageBoxSelectedButtonjintintID = curEnv->GetStaticMethodID(cls, "getMessageBoxSelectedButton", "(I)I" ) ;
++if (jintgetMessageBoxSelectedButtonjintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getMessageBoxSelectedButton");
++}
++
++                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetMessageBoxSelectedButtonjintintID ,id));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return res;
  
--    if (index_ == NULL)
--    {
--        // check that allocation succeed
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++}
  
--    curEnv->SetIntArrayRegion( index_, 0, indexSize, (jint*)(index) ) ;
++void CallScilabBridge::setMessageBoxDefaultSelectedButtons (JavaVM * jvm_, int id, int const* index, int indexSize){
  
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID , id, index_);
--    curEnv->DeleteLocalRef(index_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jmethodID voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID = curEnv->GetStaticMethodID(cls, "setMessageBoxDefaultSelectedButtons", "(I[I)V" ) ;
++if (voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxDefaultSelectedButtons");
  }
  
--int* CallScilabBridge::getMessageBoxUserSelectedButtons (JavaVM * jvm_, int id)
--{
++jintArray index_ = curEnv->NewIntArray( indexSize ) ;
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID jintArray_getMessageBoxUserSelectedButtonsjintintID = curEnv->GetStaticMethodID(cls, "getMessageBoxUserSelectedButtons", "(I)[I" ) ;
--    if (jintArray_getMessageBoxUserSelectedButtonsjintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getMessageBoxUserSelectedButtons");
--    }
--
--    jintArray res =  static_cast<jintArray>( curEnv->CallStaticObjectMethod(cls, jintArray_getMessageBoxUserSelectedButtonsjintintID , 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 */
--    jint *resultsArray = static_cast<jint *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
--    int* myArray = new int[ lenRow];
--
--    for (jsize i = 0; i <  lenRow; i++)
--    {
--        myArray[i] = resultsArray[i];
--    }
--    curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
--
--    curEnv->DeleteLocalRef(res);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        delete[] myArray;
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return myArray;
--
--}
--
--void CallScilabBridge::setMessageBoxButtonsLabels (JavaVM * jvm_, int id, char const* const* labels, int labelsSize)
++if (index_ == NULL)
  {
++// check that allocation succeed
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxButtonsLabels", "(I[Ljava/lang/String;)V" ) ;
--    if (voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxButtonsLabels");
--    }
--    jclass stringArrayClass = curEnv->FindClass("java/lang/String");
--
--    // create java array of strings.
--    jobjectArray labels_ = curEnv->NewObjectArray( labelsSize, stringArrayClass, NULL);
--    if (labels_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--    // convert each char * to java strings and fill the java array.
--    for ( int i = 0; i < labelsSize; i++)
--    {
--        jstring TempString = curEnv->NewStringUTF( labels[i] );
--        if (TempString == NULL)
--        {
--            throw GiwsException::JniBadAllocException(curEnv);
--        }
++curEnv->SetIntArrayRegion( index_, 0, indexSize, (jint*)(index) ) ;
  
--        curEnv->SetObjectArrayElement( labels_, i, TempString);
  
--        // avoid keeping reference on to many strings
--        curEnv->DeleteLocalRef(TempString);
--    }
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID , id, labels_);
--    curEnv->DeleteLocalRef(stringArrayClass);
--    curEnv->DeleteLocalRef(labels_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID ,id, index_);
++                        curEnv->DeleteLocalRef(index_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
  }
  
--void CallScilabBridge::setMessageBoxInitialValue (JavaVM * jvm_, int id, char const* const* value, int valueSize)
--{
++int* CallScilabBridge::getMessageBoxUserSelectedButtons (JavaVM * jvm_, int id){
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxInitialValue", "(I[Ljava/lang/String;)V" ) ;
--    if (voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxInitialValue");
--    }
--    jclass stringArrayClass = curEnv->FindClass("java/lang/String");
--
--    // create java array of strings.
--    jobjectArray value_ = curEnv->NewObjectArray( valueSize, stringArrayClass, NULL);
--    if (value_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--    // convert each char * to java strings and fill the java array.
--    for ( int i = 0; i < valueSize; i++)
--    {
--        jstring TempString = curEnv->NewStringUTF( value[i] );
--        if (TempString == NULL)
--        {
--            throw GiwsException::JniBadAllocException(curEnv);
--        }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID jintArray_getMessageBoxUserSelectedButtonsjintintID = curEnv->GetStaticMethodID(cls, "getMessageBoxUserSelectedButtons", "(I)[I" ) ;
++if (jintArray_getMessageBoxUserSelectedButtonsjintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getMessageBoxUserSelectedButtons");
++}
++
++                        jintArray res =  static_cast<jintArray>( curEnv->CallStaticObjectMethod(cls, jintArray_getMessageBoxUserSelectedButtonsjintintID ,id));
++                        if (res == NULL) { return NULL; }
++                        if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}int lenRow;
++ lenRow = curEnv->GetArrayLength(res);
++jboolean isCopy = JNI_FALSE;
  
--        curEnv->SetObjectArrayElement( value_, i, TempString);
++/* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
++jint *resultsArray = static_cast<jint *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
++int* myArray= new int[ lenRow];
  
--        // avoid keeping reference on to many strings
--        curEnv->DeleteLocalRef(TempString);
--    }
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID , id, value_);
--    curEnv->DeleteLocalRef(stringArrayClass);
--    curEnv->DeleteLocalRef(value_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++for (jsize i = 0; i <  lenRow; i++){
++myArray[i]=resultsArray[i];
  }
++curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
  
--char** CallScilabBridge::getMessageBoxValue (JavaVM * jvm_, int id)
--{
++                        curEnv->DeleteLocalRef(res);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++delete[] myArray;
++                                throw GiwsException::JniCallMethodException(curEnv);
++}
++return myArray;
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID jobjectArray_getMessageBoxValuejintintID = curEnv->GetStaticMethodID(cls, "getMessageBoxValue", "(I)[Ljava/lang/String;" ) ;
--    if (jobjectArray_getMessageBoxValuejintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getMessageBoxValue");
--    }
--
--    jobjectArray res =  static_cast<jobjectArray>( curEnv->CallStaticObjectMethod(cls, jobjectArray_getMessageBoxValuejintintID , id));
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    if (res != NULL)
--    {
--        int lenRow;
--        lenRow = curEnv->GetArrayLength(res);
--
--        char **arrayOfString;
--        arrayOfString = new char *[lenRow];
--        for (jsize i = 0; i < lenRow; i++)
--        {
--            jstring resString = reinterpret_cast<jstring>(curEnv->GetObjectArrayElement(res, i));
--            const char *tempString = curEnv->GetStringUTFChars(resString, 0);
--            arrayOfString[i] = new char[strlen(tempString) + 1];
--
--            strcpy(arrayOfString[i], tempString);
--            curEnv->ReleaseStringUTFChars(resString, tempString);
--            curEnv->DeleteLocalRef(resString);
--        }
--        curEnv->DeleteLocalRef(cls);
--        if (curEnv->ExceptionCheck())
--        {
--            delete[] arrayOfString;
--            throw GiwsException::JniCallMethodException(curEnv);
--        }
--        curEnv->DeleteLocalRef(res);
--        return arrayOfString;
--    }
--    else
--    {
--        curEnv->DeleteLocalRef(res);
--        return NULL;
--    }
  }
  
--int CallScilabBridge::getMessageBoxValueSize (JavaVM * jvm_, int id)
++void CallScilabBridge::setMessageBoxButtonsLabels (JavaVM * jvm_, int id, char const* const* labels, int labelsSize){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxButtonsLabels", "(I[Ljava/lang/String;)V" ) ;
++if (voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxButtonsLabels");
++}
++jclass stringArrayClass = curEnv->FindClass("java/lang/String");
++
++// create java array of strings.
++jobjectArray labels_ = curEnv->NewObjectArray( labelsSize, stringArrayClass, NULL);
++if (labels_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++// convert each char * to java strings and fill the java array.
++for ( int i = 0; i < labelsSize; i++)
++{
++jstring TempString = curEnv->NewStringUTF( labels[i] );
++if (TempString == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    jmethodID jintgetMessageBoxValueSizejintintID = curEnv->GetStaticMethodID(cls, "getMessageBoxValueSize", "(I)I" ) ;
--    if (jintgetMessageBoxValueSizejintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getMessageBoxValueSize");
--    }
++curEnv->SetObjectArrayElement( labels_, i, TempString);
  
--    jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetMessageBoxValueSizejintintID , id));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++// avoid keeping reference on to many strings
++curEnv->DeleteLocalRef(TempString);
++}
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID ,id, labels_);
++                        curEnv->DeleteLocalRef(stringArrayClass);
++curEnv->DeleteLocalRef(labels_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::setMessageBoxInitialValue (JavaVM * jvm_, int id, char const* const* value, int valueSize){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxInitialValue", "(I[Ljava/lang/String;)V" ) ;
++if (voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxInitialValue");
  }
++jclass stringArrayClass = curEnv->FindClass("java/lang/String");
  
--void CallScilabBridge::setMessageBoxListBoxItems (JavaVM * jvm_, int id, char const* const* items, int itemsSize)
++// create java array of strings.
++jobjectArray value_ = curEnv->NewObjectArray( valueSize, stringArrayClass, NULL);
++if (value_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxListBoxItems", "(I[Ljava/lang/String;)V" ) ;
--    if (voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxListBoxItems");
--    }
--    jclass stringArrayClass = curEnv->FindClass("java/lang/String");
--
--    // create java array of strings.
--    jobjectArray items_ = curEnv->NewObjectArray( itemsSize, stringArrayClass, NULL);
--    if (items_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--    // convert each char * to java strings and fill the java array.
--    for ( int i = 0; i < itemsSize; i++)
--    {
--        jstring TempString = curEnv->NewStringUTF( items[i] );
--        if (TempString == NULL)
--        {
--            throw GiwsException::JniBadAllocException(curEnv);
--        }
++// convert each char * to java strings and fill the java array.
++for ( int i = 0; i < valueSize; i++)
++{
++jstring TempString = curEnv->NewStringUTF( value[i] );
++if (TempString == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--        curEnv->SetObjectArrayElement( items_, i, TempString);
++curEnv->SetObjectArrayElement( value_, i, TempString);
  
--        // avoid keeping reference on to many strings
--        curEnv->DeleteLocalRef(TempString);
--    }
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID , id, items_);
--    curEnv->DeleteLocalRef(stringArrayClass);
--    curEnv->DeleteLocalRef(items_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++// avoid keeping reference on to many strings
++curEnv->DeleteLocalRef(TempString);
++}
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID ,id, value_);
++                        curEnv->DeleteLocalRef(stringArrayClass);
++curEnv->DeleteLocalRef(value_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
  }
  
--int CallScilabBridge::getMessageBoxSelectedItem (JavaVM * jvm_, int id)
--{
++char** CallScilabBridge::getMessageBoxValue (JavaVM * jvm_, int id){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jmethodID jobjectArray_getMessageBoxValuejintintID = curEnv->GetStaticMethodID(cls, "getMessageBoxValue", "(I)[Ljava/lang/String;" ) ;
++if (jobjectArray_getMessageBoxValuejintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getMessageBoxValue");
++}
  
--    jmethodID jintgetMessageBoxSelectedItemjintintID = curEnv->GetStaticMethodID(cls, "getMessageBoxSelectedItem", "(I)I" ) ;
--    if (jintgetMessageBoxSelectedItemjintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getMessageBoxSelectedItem");
--    }
++                        jobjectArray res =  static_cast<jobjectArray>( curEnv->CallStaticObjectMethod(cls, jobjectArray_getMessageBoxValuejintintID ,id));
++                        if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}if (res != NULL) { int lenRow;
++ lenRow = curEnv->GetArrayLength(res);
  
--    jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetMessageBoxSelectedItemjintintID , id));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++char **arrayOfString;
++arrayOfString = new char *[lenRow];
++for (jsize i = 0; i < lenRow; i++){
++jstring resString = reinterpret_cast<jstring>(curEnv->GetObjectArrayElement(res, i));
++const char *tempString = curEnv->GetStringUTFChars(resString, 0);
++arrayOfString[i] = new char[strlen(tempString) + 1];
  
++strcpy(arrayOfString[i], tempString);
++curEnv->ReleaseStringUTFChars(resString, tempString);
++curEnv->DeleteLocalRef(resString);
++}
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++delete[] arrayOfString;
++                                throw GiwsException::JniCallMethodException(curEnv);
++}
++curEnv->DeleteLocalRef(res);
++return arrayOfString;
++ } else { 
++curEnv->DeleteLocalRef(res);
++return NULL;
++}
  }
  
--void CallScilabBridge::setMessageBoxLineLabels (JavaVM * jvm_, int id, char const* const* labels, int labelsSize)
--{
++int CallScilabBridge::getMessageBoxValueSize (JavaVM * jvm_, int id){
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxLineLabels", "(I[Ljava/lang/String;)V" ) ;
--    if (voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxLineLabels");
--    }
--    jclass stringArrayClass = curEnv->FindClass("java/lang/String");
--
--    // create java array of strings.
--    jobjectArray labels_ = curEnv->NewObjectArray( labelsSize, stringArrayClass, NULL);
--    if (labels_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--    // convert each char * to java strings and fill the java array.
--    for ( int i = 0; i < labelsSize; i++)
--    {
--        jstring TempString = curEnv->NewStringUTF( labels[i] );
--        if (TempString == NULL)
--        {
--            throw GiwsException::JniBadAllocException(curEnv);
--        }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--        curEnv->SetObjectArrayElement( labels_, i, TempString);
++jmethodID jintgetMessageBoxValueSizejintintID = curEnv->GetStaticMethodID(cls, "getMessageBoxValueSize", "(I)I" ) ;
++if (jintgetMessageBoxValueSizejintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getMessageBoxValueSize");
++}
  
--        // avoid keeping reference on to many strings
--        curEnv->DeleteLocalRef(TempString);
--    }
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID , id, labels_);
--    curEnv->DeleteLocalRef(stringArrayClass);
--    curEnv->DeleteLocalRef(labels_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetMessageBoxValueSizejintintID ,id));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
  }
++return res;
  
--void CallScilabBridge::setMessageBoxColumnLabels (JavaVM * jvm_, int id, char const* const* labels, int labelsSize)
--{
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxColumnLabels", "(I[Ljava/lang/String;)V" ) ;
--    if (voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxColumnLabels");
--    }
--    jclass stringArrayClass = curEnv->FindClass("java/lang/String");
--
--    // create java array of strings.
--    jobjectArray labels_ = curEnv->NewObjectArray( labelsSize, stringArrayClass, NULL);
--    if (labels_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--    // convert each char * to java strings and fill the java array.
--    for ( int i = 0; i < labelsSize; i++)
--    {
--        jstring TempString = curEnv->NewStringUTF( labels[i] );
--        if (TempString == NULL)
--        {
--            throw GiwsException::JniBadAllocException(curEnv);
--        }
++void CallScilabBridge::setMessageBoxListBoxItems (JavaVM * jvm_, int id, char const* const* items, int itemsSize){
  
--        curEnv->SetObjectArrayElement( labels_, i, TempString);
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--        // avoid keeping reference on to many strings
--        curEnv->DeleteLocalRef(TempString);
--    }
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID , id, labels_);
--    curEnv->DeleteLocalRef(stringArrayClass);
--    curEnv->DeleteLocalRef(labels_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jmethodID voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxListBoxItems", "(I[Ljava/lang/String;)V" ) ;
++if (voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxListBoxItems");
  }
++jclass stringArrayClass = curEnv->FindClass("java/lang/String");
  
--void CallScilabBridge::setMessageBoxDefaultInput (JavaVM * jvm_, int id, char const* const* values, int valuesSize)
++// create java array of strings.
++jobjectArray items_ = curEnv->NewObjectArray( itemsSize, stringArrayClass, NULL);
++if (items_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxDefaultInput", "(I[Ljava/lang/String;)V" ) ;
--    if (voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxDefaultInput");
--    }
--    jclass stringArrayClass = curEnv->FindClass("java/lang/String");
--
--    // create java array of strings.
--    jobjectArray values_ = curEnv->NewObjectArray( valuesSize, stringArrayClass, NULL);
--    if (values_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--    // convert each char * to java strings and fill the java array.
--    for ( int i = 0; i < valuesSize; i++)
--    {
--        jstring TempString = curEnv->NewStringUTF( values[i] );
--        if (TempString == NULL)
--        {
--            throw GiwsException::JniBadAllocException(curEnv);
--        }
++// convert each char * to java strings and fill the java array.
++for ( int i = 0; i < itemsSize; i++)
++{
++jstring TempString = curEnv->NewStringUTF( items[i] );
++if (TempString == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--        curEnv->SetObjectArrayElement( values_, i, TempString);
++curEnv->SetObjectArrayElement( items_, i, TempString);
  
--        // avoid keeping reference on to many strings
--        curEnv->DeleteLocalRef(TempString);
--    }
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID , id, values_);
--    curEnv->DeleteLocalRef(stringArrayClass);
--    curEnv->DeleteLocalRef(values_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++// avoid keeping reference on to many strings
++curEnv->DeleteLocalRef(TempString);
++}
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID ,id, items_);
++                        curEnv->DeleteLocalRef(stringArrayClass);
++curEnv->DeleteLocalRef(items_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
  }
  
--void CallScilabBridge::setMessageBoxModal (JavaVM * jvm_, int id, bool status)
--{
++int CallScilabBridge::getMessageBoxSelectedItem (JavaVM * jvm_, int id){
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    jmethodID voidsetMessageBoxModaljintintjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setMessageBoxModal", "(IZ)V" ) ;
--    if (voidsetMessageBoxModaljintintjbooleanbooleanID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxModal");
--    }
++jmethodID jintgetMessageBoxSelectedItemjintintID = curEnv->GetStaticMethodID(cls, "getMessageBoxSelectedItem", "(I)I" ) ;
++if (jintgetMessageBoxSelectedItemjintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getMessageBoxSelectedItem");
++}
  
--    jboolean status_ = (static_cast<bool>(status) ? JNI_TRUE : JNI_FALSE);
++                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetMessageBoxSelectedItemjintintID ,id));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return res;
  
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxModaljintintjbooleanbooleanID , id, status_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
  }
  
--void CallScilabBridge::setMessageBoxIcon (JavaVM * jvm_, int id, char const* name)
++void CallScilabBridge::setMessageBoxLineLabels (JavaVM * jvm_, int id, char const* const* labels, int labelsSize){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxLineLabels", "(I[Ljava/lang/String;)V" ) ;
++if (voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxLineLabels");
++}
++jclass stringArrayClass = curEnv->FindClass("java/lang/String");
++
++// create java array of strings.
++jobjectArray labels_ = curEnv->NewObjectArray( labelsSize, stringArrayClass, NULL);
++if (labels_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetMessageBoxIconjintintjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxIcon", "(ILjava/lang/String;)V" ) ;
--    if (voidsetMessageBoxIconjintintjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxIcon");
--    }
--
--    jstring name_ = curEnv->NewStringUTF( name );
--    if (name != NULL && name_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxIconjintintjstringjava_lang_StringID , id, name_);
--    curEnv->DeleteLocalRef(name_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--bool CallScilabBridge::isToolbarVisible (JavaVM * jvm_, char const* parentUID)
++// convert each char * to java strings and fill the java array.
++for ( int i = 0; i < labelsSize; i++)
++{
++jstring TempString = curEnv->NewStringUTF( labels[i] );
++if (TempString == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++curEnv->SetObjectArrayElement( labels_, i, TempString);
  
--    jmethodID jbooleanisToolbarVisiblejstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "isToolbarVisible", "(Ljava/lang/String;)Z" ) ;
--    if (jbooleanisToolbarVisiblejstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "isToolbarVisible");
--    }
++// avoid keeping reference on to many strings
++curEnv->DeleteLocalRef(TempString);
++}
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID ,id, labels_);
++                        curEnv->DeleteLocalRef(stringArrayClass);
++curEnv->DeleteLocalRef(labels_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
  
--    jstring parentUID_ = curEnv->NewStringUTF( parentUID );
--    if (parentUID != NULL && parentUID_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++void CallScilabBridge::setMessageBoxColumnLabels (JavaVM * jvm_, int id, char const* const* labels, int labelsSize){
  
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanisToolbarVisiblejstringjava_lang_StringID , parentUID_));
--    curEnv->DeleteLocalRef(parentUID_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return (res == JNI_TRUE);
++jmethodID voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxColumnLabels", "(I[Ljava/lang/String;)V" ) ;
++if (voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxColumnLabels");
++}
++jclass stringArrayClass = curEnv->FindClass("java/lang/String");
  
++// create java array of strings.
++jobjectArray labels_ = curEnv->NewObjectArray( labelsSize, stringArrayClass, NULL);
++if (labels_ == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
  }
  
--void CallScilabBridge::setToolbarVisible (JavaVM * jvm_, char const* parentUID, bool status)
++// convert each char * to java strings and fill the java array.
++for ( int i = 0; i < labelsSize; i++)
++{
++jstring TempString = curEnv->NewStringUTF( labels[i] );
++if (TempString == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++curEnv->SetObjectArrayElement( labels_, i, TempString);
  
--    jmethodID voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setToolbarVisible", "(Ljava/lang/String;Z)V" ) ;
--    if (voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setToolbarVisible");
--    }
++// avoid keeping reference on to many strings
++curEnv->DeleteLocalRef(TempString);
++}
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID ,id, labels_);
++                        curEnv->DeleteLocalRef(stringArrayClass);
++curEnv->DeleteLocalRef(labels_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
  
--    jstring parentUID_ = curEnv->NewStringUTF( parentUID );
--    if (parentUID != NULL && parentUID_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++void CallScilabBridge::setMessageBoxDefaultInput (JavaVM * jvm_, int id, char const* const* values, int valuesSize){
  
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    jboolean status_ = (static_cast<bool>(status) ? JNI_TRUE : JNI_FALSE);
++jmethodID voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxDefaultInput", "(I[Ljava/lang/String;)V" ) ;
++if (voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxDefaultInput");
++}
++jclass stringArrayClass = curEnv->FindClass("java/lang/String");
  
--    curEnv->CallStaticVoidMethod(cls, voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID , parentUID_, status_);
--    curEnv->DeleteLocalRef(parentUID_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++// create java array of strings.
++jobjectArray values_ = curEnv->NewObjectArray( valuesSize, stringArrayClass, NULL);
++if (values_ == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
  }
  
--void CallScilabBridge::launchHelpBrowser (JavaVM * jvm_, char const* const* helps, int helpsSize, char const* language)
++// convert each char * to java strings and fill the java array.
++for ( int i = 0; i < valuesSize; i++)
  {
++jstring TempString = curEnv->NewStringUTF( values[i] );
++if (TempString == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "launchHelpBrowser", "([Ljava/lang/String;Ljava/lang/String;)V" ) ;
--    if (voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "launchHelpBrowser");
--    }
--    jclass stringArrayClass = curEnv->FindClass("java/lang/String");
--
--    // create java array of strings.
--    jobjectArray helps_ = curEnv->NewObjectArray( helpsSize, stringArrayClass, NULL);
--    if (helps_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--    // convert each char * to java strings and fill the java array.
--    for ( int i = 0; i < helpsSize; i++)
--    {
--        jstring TempString = curEnv->NewStringUTF( helps[i] );
--        if (TempString == NULL)
--        {
--            throw GiwsException::JniBadAllocException(curEnv);
--        }
++curEnv->SetObjectArrayElement( values_, i, TempString);
++
++// avoid keeping reference on to many strings
++curEnv->DeleteLocalRef(TempString);
++}
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID ,id, values_);
++                        curEnv->DeleteLocalRef(stringArrayClass);
++curEnv->DeleteLocalRef(values_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
  
--        curEnv->SetObjectArrayElement( helps_, i, TempString);
++void CallScilabBridge::setMessageBoxModal (JavaVM * jvm_, int id, bool status){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidsetMessageBoxModaljintintjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setMessageBoxModal", "(IZ)V" ) ;
++if (voidsetMessageBoxModaljintintjbooleanbooleanID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxModal");
++}
++
++jboolean status_ = (static_cast<bool>(status) ? JNI_TRUE : JNI_FALSE);
++
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxModaljintintjbooleanbooleanID ,id, status_);
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
  
--        // avoid keeping reference on to many strings
--        curEnv->DeleteLocalRef(TempString);
--    }
--    jstring language_ = curEnv->NewStringUTF( language );
--    if (language != NULL && language_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++void CallScilabBridge::setMessageBoxIcon (JavaVM * jvm_, int id, char const* name){
  
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    curEnv->CallStaticVoidMethod(cls, voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID , helps_, language_);
--    curEnv->DeleteLocalRef(stringArrayClass);
--    curEnv->DeleteLocalRef(helps_);
--    curEnv->DeleteLocalRef(language_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jmethodID voidsetMessageBoxIconjintintjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setMessageBoxIcon", "(ILjava/lang/String;)V" ) ;
++if (voidsetMessageBoxIconjintintjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setMessageBoxIcon");
  }
  
--void CallScilabBridge::searchKeyword (JavaVM * jvm_, char const* const* helps, int helpsSize, char const* keyword, char const* language, bool fullText)
++jstring name_ = curEnv->NewStringUTF( name );
++if (name != NULL && name_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "searchKeyword", "([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V" ) ;
--    if (voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "searchKeyword");
--    }
--    jclass stringArrayClass = curEnv->FindClass("java/lang/String");
--
--    // create java array of strings.
--    jobjectArray helps_ = curEnv->NewObjectArray( helpsSize, stringArrayClass, NULL);
--    if (helps_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--    // convert each char * to java strings and fill the java array.
--    for ( int i = 0; i < helpsSize; i++)
--    {
--        jstring TempString = curEnv->NewStringUTF( helps[i] );
--        if (TempString == NULL)
--        {
--            throw GiwsException::JniBadAllocException(curEnv);
--        }
  
--        curEnv->SetObjectArrayElement( helps_, i, TempString);
++                         curEnv->CallStaticVoidMethod(cls, voidsetMessageBoxIconjintintjstringjava_lang_StringID ,id, name_);
++                        curEnv->DeleteLocalRef(name_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++bool CallScilabBridge::isToolbarVisible (JavaVM * jvm_, char const* parentUID){
  
--        // avoid keeping reference on to many strings
--        curEnv->DeleteLocalRef(TempString);
--    }
--    jstring keyword_ = curEnv->NewStringUTF( keyword );
--    if (keyword != NULL && keyword_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID jbooleanisToolbarVisiblejstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "isToolbarVisible", "(Ljava/lang/String;)Z" ) ;
++if (jbooleanisToolbarVisiblejstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "isToolbarVisible");
++}
++
++jstring parentUID_ = curEnv->NewStringUTF( parentUID );
++if (parentUID != NULL && parentUID_ == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
++
++                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanisToolbarVisiblejstringjava_lang_StringID ,parentUID_));
++                        curEnv->DeleteLocalRef(parentUID_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return (res == JNI_TRUE);
  
--    jstring language_ = curEnv->NewStringUTF( language );
--    if (language != NULL && language_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++}
  
++void CallScilabBridge::setToolbarVisible (JavaVM * jvm_, char const* parentUID, bool status){
  
--    jboolean fullText_ = (static_cast<bool>(fullText) ? JNI_TRUE : JNI_FALSE);
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    curEnv->CallStaticVoidMethod(cls, voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID , helps_, keyword_, language_, fullText_);
--    curEnv->DeleteLocalRef(stringArrayClass);
--    curEnv->DeleteLocalRef(helps_);
--    curEnv->DeleteLocalRef(keyword_);
--    curEnv->DeleteLocalRef(language_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jmethodID voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setToolbarVisible", "(Ljava/lang/String;Z)V" ) ;
++if (voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setToolbarVisible");
  }
  
--int CallScilabBridge::newExportFileChooser (JavaVM * jvm_, char const* figureUID)
++jstring parentUID_ = curEnv->NewStringUTF( parentUID );
++if (parentUID != NULL && parentUID_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
  
--    jmethodID jintnewExportFileChooserjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "newExportFileChooser", "(Ljava/lang/String;)I" ) ;
--    if (jintnewExportFileChooserjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "newExportFileChooser");
--    }
++jboolean status_ = (static_cast<bool>(status) ? JNI_TRUE : JNI_FALSE);
  
--    jstring figureUID_ = curEnv->NewStringUTF( figureUID );
--    if (figureUID != NULL && figureUID_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++                         curEnv->CallStaticVoidMethod(cls, voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID ,parentUID_, status_);
++                        curEnv->DeleteLocalRef(parentUID_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
  
++void CallScilabBridge::launchHelpBrowser (JavaVM * jvm_, char const* const* helps, int helpsSize, char const* language){
  
--    jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintnewExportFileChooserjstringjava_lang_StringID , figureUID_));
--    curEnv->DeleteLocalRef(figureUID_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "launchHelpBrowser", "([Ljava/lang/String;Ljava/lang/String;)V" ) ;
++if (voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "launchHelpBrowser");
++}
++jclass stringArrayClass = curEnv->FindClass("java/lang/String");
++
++// create java array of strings.
++jobjectArray helps_ = curEnv->NewObjectArray( helpsSize, stringArrayClass, NULL);
++if (helps_ == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
  }
  
--int CallScilabBridge::newFontChooser (JavaVM * jvm_)
++// convert each char * to java strings and fill the java array.
++for ( int i = 0; i < helpsSize; i++)
++{
++jstring TempString = curEnv->NewStringUTF( helps[i] );
++if (TempString == NULL)
++{
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
++curEnv->SetObjectArrayElement( helps_, i, TempString);
++
++// avoid keeping reference on to many strings
++curEnv->DeleteLocalRef(TempString);
++}
++jstring language_ = curEnv->NewStringUTF( language );
++if (language != NULL && language_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++                         curEnv->CallStaticVoidMethod(cls, voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID ,helps_, language_);
++                        curEnv->DeleteLocalRef(stringArrayClass);
++curEnv->DeleteLocalRef(helps_);
++curEnv->DeleteLocalRef(language_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
  
--    jmethodID jintnewFontChooserID = curEnv->GetStaticMethodID(cls, "newFontChooser", "()I" ) ;
--    if (jintnewFontChooserID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "newFontChooser");
--    }
++void CallScilabBridge::searchKeyword (JavaVM * jvm_, char const* const* helps, int helpsSize, char const* keyword, char const* language, bool fullText){
  
--    jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintnewFontChooserID ));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "searchKeyword", "([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V" ) ;
++if (voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "searchKeyword");
  }
++jclass stringArrayClass = curEnv->FindClass("java/lang/String");
  
--void CallScilabBridge::fontChooserDisplayAndWait (JavaVM * jvm_, int objID)
++// create java array of strings.
++jobjectArray helps_ = curEnv->NewObjectArray( helpsSize, stringArrayClass, NULL);
++if (helps_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidfontChooserDisplayAndWaitjintintID = curEnv->GetStaticMethodID(cls, "fontChooserDisplayAndWait", "(I)V" ) ;
--    if (voidfontChooserDisplayAndWaitjintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "fontChooserDisplayAndWait");
--    }
--
--    curEnv->CallStaticVoidMethod(cls, voidfontChooserDisplayAndWaitjintintID , objID);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::setFontChooserFontName (JavaVM * jvm_, int objID, char const* fontName)
++// convert each char * to java strings and fill the java array.
++for ( int i = 0; i < helpsSize; i++)
++{
++jstring TempString = curEnv->NewStringUTF( helps[i] );
++if (TempString == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetFontChooserFontNamejintintjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setFontChooserFontName", "(ILjava/lang/String;)V" ) ;
--    if (voidsetFontChooserFontNamejintintjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setFontChooserFontName");
--    }
--
--    jstring fontName_ = curEnv->NewStringUTF( fontName );
--    if (fontName != NULL && fontName_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    curEnv->CallStaticVoidMethod(cls, voidsetFontChooserFontNamejintintjstringjava_lang_StringID , objID, fontName_);
--    curEnv->DeleteLocalRef(fontName_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::setFontChooserFontSize (JavaVM * jvm_, int objID, int fontSize)
++curEnv->SetObjectArrayElement( helps_, i, TempString);
++
++// avoid keeping reference on to many strings
++curEnv->DeleteLocalRef(TempString);
++}
++jstring keyword_ = curEnv->NewStringUTF( keyword );
++if (keyword != NULL && keyword_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetFontChooserFontSizejintintjintintID = curEnv->GetStaticMethodID(cls, "setFontChooserFontSize", "(II)V" ) ;
--    if (voidsetFontChooserFontSizejintintjintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setFontChooserFontSize");
--    }
--
--    curEnv->CallStaticVoidMethod(cls, voidsetFontChooserFontSizejintintjintintID , objID, fontSize);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::setFontChooserBold (JavaVM * jvm_, int objID, bool bold)
++
++jstring language_ = curEnv->NewStringUTF( language );
++if (language != NULL && language_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jboolean fullText_ = (static_cast<bool>(fullText) ? JNI_TRUE : JNI_FALSE);
  
--    jmethodID voidsetFontChooserBoldjintintjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setFontChooserBold", "(IZ)V" ) ;
--    if (voidsetFontChooserBoldjintintjbooleanbooleanID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setFontChooserBold");
--    }
++                         curEnv->CallStaticVoidMethod(cls, voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID ,helps_, keyword_, language_, fullText_);
++                        curEnv->DeleteLocalRef(stringArrayClass);
++curEnv->DeleteLocalRef(helps_);
++curEnv->DeleteLocalRef(keyword_);
++curEnv->DeleteLocalRef(language_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
  
--    jboolean bold_ = (static_cast<bool>(bold) ? JNI_TRUE : JNI_FALSE);
++int CallScilabBridge::newExportFileChooser (JavaVM * jvm_, char const* figureUID){
  
--    curEnv->CallStaticVoidMethod(cls, voidsetFontChooserBoldjintintjbooleanbooleanID , objID, bold_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID jintnewExportFileChooserjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "newExportFileChooser", "(Ljava/lang/String;)I" ) ;
++if (jintnewExportFileChooserjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "newExportFileChooser");
  }
  
--void CallScilabBridge::setFontChooserItalic (JavaVM * jvm_, int objID, bool italic)
++jstring figureUID_ = curEnv->NewStringUTF( figureUID );
++if (figureUID != NULL && figureUID_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
++
++                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintnewExportFileChooserjstringjava_lang_StringID ,figureUID_));
++                        curEnv->DeleteLocalRef(figureUID_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return res;
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++}
  
--    jmethodID voidsetFontChooserItalicjintintjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setFontChooserItalic", "(IZ)V" ) ;
--    if (voidsetFontChooserItalicjintintjbooleanbooleanID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setFontChooserItalic");
--    }
++int CallScilabBridge::newFontChooser (JavaVM * jvm_){
  
--    jboolean italic_ = (static_cast<bool>(italic) ? JNI_TRUE : JNI_FALSE);
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    curEnv->CallStaticVoidMethod(cls, voidsetFontChooserItalicjintintjbooleanbooleanID , objID, italic_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jmethodID jintnewFontChooserID = curEnv->GetStaticMethodID(cls, "newFontChooser", "()I" ) ;
++if (jintnewFontChooserID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "newFontChooser");
  }
  
--char* CallScilabBridge::getFontChooserFontName (JavaVM * jvm_, int objID)
--{
++                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintnewFontChooserID ));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return res;
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID jstringgetFontChooserFontNamejintintID = curEnv->GetStaticMethodID(cls, "getFontChooserFontName", "(I)Ljava/lang/String;" ) ;
--    if (jstringgetFontChooserFontNamejintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getFontChooserFontName");
--    }
--
--    jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringgetFontChooserFontNamejintintID , objID));
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    if (res != NULL)
--    {
--
--        const char *tempString = curEnv->GetStringUTFChars(res, 0);
--        char * myStringBuffer = new char[strlen(tempString) + 1];
--        strcpy(myStringBuffer, tempString);
--        curEnv->ReleaseStringUTFChars(res, tempString);
--        curEnv->DeleteLocalRef(res);
--        curEnv->DeleteLocalRef(cls);
--        if (curEnv->ExceptionCheck())
--        {
--            delete[] myStringBuffer;
--            throw GiwsException::JniCallMethodException(curEnv);
--        }
--        return myStringBuffer;
--    }
--    else
--    {
--        curEnv->DeleteLocalRef(res);
--        return NULL;
--    }
  }
  
--int CallScilabBridge::getFontChooserFontSize (JavaVM * jvm_, int objID)
--{
++void CallScilabBridge::fontChooserDisplayAndWait (JavaVM * jvm_, int objID){
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    jmethodID jintgetFontChooserFontSizejintintID = curEnv->GetStaticMethodID(cls, "getFontChooserFontSize", "(I)I" ) ;
--    if (jintgetFontChooserFontSizejintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getFontChooserFontSize");
--    }
++jmethodID voidfontChooserDisplayAndWaitjintintID = curEnv->GetStaticMethodID(cls, "fontChooserDisplayAndWait", "(I)V" ) ;
++if (voidfontChooserDisplayAndWaitjintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "fontChooserDisplayAndWait");
++}
  
--    jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetFontChooserFontSizejintintID , objID));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++                         curEnv->CallStaticVoidMethod(cls, voidfontChooserDisplayAndWaitjintintID ,objID);
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::setFontChooserFontName (JavaVM * jvm_, int objID, char const* fontName){
  
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidsetFontChooserFontNamejintintjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setFontChooserFontName", "(ILjava/lang/String;)V" ) ;
++if (voidsetFontChooserFontNamejintintjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setFontChooserFontName");
  }
  
--bool CallScilabBridge::getFontChooserBold (JavaVM * jvm_, int objID)
++jstring fontName_ = curEnv->NewStringUTF( fontName );
++if (fontName != NULL && fontName_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
  
--    jmethodID jbooleangetFontChooserBoldjintintID = curEnv->GetStaticMethodID(cls, "getFontChooserBold", "(I)Z" ) ;
--    if (jbooleangetFontChooserBoldjintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getFontChooserBold");
--    }
++                         curEnv->CallStaticVoidMethod(cls, voidsetFontChooserFontNamejintintjstringjava_lang_StringID ,objID, fontName_);
++                        curEnv->DeleteLocalRef(fontName_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::setFontChooserFontSize (JavaVM * jvm_, int objID, int fontSize){
  
--    jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleangetFontChooserBoldjintintID , objID));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return (res == JNI_TRUE);
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID voidsetFontChooserFontSizejintintjintintID = curEnv->GetStaticMethodID(cls, "setFontChooserFontSize", "(II)V" ) ;
++if (voidsetFontChooserFontSizejintintjintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setFontChooserFontSize");
  }
  
--bool CallScilabBridge::getFontChooserItalic (JavaVM * jvm_, int objID)
--{
++                         curEnv->CallStaticVoidMethod(cls, voidsetFontChooserFontSizejintintjintintID ,objID, fontSize);
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++void CallScilabBridge::setFontChooserBold (JavaVM * jvm_, int objID, bool bold){
  
--    jmethodID jbooleangetFontChooserItalicjintintID = curEnv->GetStaticMethodID(cls, "getFontChooserItalic", "(I)Z" ) ;
--    if (jbooleangetFontChooserItalicjintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getFontChooserItalic");
--    }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleangetFontChooserItalicjintintID , objID));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return (res == JNI_TRUE);
++jmethodID voidsetFontChooserBoldjintintjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setFontChooserBold", "(IZ)V" ) ;
++if (voidsetFontChooserBoldjintintjbooleanbooleanID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setFontChooserBold");
++}
++
++jboolean bold_ = (static_cast<bool>(bold) ? JNI_TRUE : JNI_FALSE);
  
++                         curEnv->CallStaticVoidMethod(cls, voidsetFontChooserBoldjintintjbooleanbooleanID ,objID, bold_);
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
  }
  
--int CallScilabBridge::newColorChooser (JavaVM * jvm_)
--{
++void CallScilabBridge::setFontChooserItalic (JavaVM * jvm_, int objID, bool italic){
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    jmethodID jintnewColorChooserID = curEnv->GetStaticMethodID(cls, "newColorChooser", "()I" ) ;
--    if (jintnewColorChooserID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "newColorChooser");
--    }
++jmethodID voidsetFontChooserItalicjintintjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setFontChooserItalic", "(IZ)V" ) ;
++if (voidsetFontChooserItalicjintintjbooleanbooleanID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setFontChooserItalic");
++}
  
--    jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintnewColorChooserID ));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++jboolean italic_ = (static_cast<bool>(italic) ? JNI_TRUE : JNI_FALSE);
  
++                         curEnv->CallStaticVoidMethod(cls, voidsetFontChooserItalicjintintjbooleanbooleanID ,objID, italic_);
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
  }
  
--void CallScilabBridge::colorChooserDisplayAndWait (JavaVM * jvm_, int objID)
--{
++char* CallScilabBridge::getFontChooserFontName (JavaVM * jvm_, int objID){
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidcolorChooserDisplayAndWaitjintintID = curEnv->GetStaticMethodID(cls, "colorChooserDisplayAndWait", "(I)V" ) ;
--    if (voidcolorChooserDisplayAndWaitjintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "colorChooserDisplayAndWait");
--    }
--
--    curEnv->CallStaticVoidMethod(cls, voidcolorChooserDisplayAndWaitjintintID , objID);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::setColorChooserDefaultColor (JavaVM * jvm_, int objID, int const* rgb, int rgbSize)
--{
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jmethodID jstringgetFontChooserFontNamejintintID = curEnv->GetStaticMethodID(cls, "getFontChooserFontName", "(I)Ljava/lang/String;" ) ;
++if (jstringgetFontChooserFontNamejintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getFontChooserFontName");
++}
  
--    jmethodID voidsetColorChooserDefaultColorjintintjintArray_intintID = curEnv->GetStaticMethodID(cls, "setColorChooserDefaultColor", "(I[I)V" ) ;
--    if (voidsetColorChooserDefaultColorjintintjintArray_intintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setColorChooserDefaultColor");
--    }
++                        jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringgetFontChooserFontNamejintintID ,objID));
++                        if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}if (res != NULL) { 
  
--    jintArray rgb_ = curEnv->NewIntArray( rgbSize ) ;
++const char *tempString = curEnv->GetStringUTFChars(res, 0);
++char * myStringBuffer = new char[strlen(tempString) + 1];
++strcpy(myStringBuffer, tempString);
++curEnv->ReleaseStringUTFChars(res, tempString);
++curEnv->DeleteLocalRef(res);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++delete[] myStringBuffer;
++                                throw GiwsException::JniCallMethodException(curEnv);
++}
++return myStringBuffer;
++ } else { 
++curEnv->DeleteLocalRef(res);
++return NULL;
++}
++}
  
--    if (rgb_ == NULL)
--    {
--        // check that allocation succeed
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++int CallScilabBridge::getFontChooserFontSize (JavaVM * jvm_, int objID){
  
--    curEnv->SetIntArrayRegion( rgb_, 0, rgbSize, (jint*)(rgb) ) ;
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID jintgetFontChooserFontSizejintintID = curEnv->GetStaticMethodID(cls, "getFontChooserFontSize", "(I)I" ) ;
++if (jintgetFontChooserFontSizejintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getFontChooserFontSize");
++}
  
--    curEnv->CallStaticVoidMethod(cls, voidsetColorChooserDefaultColorjintintjintArray_intintID , objID, rgb_);
--    curEnv->DeleteLocalRef(rgb_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetFontChooserFontSizejintintID ,objID));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
  }
++return res;
  
--int* CallScilabBridge::getColorChooserSelectedColor (JavaVM * jvm_, int objID)
--{
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID jintArray_getColorChooserSelectedColorjintintID = curEnv->GetStaticMethodID(cls, "getColorChooserSelectedColor", "(I)[I" ) ;
--    if (jintArray_getColorChooserSelectedColorjintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getColorChooserSelectedColor");
--    }
--
--    jintArray res =  static_cast<jintArray>( curEnv->CallStaticObjectMethod(cls, jintArray_getColorChooserSelectedColorjintintID , objID));
--    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 */
--    jint *resultsArray = static_cast<jint *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
--    int* myArray = new int[ lenRow];
--
--    for (jsize i = 0; i <  lenRow; i++)
--    {
--        myArray[i] = resultsArray[i];
--    }
--    curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
--
--    curEnv->DeleteLocalRef(res);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        delete[] myArray;
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return myArray;
--
--}
--
--void CallScilabBridge::setColorChooserTitle (JavaVM * jvm_, int objID, char const* title)
--{
++bool CallScilabBridge::getFontChooserBold (JavaVM * jvm_, int objID){
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetColorChooserTitlejintintjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setColorChooserTitle", "(ILjava/lang/String;)V" ) ;
--    if (voidsetColorChooserTitlejintintjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setColorChooserTitle");
--    }
--
--    jstring title_ = curEnv->NewStringUTF( title );
--    if (title != NULL && title_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    curEnv->CallStaticVoidMethod(cls, voidsetColorChooserTitlejintintjstringjava_lang_StringID , objID, title_);
--    curEnv->DeleteLocalRef(title_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--char* CallScilabBridge::getClipboardContents (JavaVM * jvm_)
--{
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID jstringgetClipboardContentsID = curEnv->GetStaticMethodID(cls, "getClipboardContents", "()Ljava/lang/String;" ) ;
--    if (jstringgetClipboardContentsID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getClipboardContents");
--    }
--
--    jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringgetClipboardContentsID ));
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    if (res != NULL)
--    {
--
--        const char *tempString = curEnv->GetStringUTFChars(res, 0);
--        char * myStringBuffer = new char[strlen(tempString) + 1];
--        strcpy(myStringBuffer, tempString);
--        curEnv->ReleaseStringUTFChars(res, tempString);
--        curEnv->DeleteLocalRef(res);
--        curEnv->DeleteLocalRef(cls);
--        if (curEnv->ExceptionCheck())
--        {
--            delete[] myStringBuffer;
--            throw GiwsException::JniCallMethodException(curEnv);
--        }
--        return myStringBuffer;
--    }
--    else
--    {
--        curEnv->DeleteLocalRef(res);
--        return NULL;
--    }
++jmethodID jbooleangetFontChooserBoldjintintID = curEnv->GetStaticMethodID(cls, "getFontChooserBold", "(I)Z" ) ;
++if (jbooleangetFontChooserBoldjintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getFontChooserBold");
  }
  
--void CallScilabBridge::pasteClipboardIntoConsole (JavaVM * jvm_)
--{
++                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleangetFontChooserBoldjintintID ,objID));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return (res == JNI_TRUE);
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidpasteClipboardIntoConsoleID = curEnv->GetStaticMethodID(cls, "pasteClipboardIntoConsole", "()V" ) ;
--    if (voidpasteClipboardIntoConsoleID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "pasteClipboardIntoConsole");
--    }
--
--    curEnv->CallStaticVoidMethod(cls, voidpasteClipboardIntoConsoleID );
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::copyConsoleSelection (JavaVM * jvm_)
--{
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidcopyConsoleSelectionID = curEnv->GetStaticMethodID(cls, "copyConsoleSelection", "()V" ) ;
--    if (voidcopyConsoleSelectionID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "copyConsoleSelection");
--    }
--
--    curEnv->CallStaticVoidMethod(cls, voidcopyConsoleSelectionID );
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::emptyClipboard (JavaVM * jvm_)
--{
++bool CallScilabBridge::getFontChooserItalic (JavaVM * jvm_, int objID){
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidemptyClipboardID = curEnv->GetStaticMethodID(cls, "emptyClipboard", "()V" ) ;
--    if (voidemptyClipboardID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "emptyClipboard");
--    }
--
--    curEnv->CallStaticVoidMethod(cls, voidemptyClipboardID );
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::setClipboardContents (JavaVM * jvm_, char const* text)
--{
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidsetClipboardContentsjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setClipboardContents", "(Ljava/lang/String;)V" ) ;
--    if (voidsetClipboardContentsjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "setClipboardContents");
--    }
--
--    jstring text_ = curEnv->NewStringUTF( text );
--    if (text != NULL && text_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    curEnv->CallStaticVoidMethod(cls, voidsetClipboardContentsjstringjava_lang_StringID , text_);
--    curEnv->DeleteLocalRef(text_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::copyFigureToClipBoard (JavaVM * jvm_, char const* figID)
--{
++jmethodID jbooleangetFontChooserItalicjintintID = curEnv->GetStaticMethodID(cls, "getFontChooserItalic", "(I)Z" ) ;
++if (jbooleangetFontChooserItalicjintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getFontChooserItalic");
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidcopyFigureToClipBoardjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "copyFigureToClipBoard", "(Ljava/lang/String;)V" ) ;
--    if (voidcopyFigureToClipBoardjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "copyFigureToClipBoard");
--    }
--
--    jstring figID_ = curEnv->NewStringUTF( figID );
--    if (figID != NULL && figID_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    curEnv->CallStaticVoidMethod(cls, voidcopyFigureToClipBoardjstringjava_lang_StringID , figID_);
--    curEnv->DeleteLocalRef(figID_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--int CallScilabBridge::getScreenResolution (JavaVM * jvm_)
--{
++                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleangetFontChooserItalicjintintID ,objID));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return (res == JNI_TRUE);
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++}
  
--    jmethodID jintgetScreenResolutionID = curEnv->GetStaticMethodID(cls, "getScreenResolution", "()I" ) ;
--    if (jintgetScreenResolutionID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getScreenResolution");
--    }
++int CallScilabBridge::newColorChooser (JavaVM * jvm_){
  
--    jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetScreenResolutionID ));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID jintnewColorChooserID = curEnv->GetStaticMethodID(cls, "newColorChooser", "()I" ) ;
++if (jintnewColorChooserID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "newColorChooser");
  }
  
--double CallScilabBridge::getScreenWidth (JavaVM * jvm_)
++                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintnewColorChooserID ));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return res;
++
++}
++
++void CallScilabBridge::colorChooserDisplayAndWait (JavaVM * jvm_, int objID){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidcolorChooserDisplayAndWaitjintintID = curEnv->GetStaticMethodID(cls, "colorChooserDisplayAndWait", "(I)V" ) ;
++if (voidcolorChooserDisplayAndWaitjintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "colorChooserDisplayAndWait");
++}
++
++                         curEnv->CallStaticVoidMethod(cls, voidcolorChooserDisplayAndWaitjintintID ,objID);
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::setColorChooserDefaultColor (JavaVM * jvm_, int objID, int const* rgb, int rgbSize){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidsetColorChooserDefaultColorjintintjintArray_intintID = curEnv->GetStaticMethodID(cls, "setColorChooserDefaultColor", "(I[I)V" ) ;
++if (voidsetColorChooserDefaultColorjintintjintArray_intintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setColorChooserDefaultColor");
++}
++
++jintArray rgb_ = curEnv->NewIntArray( rgbSize ) ;
++
++if (rgb_ == NULL)
  {
++// check that allocation succeed
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
++curEnv->SetIntArrayRegion( rgb_, 0, rgbSize, (jint*)(rgb) ) ;
++
++
++                         curEnv->CallStaticVoidMethod(cls, voidsetColorChooserDefaultColorjintintjintArray_intintID ,objID, rgb_);
++                        curEnv->DeleteLocalRef(rgb_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++int* CallScilabBridge::getColorChooserSelectedColor (JavaVM * jvm_, int objID){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID jintArray_getColorChooserSelectedColorjintintID = curEnv->GetStaticMethodID(cls, "getColorChooserSelectedColor", "(I)[I" ) ;
++if (jintArray_getColorChooserSelectedColorjintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getColorChooserSelectedColor");
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++                        jintArray res =  static_cast<jintArray>( curEnv->CallStaticObjectMethod(cls, jintArray_getColorChooserSelectedColorjintintID ,objID));
++                        if (res == NULL) { return NULL; }
++                        if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}int lenRow;
++ lenRow = curEnv->GetArrayLength(res);
++jboolean isCopy = JNI_FALSE;
  
--    jmethodID jdoublegetScreenWidthID = curEnv->GetStaticMethodID(cls, "getScreenWidth", "()D" ) ;
--    if (jdoublegetScreenWidthID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getScreenWidth");
--    }
++/* GetPrimitiveArrayCritical is faster than getXXXArrayElements */
++jint *resultsArray = static_cast<jint *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy));
++int* myArray= new int[ lenRow];
  
--    jdouble res =  static_cast<jdouble>( curEnv->CallStaticDoubleMethod(cls, jdoublegetScreenWidthID ));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++for (jsize i = 0; i <  lenRow; i++){
++myArray[i]=resultsArray[i];
++}
++curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT);
++
++                        curEnv->DeleteLocalRef(res);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++delete[] myArray;
++                                throw GiwsException::JniCallMethodException(curEnv);
++}
++return myArray;
++
++}
++
++void CallScilabBridge::setColorChooserTitle (JavaVM * jvm_, int objID, char const* title){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID voidsetColorChooserTitlejintintjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setColorChooserTitle", "(ILjava/lang/String;)V" ) ;
++if (voidsetColorChooserTitlejintintjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setColorChooserTitle");
  }
  
--double CallScilabBridge::getScreenHeight (JavaVM * jvm_)
++jstring title_ = curEnv->NewStringUTF( title );
++if (title != NULL && title_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
++
++                         curEnv->CallStaticVoidMethod(cls, voidsetColorChooserTitlejintintjstringjava_lang_StringID ,objID, title_);
++                        curEnv->DeleteLocalRef(title_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++char* CallScilabBridge::getClipboardContents (JavaVM * jvm_){
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    jmethodID jdoublegetScreenHeightID = curEnv->GetStaticMethodID(cls, "getScreenHeight", "()D" ) ;
--    if (jdoublegetScreenHeightID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getScreenHeight");
--    }
++jmethodID jstringgetClipboardContentsID = curEnv->GetStaticMethodID(cls, "getClipboardContents", "()Ljava/lang/String;" ) ;
++if (jstringgetClipboardContentsID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getClipboardContents");
++}
++
++                        jstring res =  static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringgetClipboardContentsID ));
++                        if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}if (res != NULL) { 
++
++const char *tempString = curEnv->GetStringUTFChars(res, 0);
++char * myStringBuffer = new char[strlen(tempString) + 1];
++strcpy(myStringBuffer, tempString);
++curEnv->ReleaseStringUTFChars(res, tempString);
++curEnv->DeleteLocalRef(res);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++delete[] myStringBuffer;
++                                throw GiwsException::JniCallMethodException(curEnv);
++}
++return myStringBuffer;
++ } else { 
++curEnv->DeleteLocalRef(res);
++return NULL;
++}
++}
++
++void CallScilabBridge::pasteClipboardIntoConsole (JavaVM * jvm_){
  
--    jdouble res =  static_cast<jdouble>( curEnv->CallStaticDoubleMethod(cls, jdoublegetScreenHeightID ));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID voidpasteClipboardIntoConsoleID = curEnv->GetStaticMethodID(cls, "pasteClipboardIntoConsole", "()V" ) ;
++if (voidpasteClipboardIntoConsoleID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "pasteClipboardIntoConsole");
  }
  
--int CallScilabBridge::getScreenDepth (JavaVM * jvm_)
++                         curEnv->CallStaticVoidMethod(cls, voidpasteClipboardIntoConsoleID );
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::copyConsoleSelection (JavaVM * jvm_){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidcopyConsoleSelectionID = curEnv->GetStaticMethodID(cls, "copyConsoleSelection", "()V" ) ;
++if (voidcopyConsoleSelectionID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "copyConsoleSelection");
++}
++
++                         curEnv->CallStaticVoidMethod(cls, voidcopyConsoleSelectionID );
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::emptyClipboard (JavaVM * jvm_){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidemptyClipboardID = curEnv->GetStaticMethodID(cls, "emptyClipboard", "()V" ) ;
++if (voidemptyClipboardID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "emptyClipboard");
++}
++
++                         curEnv->CallStaticVoidMethod(cls, voidemptyClipboardID );
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::setClipboardContents (JavaVM * jvm_, char const* text){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidsetClipboardContentsjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setClipboardContents", "(Ljava/lang/String;)V" ) ;
++if (voidsetClipboardContentsjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "setClipboardContents");
++}
++
++jstring text_ = curEnv->NewStringUTF( text );
++if (text != NULL && text_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
  
--    jmethodID jintgetScreenDepthID = curEnv->GetStaticMethodID(cls, "getScreenDepth", "()I" ) ;
--    if (jintgetScreenDepthID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "getScreenDepth");
--    }
++                         curEnv->CallStaticVoidMethod(cls, voidsetClipboardContentsjstringjava_lang_StringID ,text_);
++                        curEnv->DeleteLocalRef(text_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::copyFigureToClipBoard (JavaVM * jvm_, char const* figID){
  
--    jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetScreenDepthID ));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return res;
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID voidcopyFigureToClipBoardjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "copyFigureToClipBoard", "(Ljava/lang/String;)V" ) ;
++if (voidcopyFigureToClipBoardjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "copyFigureToClipBoard");
  }
  
--bool CallScilabBridge::printFigure (JavaVM * jvm_, char const* figID, bool postScript, bool displayDialog)
++jstring figID_ = curEnv->NewStringUTF( figID );
++if (figID != NULL && figID_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
++
++                         curEnv->CallStaticVoidMethod(cls, voidcopyFigureToClipBoardjstringjava_lang_StringID ,figID_);
++                        curEnv->DeleteLocalRef(figID_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++int CallScilabBridge::getScreenResolution (JavaVM * jvm_){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jmethodID jintgetScreenResolutionID = curEnv->GetStaticMethodID(cls, "getScreenResolution", "()I" ) ;
++if (jintgetScreenResolutionID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getScreenResolution");
++}
  
--    jmethodID jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "printFigure", "(Ljava/lang/String;ZZ)Z" ) ;
--    if (jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "printFigure");
--    }
++                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetScreenResolutionID ));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return res;
  
--    jstring figID_ = curEnv->NewStringUTF( figID );
--    if (figID != NULL && figID_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++}
  
++double CallScilabBridge::getScreenWidth (JavaVM * jvm_){
  
--    jboolean postScript_ = (static_cast<bool>(postScript) ? JNI_TRUE : JNI_FALSE);
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    jboolean displayDialog_ = (static_cast<bool>(displayDialog) ? JNI_TRUE : JNI_FALSE);
++jmethodID jdoublegetScreenWidthID = curEnv->GetStaticMethodID(cls, "getScreenWidth", "()D" ) ;
++if (jdoublegetScreenWidthID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getScreenWidth");
++}
  
--    jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID , figID_, postScript_, displayDialog_));
--    curEnv->DeleteLocalRef(figID_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return (res == JNI_TRUE);
++                        jdouble res =  static_cast<jdouble>( curEnv->CallStaticDoubleMethod(cls, jdoublegetScreenWidthID ));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return res;
  
  }
  
--bool CallScilabBridge::printFile (JavaVM * jvm_, char const* fileName)
--{
++double CallScilabBridge::getScreenHeight (JavaVM * jvm_){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID jdoublegetScreenHeightID = curEnv->GetStaticMethodID(cls, "getScreenHeight", "()D" ) ;
++if (jdoublegetScreenHeightID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getScreenHeight");
++}
++
++                        jdouble res =  static_cast<jdouble>( curEnv->CallStaticDoubleMethod(cls, jdoublegetScreenHeightID ));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return res;
++
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++int CallScilabBridge::getScreenDepth (JavaVM * jvm_){
  
--    jmethodID jbooleanprintFilejstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "printFile", "(Ljava/lang/String;)Z" ) ;
--    if (jbooleanprintFilejstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "printFile");
--    }
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    jstring fileName_ = curEnv->NewStringUTF( fileName );
--    if (fileName != NULL && fileName_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++jmethodID jintgetScreenDepthID = curEnv->GetStaticMethodID(cls, "getScreenDepth", "()I" ) ;
++if (jintgetScreenDepthID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "getScreenDepth");
++}
++
++                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetScreenDepthID ));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return res;
  
++}
  
--    jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanprintFilejstringjava_lang_StringID , fileName_));
--    curEnv->DeleteLocalRef(fileName_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return (res == JNI_TRUE);
++bool CallScilabBridge::printFigure (JavaVM * jvm_, char const* figID, bool postScript, bool displayDialog){
  
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "printFigure", "(Ljava/lang/String;ZZ)Z" ) ;
++if (jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "printFigure");
  }
  
--bool CallScilabBridge::printString (JavaVM * jvm_, char const* theString, char const* pageHeader)
++jstring figID_ = curEnv->NewStringUTF( figID );
++if (figID != NULL && figID_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
  
--    jmethodID jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "printString", "(Ljava/lang/String;Ljava/lang/String;)Z" ) ;
--    if (jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "printString");
--    }
++jboolean postScript_ = (static_cast<bool>(postScript) ? JNI_TRUE : JNI_FALSE);
  
--    jstring theString_ = curEnv->NewStringUTF( theString );
--    if (theString != NULL && theString_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++jboolean displayDialog_ = (static_cast<bool>(displayDialog) ? JNI_TRUE : JNI_FALSE);
  
++                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID ,figID_, postScript_, displayDialog_));
++                        curEnv->DeleteLocalRef(figID_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return (res == JNI_TRUE);
  
--    jstring pageHeader_ = curEnv->NewStringUTF( pageHeader );
--    if (pageHeader != NULL && pageHeader_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
++}
  
++bool CallScilabBridge::printFile (JavaVM * jvm_, char const* fileName){
  
--    jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID , theString_, pageHeader_));
--    curEnv->DeleteLocalRef(theString_);
--    curEnv->DeleteLocalRef(pageHeader_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return (res == JNI_TRUE);
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID jbooleanprintFilejstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "printFile", "(Ljava/lang/String;)Z" ) ;
++if (jbooleanprintFilejstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "printFile");
  }
  
--bool CallScilabBridge::pageSetup (JavaVM * jvm_)
++jstring fileName_ = curEnv->NewStringUTF( fileName );
++if (fileName != NULL && fileName_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanprintFilejstringjava_lang_StringID ,fileName_));
++                        curEnv->DeleteLocalRef(fileName_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return (res == JNI_TRUE);
++
++}
  
--    jmethodID jbooleanpageSetupID = curEnv->GetStaticMethodID(cls, "pageSetup", "()Z" ) ;
--    if (jbooleanpageSetupID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "pageSetup");
--    }
++bool CallScilabBridge::printString (JavaVM * jvm_, char const* theString, char const* pageHeader){
  
--    jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanpageSetupID ));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return (res == JNI_TRUE);
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "printString", "(Ljava/lang/String;Ljava/lang/String;)Z" ) ;
++if (jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "printString");
  }
  
--void CallScilabBridge::requestFocus (JavaVM * jvm_, char const* objUID)
++jstring theString_ = curEnv->NewStringUTF( theString );
++if (theString != NULL && theString_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidrequestFocusjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "requestFocus", "(Ljava/lang/String;)V" ) ;
--    if (voidrequestFocusjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "requestFocus");
--    }
--
--    jstring objUID_ = curEnv->NewStringUTF( objUID );
--    if (objUID != NULL && objUID_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    curEnv->CallStaticVoidMethod(cls, voidrequestFocusjstringjava_lang_StringID , objUID_);
--    curEnv->DeleteLocalRef(objUID_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::raiseWindow (JavaVM * jvm_, int objID)
--{
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidraiseWindowjintintID = curEnv->GetStaticMethodID(cls, "raiseWindow", "(I)V" ) ;
--    if (voidraiseWindowjintintID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "raiseWindow");
--    }
--
--    curEnv->CallStaticVoidMethod(cls, voidraiseWindowjintintID , objID);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::useCanvasForDisplay (JavaVM * jvm_, bool onOrOff)
++jstring pageHeader_ = curEnv->NewStringUTF( pageHeader );
++if (pageHeader != NULL && pageHeader_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID ,theString_, pageHeader_));
++                        curEnv->DeleteLocalRef(theString_);
++curEnv->DeleteLocalRef(pageHeader_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return (res == JNI_TRUE);
++
++}
  
--    jmethodID voiduseCanvasForDisplayjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "useCanvasForDisplay", "(Z)V" ) ;
--    if (voiduseCanvasForDisplayjbooleanbooleanID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "useCanvasForDisplay");
--    }
++bool CallScilabBridge::pageSetup (JavaVM * jvm_){
  
--    jboolean onOrOff_ = (static_cast<bool>(onOrOff) ? JNI_TRUE : JNI_FALSE);
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
--    curEnv->CallStaticVoidMethod(cls, voiduseCanvasForDisplayjbooleanbooleanID , onOrOff_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++jmethodID jbooleanpageSetupID = curEnv->GetStaticMethodID(cls, "pageSetup", "()Z" ) ;
++if (jbooleanpageSetupID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "pageSetup");
  }
  
--bool CallScilabBridge::useCanvasForDisplay (JavaVM * jvm_)
--{
++                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanpageSetupID ));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return (res == JNI_TRUE);
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++}
  
--    jmethodID jbooleanuseCanvasForDisplayID = curEnv->GetStaticMethodID(cls, "useCanvasForDisplay", "()Z" ) ;
--    if (jbooleanuseCanvasForDisplayID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "useCanvasForDisplay");
--    }
++void CallScilabBridge::requestFocus (JavaVM * jvm_, char const* objUID){
  
--    jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanuseCanvasForDisplayID ));
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--    return (res == JNI_TRUE);
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
  
++jmethodID voidrequestFocusjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "requestFocus", "(Ljava/lang/String;)V" ) ;
++if (voidrequestFocusjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "requestFocus");
  }
  
--void CallScilabBridge::scilabAboutBox (JavaVM * jvm_)
++jstring objUID_ = curEnv->NewStringUTF( objUID );
++if (objUID != NULL && objUID_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
++
++                         curEnv->CallStaticVoidMethod(cls, voidrequestFocusjstringjava_lang_StringID ,objUID_);
++                        curEnv->DeleteLocalRef(objUID_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::raiseWindow (JavaVM * jvm_, int objID){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidraiseWindowjintintID = curEnv->GetStaticMethodID(cls, "raiseWindow", "(I)V" ) ;
++if (voidraiseWindowjintintID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "raiseWindow");
++}
++
++                         curEnv->CallStaticVoidMethod(cls, voidraiseWindowjintintID ,objID);
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::useCanvasForDisplay (JavaVM * jvm_, bool onOrOff){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voiduseCanvasForDisplayjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "useCanvasForDisplay", "(Z)V" ) ;
++if (voiduseCanvasForDisplayjbooleanbooleanID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "useCanvasForDisplay");
++}
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidscilabAboutBoxID = curEnv->GetStaticMethodID(cls, "scilabAboutBox", "()V" ) ;
--    if (voidscilabAboutBoxID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "scilabAboutBox");
--    }
--
--    curEnv->CallStaticVoidMethod(cls, voidscilabAboutBoxID );
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--}
--
--void CallScilabBridge::fireClosingFinished (JavaVM * jvm_, char const* figUID)
++jboolean onOrOff_ = (static_cast<bool>(onOrOff) ? JNI_TRUE : JNI_FALSE);
++
++                         curEnv->CallStaticVoidMethod(cls, voiduseCanvasForDisplayjbooleanbooleanID ,onOrOff_);
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++bool CallScilabBridge::useCanvasForDisplay (JavaVM * jvm_){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID jbooleanuseCanvasForDisplayID = curEnv->GetStaticMethodID(cls, "useCanvasForDisplay", "()Z" ) ;
++if (jbooleanuseCanvasForDisplayID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "useCanvasForDisplay");
++}
++
++                        jboolean res =  static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanuseCanvasForDisplayID ));
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++return (res == JNI_TRUE);
++
++}
++
++void CallScilabBridge::scilabAboutBox (JavaVM * jvm_){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidscilabAboutBoxID = curEnv->GetStaticMethodID(cls, "scilabAboutBox", "()V" ) ;
++if (voidscilabAboutBoxID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "scilabAboutBox");
++}
++
++                         curEnv->CallStaticVoidMethod(cls, voidscilabAboutBoxID );
++                        curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
++}
++
++void CallScilabBridge::fireClosingFinished (JavaVM * jvm_, char const* figUID){
++
++JNIEnv * curEnv = NULL;
++jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
++jclass cls = curEnv->FindClass( className().c_str() );
++
++jmethodID voidfireClosingFinishedjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "fireClosingFinished", "(Ljava/lang/String;)V" ) ;
++if (voidfireClosingFinishedjstringjava_lang_StringID == NULL) {
++throw GiwsException::JniMethodNotFoundException(curEnv, "fireClosingFinished");
++}
++
++jstring figUID_ = curEnv->NewStringUTF( figUID );
++if (figUID != NULL && figUID_ == NULL)
  {
++throw GiwsException::JniBadAllocException(curEnv);
++}
++
  
--    JNIEnv * curEnv = NULL;
--    jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
--    jclass cls = curEnv->FindClass( className().c_str() );
--    if ( cls == NULL)
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
--
--    jmethodID voidfireClosingFinishedjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "fireClosingFinished", "(Ljava/lang/String;)V" ) ;
--    if (voidfireClosingFinishedjstringjava_lang_StringID == NULL)
--    {
--        throw GiwsException::JniMethodNotFoundException(curEnv, "fireClosingFinished");
--    }
--
--    jstring figUID_ = curEnv->NewStringUTF( figUID );
--    if (figUID != NULL && figUID_ == NULL)
--    {
--        throw GiwsException::JniBadAllocException(curEnv);
--    }
--
--
--    curEnv->CallStaticVoidMethod(cls, voidfireClosingFinishedjstringjava_lang_StringID , figUID_);
--    curEnv->DeleteLocalRef(figUID_);
--    curEnv->DeleteLocalRef(cls);
--    if (curEnv->ExceptionCheck())
--    {
--        throw GiwsException::JniCallMethodException(curEnv);
--    }
++                         curEnv->CallStaticVoidMethod(cls, voidfireClosingFinishedjstringjava_lang_StringID ,figUID_);
++                        curEnv->DeleteLocalRef(figUID_);
++curEnv->DeleteLocalRef(cls);
++if (curEnv->ExceptionCheck()) {
++throw GiwsException::JniCallMethodException(curEnv);
++}
  }
  
  }
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
--giws -e -r -f CallScilabBridge.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file CallScilabBridge.giws.xml 
  */
  /*
  
@@@ -9,16 -9,16 +9,16 @@@ This software is a computer program who
  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
@@@ -27,9 -27,9 +27,9 @@@ that may mean  that it is complicated t
  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.
  
  #include "GiwsException.hxx"
  
--#if defined(_MSC_VER) /* Defined anyway with Visual */
--#include <Windows.h>
--#else
--typedef signed char byte;
--#endif
++        #if defined(_MSC_VER) /* Defined anyway with Visual */
++            #include <Windows.h>
++        #else
++            typedef signed char byte;
++        #endif
  
  
  #ifndef GIWSEXPORT
  # endif
  #endif
  
--namespace org_scilab_modules_gui_bridge
--{
--class GIWSEXPORT CallScilabBridge
--{
++namespace org_scilab_modules_gui_bridge {
++class GIWSEXPORT CallScilabBridge {
  
  private:
--    JavaVM * jvm;
++JavaVM * jvm;
  
  protected:
--    jmethodID voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID; // cache method id
--    jmethodID voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID; // cache method id
--    jmethodID voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID; // cache method id
--    jmethodID jstringdisplayAndWaitContextMenujstringjava_lang_StringID; // cache method id
--    jmethodID jintnewMessageBoxID; // cache method id
--    jmethodID voidsetMessageBoxTitlejintintjstringjava_lang_StringID; // cache method id
--    jmethodID voidsetMessageBoxMessagejintintjstringjava_lang_StringID; // cache method id
--    jmethodID voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
--    jclass stringArrayClass;
--    jmethodID voidmessageBoxDisplayAndWaitjintintID; // cache method id
--    jmethodID jintgetMessageBoxSelectedButtonjintintID; // cache method id
--    jmethodID voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID; // cache method id
--    jmethodID jintArray_getMessageBoxUserSelectedButtonsjintintID; // cache method id
--    jmethodID voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
--    jmethodID voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
--    jmethodID jobjectArray_getMessageBoxValuejintintID; // cache method id
--    jmethodID jintgetMessageBoxValueSizejintintID; // cache method id
--    jmethodID voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
--    jmethodID jintgetMessageBoxSelectedItemjintintID; // cache method id
--    jmethodID voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
--    jmethodID voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
--    jmethodID voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
--    jmethodID voidsetMessageBoxModaljintintjbooleanbooleanID; // cache method id
--    jmethodID voidsetMessageBoxIconjintintjstringjava_lang_StringID; // cache method id
--    jmethodID jbooleanisToolbarVisiblejstringjava_lang_StringID; // cache method id
--    jmethodID voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID; // cache method id
--    jmethodID voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID; // cache method id
--    jmethodID voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID; // cache method id
--    jmethodID jintnewExportFileChooserjstringjava_lang_StringID; // cache method id
--    jmethodID jintnewFontChooserID; // cache method id
--    jmethodID voidfontChooserDisplayAndWaitjintintID; // cache method id
--    jmethodID voidsetFontChooserFontNamejintintjstringjava_lang_StringID; // cache method id
--    jmethodID voidsetFontChooserFontSizejintintjintintID; // cache method id
--    jmethodID voidsetFontChooserBoldjintintjbooleanbooleanID; // cache method id
--    jmethodID voidsetFontChooserItalicjintintjbooleanbooleanID; // cache method id
--    jmethodID jstringgetFontChooserFontNamejintintID; // cache method id
--    jmethodID jintgetFontChooserFontSizejintintID; // cache method id
--    jmethodID jbooleangetFontChooserBoldjintintID; // cache method id
--    jmethodID jbooleangetFontChooserItalicjintintID; // cache method id
--    jmethodID jintnewColorChooserID; // cache method id
--    jmethodID voidcolorChooserDisplayAndWaitjintintID; // cache method id
--    jmethodID voidsetColorChooserDefaultColorjintintjintArray_intintID; // cache method id
--    jmethodID jintArray_getColorChooserSelectedColorjintintID; // cache method id
--    jmethodID voidsetColorChooserTitlejintintjstringjava_lang_StringID; // cache method id
--    jmethodID jstringgetClipboardContentsID; // cache method id
--    jmethodID voidpasteClipboardIntoConsoleID; // cache method id
--    jmethodID voidcopyConsoleSelectionID; // cache method id
--    jmethodID voidemptyClipboardID; // cache method id
--    jmethodID voidsetClipboardContentsjstringjava_lang_StringID; // cache method id
--    jmethodID voidcopyFigureToClipBoardjstringjava_lang_StringID; // cache method id
--    jmethodID jintgetScreenResolutionID; // cache method id
--    jmethodID jdoublegetScreenWidthID; // cache method id
--    jmethodID jdoublegetScreenHeightID; // cache method id
--    jmethodID jintgetScreenDepthID; // cache method id
--    jmethodID jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID; // cache method id
--    jmethodID jbooleanprintFilejstringjava_lang_StringID; // cache method id
--    jmethodID jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID; // cache method id
--    jmethodID jbooleanpageSetupID; // cache method id
--    jmethodID voidrequestFocusjstringjava_lang_StringID; // cache method id
--    jmethodID voidraiseWindowjintintID; // cache method id
--    jmethodID voiduseCanvasForDisplayjbooleanbooleanID; // cache method id
--    jmethodID jbooleanuseCanvasForDisplayID; // cache method id
--    jmethodID voidscilabAboutBoxID; // cache method id
--    jmethodID voidfireClosingFinishedjstringjava_lang_StringID; // cache method id
--
--
--
--    jobject instance;
--    jclass instanceClass; // cache class
--
--
--    // Caching (if any)
--
--
--    /**
--    * Get the environment matching to the current thread.
--    */
--    virtual JNIEnv * getCurrentEnv();
++jmethodID voidsetMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID; // cache method id
++jmethodID voidsetSubMenuEnabledjstringjava_lang_Stringjstringjava_lang_StringjintintjbooleanbooleanID; // cache method id
++jmethodID voidremoveMenujstringjava_lang_Stringjstringjava_lang_StringID; // cache method id
++jmethodID jstringdisplayAndWaitContextMenujstringjava_lang_StringID; // cache method id
++jmethodID jintnewMessageBoxID; // cache method id
++jmethodID voidsetMessageBoxTitlejintintjstringjava_lang_StringID; // cache method id
++jmethodID voidsetMessageBoxMessagejintintjstringjava_lang_StringID; // cache method id
++jmethodID voidsetMessageBoxMessagejintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
++jclass stringArrayClass;
++jmethodID voidmessageBoxDisplayAndWaitjintintID; // cache method id
++jmethodID jintgetMessageBoxSelectedButtonjintintID; // cache method id
++jmethodID voidsetMessageBoxDefaultSelectedButtonsjintintjintArray_intintID; // cache method id
++jmethodID jintArray_getMessageBoxUserSelectedButtonsjintintID; // cache method id
++jmethodID voidsetMessageBoxButtonsLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
++jmethodID voidsetMessageBoxInitialValuejintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
++jmethodID jobjectArray_getMessageBoxValuejintintID; // cache method id
++jmethodID jintgetMessageBoxValueSizejintintID; // cache method id
++jmethodID voidsetMessageBoxListBoxItemsjintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
++jmethodID jintgetMessageBoxSelectedItemjintintID; // cache method id
++jmethodID voidsetMessageBoxLineLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
++jmethodID voidsetMessageBoxColumnLabelsjintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
++jmethodID voidsetMessageBoxDefaultInputjintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id
++jmethodID voidsetMessageBoxModaljintintjbooleanbooleanID; // cache method id
++jmethodID voidsetMessageBoxIconjintintjstringjava_lang_StringID; // cache method id
++jmethodID jbooleanisToolbarVisiblejstringjava_lang_StringID; // cache method id
++jmethodID voidsetToolbarVisiblejstringjava_lang_StringjbooleanbooleanID; // cache method id
++jmethodID voidlaunchHelpBrowserjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_StringID; // cache method id
++jmethodID voidsearchKeywordjobjectArray_java_lang_Stringjava_lang_Stringjstringjava_lang_Stringjstringjava_lang_StringjbooleanbooleanID; // cache method id
++jmethodID jintnewExportFileChooserjstringjava_lang_StringID; // cache method id
++jmethodID jintnewFontChooserID; // cache method id
++jmethodID voidfontChooserDisplayAndWaitjintintID; // cache method id
++jmethodID voidsetFontChooserFontNamejintintjstringjava_lang_StringID; // cache method id
++jmethodID voidsetFontChooserFontSizejintintjintintID; // cache method id
++jmethodID voidsetFontChooserBoldjintintjbooleanbooleanID; // cache method id
++jmethodID voidsetFontChooserItalicjintintjbooleanbooleanID; // cache method id
++jmethodID jstringgetFontChooserFontNamejintintID; // cache method id
++jmethodID jintgetFontChooserFontSizejintintID; // cache method id
++jmethodID jbooleangetFontChooserBoldjintintID; // cache method id
++jmethodID jbooleangetFontChooserItalicjintintID; // cache method id
++jmethodID jintnewColorChooserID; // cache method id
++jmethodID voidcolorChooserDisplayAndWaitjintintID; // cache method id
++jmethodID voidsetColorChooserDefaultColorjintintjintArray_intintID; // cache method id
++jmethodID jintArray_getColorChooserSelectedColorjintintID; // cache method id
++jmethodID voidsetColorChooserTitlejintintjstringjava_lang_StringID; // cache method id
++jmethodID jstringgetClipboardContentsID; // cache method id
++jmethodID voidpasteClipboardIntoConsoleID; // cache method id
++jmethodID voidcopyConsoleSelectionID; // cache method id
++jmethodID voidemptyClipboardID; // cache method id
++jmethodID voidsetClipboardContentsjstringjava_lang_StringID; // cache method id
++jmethodID voidcopyFigureToClipBoardjstringjava_lang_StringID; // cache method id
++jmethodID jintgetScreenResolutionID; // cache method id
++jmethodID jdoublegetScreenWidthID; // cache method id
++jmethodID jdoublegetScreenHeightID; // cache method id
++jmethodID jintgetScreenDepthID; // cache method id
++jmethodID jbooleanprintFigurejstringjava_lang_StringjbooleanbooleanjbooleanbooleanID; // cache method id
++jmethodID jbooleanprintFilejstringjava_lang_StringID; // cache method id
++jmethodID jbooleanprintStringjstringjava_lang_Stringjstringjava_lang_StringID; // cache method id
++jmethodID jbooleanpageSetupID; // cache method id
++jmethodID voidrequestFocusjstringjava_lang_StringID; // cache method id
++jmethodID voidraiseWindowjintintID; // cache method id
++jmethodID voiduseCanvasForDisplayjbooleanbooleanID; // cache method id
++jmethodID jbooleanuseCanvasForDisplayID; // cache method id
++jmethodID voidscilabAboutBoxID; // cache method id
++jmethodID voidfireClosingFinishedjstringjava_lang_StringID; // cache method id
++
++
++
++jobject instance;
++jclass instanceClass; // cache class
++
++                       
++// Caching (if any)
++
++
++/**
++* 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
--    */
--    CallScilabBridge(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
--    */
--    CallScilabBridge(JavaVM * jvm_, jobject JObj);
--
--
--    /**
--    * This is a fake constructor to avoid the constructor
--    * chaining when dealing with extended giws classes
--    */
--#ifdef FAKEGIWSDATATYPE
--    CallScilabBridge(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
++*/
++CallScilabBridge(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
++*/
++CallScilabBridge(JavaVM * jvm_, jobject JObj);
  
--    // Destructor
--    ~CallScilabBridge();
  
--    // 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
++CallScilabBridge(fakeGiwsDataType::fakeGiwsDataType /* unused */) {}
++#endif
  
--    /**
--    * Exit monitor associated with the object.
--    * Equivalent of ending a "synchronized(obj)" scope.
--    */
--    void endSynchronize();
++// Destructor
++~CallScilabBridge();
  
--    // Methods
--    static void setMenuEnabled(JavaVM * jvm_, char const* parentUID, char const* menuName, bool status);
++// Generic method
++// Synchronization methods
++/**
++* Enter monitor associated with the object.
++* Equivalent of creating a "synchronized(obj)" scope in Java.
++*/
++void synchronize();
  
--    static void setSubMenuEnabled(JavaVM * jvm_, char const* parentUID, char const* menuName, int position, bool status);
++/**
++* Exit monitor associated with the object.
++* Equivalent of ending a "synchronized(obj)" scope.
++*/
++void endSynchronize();
  
--    static void removeMenu(JavaVM * jvm_, char const* parentUID, char const* menuName);
++// Methods
++static void setMenuEnabled(JavaVM * jvm_, char const* parentUID, char const* menuName, bool status);
  
--    static char* displayAndWaitContextMenu(JavaVM * jvm_, char const* UID);
++static void setSubMenuEnabled(JavaVM * jvm_, char const* parentUID, char const* menuName, int position, bool status);
  
--    static int newMessageBox(JavaVM * jvm_);
++static void removeMenu(JavaVM * jvm_, char const* parentUID, char const* menuName);
  
--    static void setMessageBoxTitle(JavaVM * jvm_, int id, char const* title);
++static char* displayAndWaitContextMenu(JavaVM * jvm_, char const* UID);
  
--    static void setMessageBoxMessage(JavaVM * jvm_, int id, char const* message);
++static int newMessageBox(JavaVM * jvm_);
  
--    static void setMessageBoxMessage(JavaVM * jvm_, int id, char const* const* message, int messageSize);
++static void setMessageBoxTitle(JavaVM * jvm_, int id, char const* title);
  
--    static void messageBoxDisplayAndWait(JavaVM * jvm_, int id);
++static void setMessageBoxMessage(JavaVM * jvm_, int id, char const* message);
  
--    static int getMessageBoxSelectedButton(JavaVM * jvm_, int id);
++static void setMessageBoxMessage(JavaVM * jvm_, int id, char const* const* message, int messageSize);
  
--    static void setMessageBoxDefaultSelectedButtons(JavaVM * jvm_, int id, int const* index, int indexSize);
++static void messageBoxDisplayAndWait(JavaVM * jvm_, int id);
  
--    static int* getMessageBoxUserSelectedButtons(JavaVM * jvm_, int id);
++static int getMessageBoxSelectedButton(JavaVM * jvm_, int id);
  
--    static void setMessageBoxButtonsLabels(JavaVM * jvm_, int id, char const* const* labels, int labelsSize);
++static void setMessageBoxDefaultSelectedButtons(JavaVM * jvm_, int id, int const* index, int indexSize);
  
--    static void setMessageBoxInitialValue(JavaVM * jvm_, int id, char const* const* value, int valueSize);
++static int* getMessageBoxUserSelectedButtons(JavaVM * jvm_, int id);
  
--    static char** getMessageBoxValue(JavaVM * jvm_, int id);
++static void setMessageBoxButtonsLabels(JavaVM * jvm_, int id, char const* const* labels, int labelsSize);
  
--    static int getMessageBoxValueSize(JavaVM * jvm_, int id);
++static void setMessageBoxInitialValue(JavaVM * jvm_, int id, char const* const* value, int valueSize);
  
--    static void setMessageBoxListBoxItems(JavaVM * jvm_, int id, char const* const* items, int itemsSize);
++static char** getMessageBoxValue(JavaVM * jvm_, int id);
  
--    static int getMessageBoxSelectedItem(JavaVM * jvm_, int id);
++static int getMessageBoxValueSize(JavaVM * jvm_, int id);
  
--    static void setMessageBoxLineLabels(JavaVM * jvm_, int id, char const* const* labels, int labelsSize);
++static void setMessageBoxListBoxItems(JavaVM * jvm_, int id, char const* const* items, int itemsSize);
  
--    static void setMessageBoxColumnLabels(JavaVM * jvm_, int id, char const* const* labels, int labelsSize);
++static int getMessageBoxSelectedItem(JavaVM * jvm_, int id);
  
--    static void setMessageBoxDefaultInput(JavaVM * jvm_, int id, char const* const* values, int valuesSize);
++static void setMessageBoxLineLabels(JavaVM * jvm_, int id, char const* const* labels, int labelsSize);
  
--    static void setMessageBoxModal(JavaVM * jvm_, int id, bool status);
++static void setMessageBoxColumnLabels(JavaVM * jvm_, int id, char const* const* labels, int labelsSize);
  
--    static void setMessageBoxIcon(JavaVM * jvm_, int id, char const* name);
++static void setMessageBoxDefaultInput(JavaVM * jvm_, int id, char const* const* values, int valuesSize);
  
--    static bool isToolbarVisible(JavaVM * jvm_, char const* parentUID);
++static void setMessageBoxModal(JavaVM * jvm_, int id, bool status);
  
--    static void setToolbarVisible(JavaVM * jvm_, char const* parentUID, bool status);
++static void setMessageBoxIcon(JavaVM * jvm_, int id, char const* name);
  
--    static void launchHelpBrowser(JavaVM * jvm_, char const* const* helps, int helpsSize, char const* language);
++static bool isToolbarVisible(JavaVM * jvm_, char const* parentUID);
  
--    static void searchKeyword(JavaVM * jvm_, char const* const* helps, int helpsSize, char const* keyword, char const* language, bool fullText);
++static void setToolbarVisible(JavaVM * jvm_, char const* parentUID, bool status);
  
--    static int newExportFileChooser(JavaVM * jvm_, char const* figureUID);
++static void launchHelpBrowser(JavaVM * jvm_, char const* const* helps, int helpsSize, char const* language);
  
--    static int newFontChooser(JavaVM * jvm_);
++static void searchKeyword(JavaVM * jvm_, char const* const* helps, int helpsSize, char const* keyword, char const* language, bool fullText);
  
--    static void fontChooserDisplayAndWait(JavaVM * jvm_, int objID);
++static int newExportFileChooser(JavaVM * jvm_, char const* figureUID);
  
--    static void setFontChooserFontName(JavaVM * jvm_, int objID, char const* fontName);
++static int newFontChooser(JavaVM * jvm_);
  
--    static void setFontChooserFontSize(JavaVM * jvm_, int objID, int fontSize);
++static void fontChooserDisplayAndWait(JavaVM * jvm_, int objID);
  
--    static void setFontChooserBold(JavaVM * jvm_, int objID, bool bold);
++static void setFontChooserFontName(JavaVM * jvm_, int objID, char const* fontName);
  
--    static void setFontChooserItalic(JavaVM * jvm_, int objID, bool italic);
++static void setFontChooserFontSize(JavaVM * jvm_, int objID, int fontSize);
  
--    static char* getFontChooserFontName(JavaVM * jvm_, int objID);
++static void setFontChooserBold(JavaVM * jvm_, int objID, bool bold);
  
--    static int getFontChooserFontSize(JavaVM * jvm_, int objID);
++static void setFontChooserItalic(JavaVM * jvm_, int objID, bool italic);
  
--    static bool getFontChooserBold(JavaVM * jvm_, int objID);
++static char* getFontChooserFontName(JavaVM * jvm_, int objID);
  
--    static bool getFontChooserItalic(JavaVM * jvm_, int objID);
++static int getFontChooserFontSize(JavaVM * jvm_, int objID);
  
--    static int newColorChooser(JavaVM * jvm_);
++static bool getFontChooserBold(JavaVM * jvm_, int objID);
  
--    static void colorChooserDisplayAndWait(JavaVM * jvm_, int objID);
++static bool getFontChooserItalic(JavaVM * jvm_, int objID);
  
--    static void setColorChooserDefaultColor(JavaVM * jvm_, int objID, int const* rgb, int rgbSize);
++static int newColorChooser(JavaVM * jvm_);
  
--    static int* getColorChooserSelectedColor(JavaVM * jvm_, int objID);
++static void colorChooserDisplayAndWait(JavaVM * jvm_, int objID);
  
--    static void setColorChooserTitle(JavaVM * jvm_, int objID, char const* title);
++static void setColorChooserDefaultColor(JavaVM * jvm_, int objID, int const* rgb, int rgbSize);
  
--    static char* getClipboardContents(JavaVM * jvm_);
++static int* getColorChooserSelectedColor(JavaVM * jvm_, int objID);
  
--    static void pasteClipboardIntoConsole(JavaVM * jvm_);
++static void setColorChooserTitle(JavaVM * jvm_, int objID, char const* title);
  
--    static void copyConsoleSelection(JavaVM * jvm_);
++static char* getClipboardContents(JavaVM * jvm_);
  
--    static void emptyClipboard(JavaVM * jvm_);
++static void pasteClipboardIntoConsole(JavaVM * jvm_);
  
--    static void setClipboardContents(JavaVM * jvm_, char const* text);
++static void copyConsoleSelection(JavaVM * jvm_);
  
--    static void copyFigureToClipBoard(JavaVM * jvm_, char const* figID);
++static void emptyClipboard(JavaVM * jvm_);
  
--    static int getScreenResolution(JavaVM * jvm_);
++static void setClipboardContents(JavaVM * jvm_, char const* text);
  
--    static double getScreenWidth(JavaVM * jvm_);
++static void copyFigureToClipBoard(JavaVM * jvm_, char const* figID);
  
--    static double getScreenHeight(JavaVM * jvm_);
++static int getScreenResolution(JavaVM * jvm_);
  
--    static int getScreenDepth(JavaVM * jvm_);
++static double getScreenWidth(JavaVM * jvm_);
  
--    static bool printFigure(JavaVM * jvm_, char const* figID, bool postScript, bool displayDialog);
++static double getScreenHeight(JavaVM * jvm_);
  
--    static bool printFile(JavaVM * jvm_, char const* fileName);
++static int getScreenDepth(JavaVM * jvm_);
  
--    static bool printString(JavaVM * jvm_, char const* theString, char const* pageHeader);
++static bool printFigure(JavaVM * jvm_, char const* figID, bool postScript, bool displayDialog);
  
--    static bool pageSetup(JavaVM * jvm_);
++static bool printFile(JavaVM * jvm_, char const* fileName);
  
--    static void requestFocus(JavaVM * jvm_, char const* objUID);
++static bool printString(JavaVM * jvm_, char const* theString, char const* pageHeader);
  
--    static void raiseWindow(JavaVM * jvm_, int objID);
++static bool pageSetup(JavaVM * jvm_);
  
--    static void useCanvasForDisplay(JavaVM * jvm_, bool onOrOff);
++static void requestFocus(JavaVM * jvm_, char const* objUID);
  
--    static bool useCanvasForDisplay(JavaVM * jvm_);
++static void raiseWindow(JavaVM * jvm_, int objID);
  
--    static void scilabAboutBox(JavaVM * jvm_);
++static void useCanvasForDisplay(JavaVM * jvm_, bool onOrOff);
  
--    static void fireClosingFinished(JavaVM * jvm_, char const* figUID);
++static bool useCanvasForDisplay(JavaVM * jvm_);
  
++static void scilabAboutBox(JavaVM * jvm_);
  
--    /**
--    * Get class name to use for static methods
--    * @return class name to use for static methods
--    */
++static void fireClosingFinished(JavaVM * jvm_, char const* figUID);
  
--    static const std::string className()
--    {
--        return "org/scilab/modules/gui/bridge/CallScilabBridge";
--    }
  
++                        /**
++                        * 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/gui/bridge/CallScilabBridge";
++                }
++                
  };
  
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "Juigetfile.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Juigetfile.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Juigetfile.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file Juigetfile.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Juigetfile.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Juigetfile.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file Juigetfile.giws.xml 
  */
  /*
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "Jxclick.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Jxclick.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Jxclick.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file Jxclick.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Jxclick.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Jxclick.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file Jxclick.giws.xml 
  */
  /*
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "Jxgetmouse.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Jxgetmouse.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Jxgetmouse.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file Jxgetmouse.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Jxgetmouse.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/Jxgetmouse.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file Jxgetmouse.giws.xml 
  */
  /*
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "LookAndFeelManager.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/LookAndFeelManager.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/LookAndFeelManager.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file LookAndFeelManager.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/LookAndFeelManager.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/LookAndFeelManager.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file LookAndFeelManager.giws.xml 
  */
  /*
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "ScilabDisplayTree.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/ScilabDisplayTree.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/ScilabDisplayTree.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file ScilabDisplayTree.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/ScilabDisplayTree.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/ScilabDisplayTree.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file ScilabDisplayTree.giws.xml 
  */
  /*
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "SwingView.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/SwingView.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/SwingView.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file SwingView.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/SwingView.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/SwingView.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file SwingView.giws.xml 
  */
  /*
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "UIElementMapper.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/UIElementMapper.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/UIElementMapper.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file UIElementMapper.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/UIElementMapper.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/UIElementMapper.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\gui\src\jni\ --throws-exception-on-error --description-file UIElementMapper.giws.xml 
  */
  /*
  
@@@ -1,6 -1,6 +1,6 @@@
  #include "BuildDocObject.hxx"
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/BuildDocObject.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/BuildDocObject.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\helptools\src\jni\ --throws-exception-on-error --description-file BuildDocObject.giws.xml 
  */
  /*
  
@@@ -1,5 -1,5 +1,5 @@@
  /* Generated by GIWS (version 2.0.1) with command:
- giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/BuildDocObject.giws.xml 
 -giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/BuildDocObject.giws.xml
++giws --disable-return-size-array --output-dir D:\git\debug\similan\scilab\modules\helptools\src\jni\ --throws-exception-on-error --description-file BuildDocObject.giws.xml 
  */
  /*