Merge remote-tracking branch 'origin/master' into graphic 90/5290/1
Vincent COUVERT [Fri, 21 Oct 2011 12:39:58 +0000 (14:39 +0200)]
Conflicts:
scilab/CHANGES_5.4.X
scilab/Version.incl
scilab/configure
scilab/modules/core/src/java/org/scilab/modules/core/Scilab.java
scilab/modules/gui/Makefile.in
scilab/modules/gui/src/c/gui.vcxproj
scilab/modules/gui/src/c/gui.vcxproj.filters
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/CallScilabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/ScilabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/console/SwingScilabConsole.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/messagebox/SwingScilabMessageBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/window/SwingScilabWindow.java
scilab/modules/gui/src/java/org/scilab/modules/gui/helpbrowser/ScilabHelpBrowser.java
scilab/modules/gui/src/java/org/scilab/modules/gui/messagebox/ScilabModalDialog.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/ScilabTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/ScilabTabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/SimpleTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/Tab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/BarUpdater.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/SciDockingListener.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/SciUndockingAction.java
scilab/modules/gui/src/jni/CallScilabBridge.giws.xml
scilab/modules/history_browser/src/java/org/scilab/modules/history_browser/CommandHistory.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/SciNotes.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/actions/ExitAction.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/NavigatorWindow.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/SearchFile.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variablebrowser/ScilabVariableBrowser.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variablebrowser/SwingScilabVariableBrowser.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variablebrowser/VariableBrowser.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variableeditor/SwingScilabVariableEditor.java

Change-Id: I8091c22f13fef9955c76864f8d17d6680af0abe8

81 files changed:
1  2 
scilab/CHANGES_5.4.X
scilab/Makefile.in
scilab/Version.incl
scilab/configure
scilab/configure.ac
scilab/etc/classpath.xml.vc
scilab/etc/librarypath.xml
scilab/modules/call_scilab/call_scilab.vcxproj
scilab/modules/commons/Makefile.in
scilab/modules/core/Makefile.in
scilab/modules/core/src/java/org/scilab/modules/core/ConsoleTab.java
scilab/modules/core/src/java/org/scilab/modules/core/Scilab.java
scilab/modules/graphic_export/src/java/org/scilab/modules/graphic_export/convertToPPM/ImageEncoder.java
scilab/modules/graphics/graphics.vcxproj
scilab/modules/gui/Makefile.am
scilab/modules/gui/Makefile.in
scilab/modules/gui/help/en_US/uicontrol.xml
scilab/modules/gui/src/c/gui.vcxproj
scilab/modules/gui/src/c/gui.vcxproj.filters
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/CallScilabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/ScilabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/console/SwingScilabConsole.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/helpbrowser/SwingScilabHelpBrowserViewer.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/messagebox/SwingScilabMessageBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/window/SwingScilabWindow.java
scilab/modules/gui/src/java/org/scilab/modules/gui/helpbrowser/ScilabHelpBrowser.java
scilab/modules/gui/src/java/org/scilab/modules/gui/messagebox/MessageBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/messagebox/ScilabMessageBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/messagebox/ScilabMessageBoxBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/messagebox/ScilabModalDialog.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/ScilabTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/ScilabTabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/SimpleTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/Tab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/ClosingOperationsManager.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/SciDockingListener.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/SciUndockingAction.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/WindowsConfigurationManager.java
scilab/modules/gui/src/jni/CallScilabBridge.cpp
scilab/modules/gui/src/jni/CallScilabBridge.giws.xml
scilab/modules/gui/src/jni/CallScilabBridge.hxx
scilab/modules/history_browser/src/java/org/scilab/modules/history_browser/CommandHistory.java
scilab/modules/history_browser/src/java/org/scilab/modules/history_browser/actions/CloseAction.java
scilab/modules/javasci/Javasci.vcxproj
scilab/modules/scicos_blocks/Makefile.am
scilab/modules/scicos_blocks/Makefile.in
scilab/modules/scicos_blocks/src/c/scicos_blocks.vcxproj
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/SciNotes.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/SciNotesGUI.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/actions/ExitAction.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/actions/SciNotesCompletionAction.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/ConfigSciNotesManager.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/HTMLCodeConverter.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/NavigatorWindow.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/SciNotesCompletionWindow.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/SearchFile.java
scilab/modules/ui_data/Makefile.in
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/actions/ScilabVarFilteringButtonAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/ScilabFileBrowserComponent.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/ScilabFileBrowserHistory.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/ScilabFileSelectorComboBox.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/ScilabFileSelectorFilter.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/ScilabFileSelectorPanel.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/ScilabTreeTableCellRenderer.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/SwingScilabFileBrowser.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/SwingScilabTreeTable.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/ChangeCWDAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/CloseAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/EditFileWithDefaultAppAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/ExecuteCommandAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/GoToHomeAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/GoToSCIAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/OpenFileInSciNotesAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/OpenFileWithDefaultAppAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/ValidateAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variablebrowser/ScilabVariableBrowser.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variablebrowser/SwingScilabVariableBrowser.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variableeditor/SwingScilabVariableEditor.java
scilab/modules/xcos/Makefile.in
scilab/scilab-lib.properties.vc

@@@ -429,11 -452,22 +463,27 @@@ History
  Graphics:
  =========
  
 +* Obsolete value for line_style property:
 +  0 and 1 are equivalent values for SOLID rendering.
 +  A warning message will be displayed if the user tries to set this property to 0.
 +  Setting this property to 0 will no more be supported in Scilab 5.4.1.
 +
+ * datatips tool improved on several aspects:
+   - It is now possible to manage directional arrows as well as
+     square marks markers.
+   - The automatic label placement has been improved to avoid avoid the
+     overlapping with the curve.
+   - It is now possible to have  painted box or box free labels.
+   - Markers can now be selected and moved using the arrow keys
+     or deleted with the "Del" key.
+ * bug 7412 fixed - Better management of datatips activation/deactivation.
+ * bug 7419 fixed - datatips(): customization is now available through a GUI.
+ * bug 8239 fixed - Activation of datatips overwrote and destroyed any event_handler
+                    formerly defined.
  * bug 9330 fixed - delete() called overloading instead of deleting the current
                     graphic entity.
  
Simple merge
@@@ -1,1 -1,1 +1,1 @@@
- SCIVERSION=Scilab-Branch-uicontrol-GIT
 -SCIVERSION=Scilab-Branch-desktop-GIT
++SCIVERSION=Scilab-Branch-graphic-GIT
@@@ -10294,7 -10296,7 +10297,7 @@@ $as_echo "$ac_java_classpath" >&6; 
  $as_echo_n "checking to see if the java compiler works... " >&6; }
  
      cat << \EOF > conftest.java
- // #line 10297 "configure"
 -// #line 10299 "configure"
++// #line 10300 "configure"
  
  
  public class conftest {
@@@ -10360,7 -10362,7 +10363,7 @@@ $as_echo_n "checking type of jvm... " >
      if test "x$ac_java_jvm_name" = "x" ; then
  
      cat << \EOF > conftest.java
- // #line 10363 "configure"
 -// #line 10365 "configure"
++// #line 10366 "configure"
  import gnu.java.io.EncodingManager;
  
  public class conftest {
@@@ -10423,7 -10425,7 +10426,7 @@@ $as_echo_n "checking java API version..
      # The class java.nio.charset.Charset is new to 1.4
  
      cat << \EOF > conftest.java
- // #line 10426 "configure"
 -// #line 10428 "configure"
++// #line 10429 "configure"
  import java.nio.charset.Charset;
  
  public class conftest {
      # The class java.lang.StringBuilder is new to 1.5
  
      cat << \EOF > conftest.java
- // #line 10470 "configure"
 -// #line 10472 "configure"
++// #line 10473 "configure"
  import java.lang.StringBuilder;
  
  public class conftest {
      # The class java.util.ArrayDeque is new to 1.6
  
      cat << \EOF > conftest.java
- // #line 10514 "configure"
 -// #line 10516 "configure"
++// #line 10517 "configure"
  import java.util.ArrayDeque;
  
  public class conftest {
      # The class java.nio.file.Path is new to 1.7
  
      cat << \EOF > conftest.java
- // #line 10558 "configure"
 -// #line 10560 "configure"
++// #line 10561 "configure"
  import java.nio.file.Path;
  
  public class conftest {
@@@ -11924,7 -11926,7 +11927,7 @@@ $as_echo_n "checking jgraphx... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 11927 "configure"
 -// #line 11929 "configure"
++// #line 11930 "configure"
  import com.mxgraph.model.mxCell;
  
  public class conftest {
@@@ -12018,7 -12020,7 +12021,7 @@@ $as_echo_n "checking minimal version (1
     if test "x" == "x"; then
  
      cat << \EOF > conftest.java
- // #line 12021 "configure"
 -// #line 12023 "configure"
++// #line 12024 "configure"
  import com.mxgraph.view.mxGraph;
  
  public class conftest {
     else
  
      cat << \EOF > conftest.java
- // #line 12072 "configure"
 -// #line 12074 "configure"
++// #line 12075 "configure"
  import com.mxgraph.view.mxGraph;
  
  public class conftest {
@@@ -12146,7 -12148,7 +12149,7 @@@ $as_echo_n "checking jhdf5... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 12149 "configure"
 -// #line 12151 "configure"
++// #line 12152 "configure"
  import ncsa.hdf.hdf5lib.HDF5Constants;
  
  public class conftest {
@@@ -12299,7 -12301,7 +12302,7 @@@ $as_echo_n "checking minimal version (1
     if test "x" == "x"; then
  
      cat << \EOF > conftest.java
- // #line 12302 "configure"
 -// #line 12304 "configure"
++// #line 12305 "configure"
  import ncsa.hdf.hdf5lib.H5;
  
  public class conftest {
     else
  
      cat << \EOF > conftest.java
- // #line 12357 "configure"
 -// #line 12359 "configure"
++// #line 12360 "configure"
  import ncsa.hdf.hdf5lib.H5;
  
  public class conftest {
  
                  fi
  
 -                # Docking system
 +
 +                              # scirenderer
 +
 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking scirenderer" >&5
 +$as_echo_n "checking scirenderer... " >&6; }
 +    PACKAGE_JAR_FILE=
 +    found_jar=no
 +    saved_ac_java_classpath=$ac_java_classpath
 +    DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(ls -d /usr/share/java/* 2>/dev/null) $(ls -d /usr/lib64/* 2>/dev/null) $(ls -d /usr/lib/* 2>/dev/null)  $(ls -d /usr/share/*/lib 2>/dev/null)"
 +    for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR "$_user_libdir"; do
 +      for jar in "$jardir/scirenderer.jar" "$jardir/libscirenderer.jar" "$jardir/libscirenderer-java.jar" "$jardir/scirenderer*.jar"; do
 +#    jar=`echo $jar|sed -e 's/ /\\ /'`
 +#    echo "protected $jar"
 +#    jar_resolved=`ls $jar 2>/dev/null`
 +#    echo "looking for $jar_resolved"
 +# TODO check the behaviour when spaces
 +    jars_resolved=`ls $jar 2>/dev/null`
 +    for jar_resolved in $jars_resolved; do # If several jars matches
 +        if test -e "$jar_resolved"; then
 +          export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 +
 +    cat << \EOF > conftest.java
- // #line 12442 "configure"
++// #line 12445 "configure"
 +import org.scilab.forge.scirenderer.PackageInfo;
 +
 +public class conftest {
 +    public static void main(String[] argv) {
 +
 +    }
 +}
 +EOF
 +
 +    CLASSPATH=$ac_java_classpath
 +    export CLASSPATH
 +    cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
 +    if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
 +       if test ""no"" = "no"; then
 +           echo "yes" >&5
 +
 +            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
 +$as_echo "$jar_resolved" >&6; }
 +            found_jar=yes
 +            PACKAGE_JAR_FILE=$jar_resolved
 +            break
 +
 +       else
 +              cmd="$JAVA conftest"
 +              if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
 +               echo "yes" >&5
 +
 +            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
 +$as_echo "$jar_resolved" >&6; }
 +            found_jar=yes
 +            PACKAGE_JAR_FILE=$jar_resolved
 +            break
 +
 +            else
 +                echo "configure: failed program was:" >&5
 +                cat conftest.java >&5
 +                if test -s conftest.java.output; then
 +                   STDOUT=`cat conftest.java.output`
 +                fi
 +                echo "configure: CLASSPATH was $CLASSPATH" >&5
 +
 +            ac_java_classpath=$saved_ac_java_classpath
 +
 +
 +                            fi
 +        fi
 +        if test -f conftest.java.output; then
 +           rm conftest.java.output
 +        fi
 +    else
 +        echo "configure: failed program was:" >&5
 +        cat conftest.java >&5
 +        echo "configure: CLASSPATH was $CLASSPATH" >&5
 +
 +            ac_java_classpath=$saved_ac_java_classpath
 +
 +
 +            fi
 +
 +        fi
 +      done
 +      # If ls returns several results and the first one is OK, stop the search
 +      if test "$found_jar" = "yes"; then
 +        break
 +      fi
 +      done
 +      # If found, no need to search in other directory
 +      if test "$found_jar" = "yes"; then
 +        break
 +      fi
 +    done
 +    if test "$found_jar" = "no"; then
 +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 +$as_echo "no" >&6; }
 +      if test "" = "yes"; then
 +         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar scirenderer used by Scilab Renderer (looking for package org.scilab.forge.scirenderer.PackageInfo)" >&5
 +$as_echo "$as_me: WARNING: Could not find or use the Java package/jar scirenderer used by Scilab Renderer (looking for package org.scilab.forge.scirenderer.PackageInfo)" >&2;}
 +      else
 +          as_fn_error $? "Could not find or use the Java package/jar scirenderer used by Scilab Renderer (looking for package org.scilab.forge.scirenderer.PackageInfo)" "$LINENO" 5
 +      fi
 +    fi
 +
 +                              SCIRENDERER=$PACKAGE_JAR_FILE
 +
 +
 +
 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking minimal version (0.2.3) of scirenderer" >&5
 +$as_echo_n "checking minimal version (0.2.3) of scirenderer... " >&6; }
 +   saved_ac_java_classpath=$ac_java_classpath
 +   export ac_java_classpath="$SCIRENDERER:$ac_java_classpath"
 +   if test "x=" == "x"; then
 +
 +    cat << \EOF > conftest.java
- // #line 12536 "configure"
++// #line 12539 "configure"
 +import org.scilab.forge.scirenderer.PackageInfo;
 +
 +public class conftest {
 +    public static void main(String[] argv) {
 +        String minVersion="0.2.3";
 +
 +                            System.out.println(PackageInfo.VERSION);
 +                                  if (minVersion.compareTo(PackageInfo.VERSION) > 0) {
 +                                   System.exit(-1);
 +                                }
 +
 +    }
 +}
 +EOF
 +
 +    CLASSPATH=$ac_java_classpath
 +    export CLASSPATH
 +    cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
 +    if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
 +       if test ""yes"" = "no"; then
 +           echo "yes" >&5
 +              echo "yes"
 +       else
 +              cmd="$JAVA conftest"
 +              if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
 +               echo "yes" >&5
 +                  echo "yes"
 +            else
 +                echo "configure: failed program was:" >&5
 +                cat conftest.java >&5
 +                if test -s conftest.java.output; then
 +                   STDOUT=`cat conftest.java.output`
 +                fi
 +                echo "configure: CLASSPATH was $CLASSPATH" >&5
 +                  as_fn_error $? "Wrong version of scirenderer. Expected at least 0.2.3. Found $STDOUT" "$LINENO" 5
 +                            fi
 +        fi
 +        if test -f conftest.java.output; then
 +           rm conftest.java.output
 +        fi
 +    else
 +        echo "configure: failed program was:" >&5
 +        cat conftest.java >&5
 +        echo "configure: CLASSPATH was $CLASSPATH" >&5
 +          as_fn_error $? "Wrong version of scirenderer. Expected at least 0.2.3. Found $STDOUT" "$LINENO" 5
 +            fi
 +
 +   else
 +
 +    cat << \EOF > conftest.java
- // #line 12587 "configure"
++// #line 12590 "configure"
 +import org.scilab.forge.scirenderer.PackageInfo;
 +
 +public class conftest {
 +    public static void main(String[] argv) {
 +        String minVersion="0.2.3";
 +
 +                            System.out.println(PackageInfo.VERSION);
 +                                  if (minVersion.compareTo(PackageInfo.VERSION) != 0) {
 +                                   System.exit(-1);
 +                                }
 +
 +    }
 +}
 +EOF
 +
 +    CLASSPATH=$ac_java_classpath
 +    export CLASSPATH
 +    cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
 +    if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
 +       if test ""yes"" = "no"; then
 +           echo "yes" >&5
 +              echo "yes"
 +       else
 +              cmd="$JAVA conftest"
 +              if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
 +               echo "yes" >&5
 +                  echo "yes"
 +            else
 +                echo "configure: failed program was:" >&5
 +                cat conftest.java >&5
 +                if test -s conftest.java.output; then
 +                   STDOUT=`cat conftest.java.output`
 +                fi
 +                echo "configure: CLASSPATH was $CLASSPATH" >&5
 +                  as_fn_error $? "Wrong version of scirenderer. Expected exact version 0.2.3. Found $STDOUT" "$LINENO" 5
 +                            fi
 +        fi
 +        if test -f conftest.java.output; then
 +           rm conftest.java.output
 +        fi
 +    else
 +        echo "configure: failed program was:" >&5
 +        cat conftest.java >&5
 +        echo "configure: CLASSPATH was $CLASSPATH" >&5
 +          as_fn_error $? "Wrong version of scirenderer. Expected exact version 0.2.3. Found $STDOUT" "$LINENO" 5
 +            fi
 +
 +    fi
 +   ac_java_classpath=$saved_ac_java_classpath
 +
 +
 +               # Docking system
  
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking flexdock" >&5
  $as_echo_n "checking flexdock... " >&6; }
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 12660 "configure"
 -// #line 12443 "configure"
++// #line 12663 "configure"
  import org.flexdock.docking.DockingManager;
  
  public class conftest {
@@@ -12751,7 -12534,7 +12754,7 @@@ $as_echo_n "checking minimal version (0
     if test "x" == "x"; then
  
      cat << \EOF > conftest.java
- // #line 12754 "configure"
 -// #line 12537 "configure"
++// #line 12757 "configure"
  import org.flexdock.util.Utilities;
  
  public class conftest {
     else
  
      cat << \EOF > conftest.java
- // #line 12805 "configure"
 -// #line 12588 "configure"
++// #line 12808 "configure"
  import org.flexdock.util.Utilities;
  
  public class conftest {
@@@ -12875,7 -12658,7 +12878,7 @@@ $as_echo_n "checking looks... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 12878 "configure"
 -// #line 12661 "configure"
++// #line 12881 "configure"
  import com.jgoodies.looks.common.MenuItemRenderer;
  
  public class conftest {
@@@ -12982,7 -12765,7 +12985,7 @@@ $as_echo_n "checking jgoodies-looks... 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 12985 "configure"
 -// #line 12768 "configure"
++// #line 12988 "configure"
  import com.jgoodies.looks.common.MenuItemRenderer;
  
  public class conftest {
@@@ -13090,7 -12873,7 +13093,7 @@@ $as_echo_n "checking skinlf... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 13093 "configure"
 -// #line 12876 "configure"
++// #line 13096 "configure"
  import com.l2fprod.util.AccessUtils;
  
  public class conftest {
@@@ -13197,7 -12980,7 +13200,7 @@@ $as_echo_n "checking jogl... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 13200 "configure"
 -// #line 12983 "configure"
++// #line 13203 "configure"
  import javax.media.opengl.glu.GLUnurbs;
  
  public class conftest {
@@@ -13411,7 -13194,7 +13414,7 @@@ $as_echo_n "checking gluegen-rt... " >&
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 13414 "configure"
 -// #line 13197 "configure"
++// #line 13417 "configure"
  import com.sun.gluegen.runtime.CPU;
  
  public class conftest {
@@@ -13574,7 -13357,7 +13577,7 @@@ $as_echo_n "checking jhall... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 13577 "configure"
 -// #line 13360 "configure"
++// #line 13580 "configure"
  import javax.help.JHelp;
  
  public class conftest {
@@@ -13681,7 -13464,7 +13684,7 @@@ $as_echo_n "checking javahelp2... " >&6
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 13684 "configure"
 -// #line 13467 "configure"
++// #line 13687 "configure"
  import javax.help.JHelp;
  
  public class conftest {
@@@ -13789,7 -13572,7 +13792,7 @@@ $as_echo_n "checking jrosetta-API... " 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 13792 "configure"
 -// #line 13575 "configure"
++// #line 13795 "configure"
  import com.artenum.rosetta.interfaces.core.ConsoleConfiguration;
  
  public class conftest {
@@@ -13873,6 -13656,112 +13876,112 @@@ $as_echo "$as_me: WARNING: Could not fi
      fi
  
                  JROSETTA_API=$PACKAGE_JAR_FILE
+               if test -z "$JROSETTA_API"; then
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking jrosetta-api" >&5
+ $as_echo_n "checking jrosetta-api... " >&6; }
+     PACKAGE_JAR_FILE=
+     found_jar=no
+     saved_ac_java_classpath=$ac_java_classpath
+     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(ls -d /usr/share/java/* 2>/dev/null) $(ls -d /usr/lib64/* 2>/dev/null) $(ls -d /usr/lib/* 2>/dev/null)  $(ls -d /usr/share/*/lib 2>/dev/null)"
+     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR "$_user_libdir"; do
+       for jar in "$jardir/jrosetta-api.jar" "$jardir/libjrosetta-api.jar" "$jardir/libjrosetta-api-java.jar" "$jardir/jrosetta-api*.jar"; do
+ #    jar=`echo $jar|sed -e 's/ /\\ /'`
+ #    echo "protected $jar"
+ #    jar_resolved=`ls $jar 2>/dev/null`
+ #    echo "looking for $jar_resolved"
+ # TODO check the behaviour when spaces
+     jars_resolved=`ls $jar 2>/dev/null`
+     for jar_resolved in $jars_resolved; do # If several jars matches
+         if test -e "$jar_resolved"; then
+           export ac_java_classpath="$jar_resolved:$ac_java_classpath"
+     cat << \EOF > conftest.java
 -// #line 13680 "configure"
++// #line 13900 "configure"
+ import com.artenum.rosetta.interfaces.core.ConsoleConfiguration;
+ public class conftest {
+     public static void main(String[] argv) {
+     }
+ }
+ EOF
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
+     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
+     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
+        if test ""no"" = "no"; then
+            echo "yes" >&5
+             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
+ $as_echo "$jar_resolved" >&6; }
+             found_jar=yes
+             PACKAGE_JAR_FILE=$jar_resolved
+             break
+        else
+               cmd="$JAVA conftest"
+               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
+                echo "yes" >&5
+             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
+ $as_echo "$jar_resolved" >&6; }
+             found_jar=yes
+             PACKAGE_JAR_FILE=$jar_resolved
+             break
+             else
+                 echo "configure: failed program was:" >&5
+                 cat conftest.java >&5
+                 if test -s conftest.java.output; then
+                    STDOUT=`cat conftest.java.output`
+                 fi
+                 echo "configure: CLASSPATH was $CLASSPATH" >&5
+             ac_java_classpath=$saved_ac_java_classpath
+                             fi
+         fi
+         if test -f conftest.java.output; then
+            rm conftest.java.output
+         fi
+     else
+         echo "configure: failed program was:" >&5
+         cat conftest.java >&5
+         echo "configure: CLASSPATH was $CLASSPATH" >&5
+             ac_java_classpath=$saved_ac_java_classpath
+             fi
+         fi
+       done
+       # If ls returns several results and the first one is OK, stop the search
+       if test "$found_jar" = "yes"; then
+         break
+       fi
+       done
+       # If found, no need to search in other directory
+       if test "$found_jar" = "yes"; then
+         break
+       fi
+     done
+     if test "$found_jar" = "no"; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+       if test "" = "yes"; then
+          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jrosetta-api used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" >&5
+ $as_echo "$as_me: WARNING: Could not find or use the Java package/jar jrosetta-api used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" >&2;}
+       else
+           as_fn_error $? "Could not find or use the Java package/jar jrosetta-api used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" "$LINENO" 5
+       fi
+     fi
+                       JROSETTA_API=$PACKAGE_JAR_FILE
+               fi
  
  
                  # Console Core
@@@ -13896,7 -13785,7 +14005,7 @@@ $as_echo_n "checking jrosetta-engine..
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 13899 "configure"
 -// #line 13788 "configure"
++// #line 14008 "configure"
  import com.artenum.rosetta.core.action.AbstractConsoleAction;
  
  public class conftest {
@@@ -13982,6 -13871,116 +14091,116 @@@ $as_echo "$as_me: WARNING: Could not fi
                  JROSETTA_ENGINE=$PACKAGE_JAR_FILE
  
  
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking minimal version (1.0.4) of jrosetta-engine" >&5
+ $as_echo_n "checking minimal version (1.0.4) of jrosetta-engine... " >&6; }
+    saved_ac_java_classpath=$ac_java_classpath
+    export ac_java_classpath="$JROSETTA_ENGINE:$ac_java_classpath"
+    if test "x" == "x"; then
+     cat << \EOF > conftest.java
 -// #line 13881 "configure"
++// #line 14101 "configure"
+ import com.artenum.rosetta.util.ConfigurationBuilder;
+ public class conftest {
+     public static void main(String[] argv) {
+         String minVersion="1.0.4";
+                             System.out.println(ConfigurationBuilder.getVersion());
+                                   if (minVersion.compareTo(ConfigurationBuilder.getVersion()) > 0) {
+                                    System.exit(-1);
+                                 }
+     }
+ }
+ EOF
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
+     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
+     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
+        if test ""yes"" = "no"; then
+            echo "yes" >&5
+               echo "yes"
+        else
+               cmd="$JAVA conftest"
+               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
+                echo "yes" >&5
+                   echo "yes"
+             else
+                 echo "configure: failed program was:" >&5
+                 cat conftest.java >&5
+                 if test -s conftest.java.output; then
+                    STDOUT=`cat conftest.java.output`
+                 fi
+                 echo "configure: CLASSPATH was $CLASSPATH" >&5
+                   as_fn_error $? "Wrong version of jrosetta-engine. Expected at least 1.0.4. Found $STDOUT" "$LINENO" 5
+                             fi
+         fi
+         if test -f conftest.java.output; then
+            rm conftest.java.output
+         fi
+     else
+         echo "configure: failed program was:" >&5
+         cat conftest.java >&5
+         echo "configure: CLASSPATH was $CLASSPATH" >&5
+           as_fn_error $? "Wrong version of jrosetta-engine. Expected at least 1.0.4. Found $STDOUT" "$LINENO" 5
+             fi
+    else
+     cat << \EOF > conftest.java
 -// #line 13932 "configure"
++// #line 14152 "configure"
+ import com.artenum.rosetta.util.ConfigurationBuilder;
+ public class conftest {
+     public static void main(String[] argv) {
+         String minVersion="1.0.4";
+                             System.out.println(ConfigurationBuilder.getVersion());
+                                   if (minVersion.compareTo(ConfigurationBuilder.getVersion()) != 0) {
+                                    System.exit(-1);
+                                 }
+     }
+ }
+ EOF
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
+     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
+     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
+        if test ""yes"" = "no"; then
+            echo "yes" >&5
+               echo "yes"
+        else
+               cmd="$JAVA conftest"
+               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
+                echo "yes" >&5
+                   echo "yes"
+             else
+                 echo "configure: failed program was:" >&5
+                 cat conftest.java >&5
+                 if test -s conftest.java.output; then
+                    STDOUT=`cat conftest.java.output`
+                 fi
+                 echo "configure: CLASSPATH was $CLASSPATH" >&5
+                   as_fn_error $? "Wrong version of jrosetta-engine. Expected exact version 1.0.4. Found $STDOUT" "$LINENO" 5
+                             fi
+         fi
+         if test -f conftest.java.output; then
+            rm conftest.java.output
+         fi
+     else
+         echo "configure: failed program was:" >&5
+         cat conftest.java >&5
+         echo "configure: CLASSPATH was $CLASSPATH" >&5
+           as_fn_error $? "Wrong version of jrosetta-engine. Expected exact version 1.0.4. Found $STDOUT" "$LINENO" 5
+             fi
+     fi
+    ac_java_classpath=$saved_ac_java_classpath
  
                  # MathML rendering solution
                  # Used in both graphic & help
@@@ -14005,7 -14004,7 +14224,7 @@@ $as_echo_n "checking jeuclid-core... " 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 14008 "configure"
 -// #line 14007 "configure"
++// #line 14227 "configure"
  import net.sourceforge.jeuclid.LayoutContext;
  
  public class conftest {
@@@ -14114,7 -14113,7 +14333,7 @@@ $as_echo_n "checking fop... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 14117 "configure"
 -// #line 14116 "configure"
++// #line 14336 "configure"
  import org.apache.fop.pdf.PDFInfo;
  
  public class conftest {
@@@ -14221,7 -14220,7 +14440,7 @@@ $as_echo_n "checking batik-all... " >&6
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 14224 "configure"
 -// #line 14223 "configure"
++// #line 14443 "configure"
  import org.apache.batik.parser.Parser;
  
  public class conftest {
@@@ -14328,7 -14327,7 +14547,7 @@@ $as_echo_n "checking batik... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 14331 "configure"
 -// #line 14330 "configure"
++// #line 14550 "configure"
  import org.apache.batik.parser.Parser;
  
  public class conftest {
@@@ -14422,7 -14421,7 +14641,7 @@@ $as_echo_n "checking minimal version (1
     if test "x" == "x"; then
  
      cat << \EOF > conftest.java
- // #line 14425 "configure"
 -// #line 14424 "configure"
++// #line 14644 "configure"
  import org.apache.batik.Version;
  
  public class conftest {
     else
  
      cat << \EOF > conftest.java
- // #line 14476 "configure"
 -// #line 14475 "configure"
++// #line 14695 "configure"
  import org.apache.batik.Version;
  
  public class conftest {
@@@ -14546,7 -14545,7 +14765,7 @@@ $as_echo_n "checking commons-io... " >&
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 14549 "configure"
 -// #line 14548 "configure"
++// #line 14768 "configure"
  import org.apache.commons.io.output.CountingOutputStream;
  
  public class conftest {
@@@ -14653,7 -14652,7 +14872,7 @@@ $as_echo_n "checking xmlgraphics-common
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 14656 "configure"
 -// #line 14655 "configure"
++// #line 14875 "configure"
  import org.apache.xmlgraphics.util.Service;
  
  public class conftest {
@@@ -14760,7 -14759,7 +14979,7 @@@ $as_echo_n "checking avalon-framework..
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 14763 "configure"
 -// #line 14762 "configure"
++// #line 14982 "configure"
  import org.apache.avalon.framework.configuration.ConfigurationException;
  
  public class conftest {
@@@ -14867,7 -14866,7 +15086,7 @@@ $as_echo_n "checking xml-apis-ext... " 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 14870 "configure"
 -// #line 14869 "configure"
++// #line 15089 "configure"
  import org.w3c.dom.svg.SVGDocument;
  
  public class conftest {
@@@ -14974,7 -14973,7 +15193,7 @@@ $as_echo_n "checking xml-commons-apis-e
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 14977 "configure"
 -// #line 14976 "configure"
++// #line 15196 "configure"
  import org.w3c.dom.svg.SVGDocument;
  
  public class conftest {
@@@ -15085,7 -15084,7 +15304,7 @@@ $as_echo_n "checking commons-logging..
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 15088 "configure"
 -// #line 15087 "configure"
++// #line 15307 "configure"
  import org.apache.commons.logging.LogFactory;
  
  public class conftest {
@@@ -15192,7 -15191,7 +15411,7 @@@ $as_echo_n "checking jlatexmath... " >&
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 15195 "configure"
 -// #line 15194 "configure"
++// #line 15414 "configure"
  import org.scilab.forge.jlatexmath.TeXFormula;
  
  public class conftest {
@@@ -15286,7 -15285,7 +15505,7 @@@ $as_echo_n "checking minimal version (0
     if test "x" == "x"; then
  
      cat << \EOF > conftest.java
- // #line 15289 "configure"
 -// #line 15288 "configure"
++// #line 15508 "configure"
  import org.scilab.forge.jlatexmath.TeXFormula;
  
  public class conftest {
     else
  
      cat << \EOF > conftest.java
- // #line 15340 "configure"
 -// #line 15339 "configure"
++// #line 15559 "configure"
  import org.scilab.forge.jlatexmath.TeXFormula;
  
  public class conftest {
@@@ -15416,7 -15415,7 +15635,7 @@@ $as_echo_n "checking checkstyle... " >&
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 15419 "configure"
 -// #line 15418 "configure"
++// #line 15638 "configure"
  import com.puppycrawl.tools.checkstyle.CheckStyleTask;
  
  public class conftest {
@@@ -15523,7 -15522,7 +15742,7 @@@ $as_echo_n "checking commons-beanutils.
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 15526 "configure"
 -// #line 15525 "configure"
++// #line 15745 "configure"
  import org.apache.commons.beanutils.Converter;
  
  public class conftest {
@@@ -15630,7 -15629,7 +15849,7 @@@ $as_echo_n "checking antlr... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 15633 "configure"
 -// #line 15632 "configure"
++// #line 15852 "configure"
  import antlr.TokenStreamException;
  
  public class conftest {
@@@ -15737,7 -15736,7 +15956,7 @@@ $as_echo_n "checking testng... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 15740 "configure"
 -// #line 15739 "configure"
++// #line 15959 "configure"
  import org.testng.TestNG;
  
  public class conftest {
@@@ -15844,7 -15843,7 +16063,7 @@@ $as_echo_n "checking qdox... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 15847 "configure"
 -// #line 15846 "configure"
++// #line 16066 "configure"
  import com.thoughtworks.qdox.tools.QDoxTester;
  
  public class conftest {
@@@ -15951,7 -15950,7 +16170,7 @@@ $as_echo_n "checking bsh... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 15954 "configure"
 -// #line 15953 "configure"
++// #line 16173 "configure"
  import bsh.Console;
  
  public class conftest {
@@@ -16058,7 -16057,7 +16277,7 @@@ $as_echo_n "checking junit... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 16061 "configure"
 -// #line 16060 "configure"
++// #line 16280 "configure"
  import junit.framework.Assert;
  
  public class conftest {
@@@ -23592,7 -23616,7 +23836,7 @@@ CPPFLAGS="$CPPFLAGS -I$CHK_TCL_INCLUDE_
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if tcl is version $CHK_TCL_MAJOR.$CHK_TCL_MINOR or later" >&5
  $as_echo_n "checking if tcl is version $CHK_TCL_MAJOR.$CHK_TCL_MINOR or later... " >&6; }
  cat > conftest.$ac_ext <<EOF
- #line 23595 "configure"
 -#line 23619 "configure"
++#line 23839 "configure"
  #include "confdefs.h"
  
  #include "$CHK_TCL_INCLUDE_PATH/$CHK_TCL_INC_NAME"
@@@ -23902,7 -23926,7 +24146,7 @@@ CPPFLAGS="$CPPFLAGS $TCL_INC_PATH -I$CH
  $as_echo_n "checking if tk is version $CHK_TK_MAJOR.$CHK_TK_MINOR or later... " >&6; }
  
  cat > conftest.$ac_ext <<EOF
- #line 23905 "configure"
 -#line 23929 "configure"
++#line 24149 "configure"
  #include "confdefs.h"
  
  #include "$CHK_TK_INCLUDE_PATH/$CHK_TK_INC_NAME"
@@@ -24483,7 -24507,7 +24727,7 @@@ $as_echo_n "checking saxon... " >&6; 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 24486 "configure"
 -// #line 24510 "configure"
++// #line 24730 "configure"
  import com.icl.saxon.Loader;
  
  public class conftest {
@@@ -24590,7 -24614,7 +24834,7 @@@ $as_echo_n "checking jlatexmath-fop... 
            export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
      cat << \EOF > conftest.java
- // #line 24593 "configure"
 -// #line 24617 "configure"
++// #line 24837 "configure"
  import org.scilab.forge.jlatexmath.fop.JLaTeXMathObj;
  
  public class conftest {
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
- #line 30900 "configure"
 -#line 30924 "configure"
++#line 31144 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
- #line 31006 "configure"
 -#line 31030 "configure"
++#line 31250 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
Simple merge
Simple merge
  <path value="$SCILAB/modules/localization/.libs"/>
  <path value="$SCILAB/modules/renderer/.libs"/>
  <path value="$SCILAB/modules/graphic_export/.libs"/>
 +<path value="$SCILAB/modules/graphic_objects/.libs"/>
  <path value="$SCILAB/modules/scinotes/.libs"/>
  <path value="$SCILAB/modules/commons/.libs"/>
+ <path value="$SCILAB/modules/gui/.libs"/>
  <path value="$SCILAB/.libs"/>
  
  <!-- Default path to the JNI classes under some Linux (JoGL under Debian for example) -->
Simple merge
Simple merge
index 0000000,d0a8b1a..7de7e22
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,144 +1,139 @@@
+ /*
+  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+  * Copyright (C) 2011 - Calixte DENIZET
+  *
+  * This file must be used under the terms of the CeCILL.
+  * This source file is licensed as described in the file COPYING, which
+  * you should have received as part of this distribution.  The terms
+  * are also available at
+  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+  *
+  */
+ package org.scilab.modules.core;
 -import java.awt.event.ActionEvent;
 -import java.util.List;
+ import java.util.UUID;
+ import javax.swing.JTextArea;
 -import org.scilab.modules.jvm.LoadClassPath;
+ import org.scilab.modules.gui.ScilabTermination;
+ import org.scilab.modules.gui.bridge.CallScilabBridge;
+ import org.scilab.modules.gui.bridge.tab.SwingScilabTab;
+ import org.scilab.modules.gui.console.ScilabConsole;
 -import org.scilab.modules.gui.events.callback.CallBack;
+ import org.scilab.modules.gui.menubar.MenuBar;
+ import org.scilab.modules.gui.tab.ScilabTab;
+ import org.scilab.modules.gui.tab.Tab;
+ import org.scilab.modules.gui.textbox.ScilabTextBox;
+ import org.scilab.modules.gui.textbox.TextBox;
+ import org.scilab.modules.gui.toolbar.ToolBar;
+ import org.scilab.modules.gui.utils.ClosingOperationsManager;
+ import org.scilab.modules.gui.utils.ConfigManager;
+ import org.scilab.modules.gui.utils.MenuBarBuilder;
+ import org.scilab.modules.gui.utils.ToolBarBuilder;
 -import org.scilab.modules.gui.utils.UIElementMapper;
+ import org.scilab.modules.gui.utils.WindowsConfigurationManager;
 -import org.scilab.modules.gui.window.Window;
++import org.scilab.modules.jvm.LoadClassPath;
+ import org.scilab.modules.localization.Messages;
+ /**
+  *
+  * @author Calixte DENIZET
+  */
+ public class ConsoleTab {
+     private static final String CLASS_NOT_FOUND = "Could not find class: ";
+     private static final String SEE_DEFAULT_PATHS = "See SCI/etc/classpath.xml for default paths.";
+     private static final String SCIDIR = System.getenv("SCI");
+     private static final String MENUBARXMLFILE = SCIDIR + "/modules/gui/etc/main_menubar.xml";
+     private static final String TOOLBARXMLFILE = SCIDIR + "/modules/gui/etc/main_toolbar.xml";
+     private static final String NOCONSOLE = Messages.gettext("No available console !\nPlease use STD mode.");
+     private static final String EMPTYTAB = Messages.gettext("Empty tab");
+     /**
+      * Create a console tab
+      * @param uuid the console uuid
+      * @return the corresponding tab
+      */
+     public static Tab getConsoleTab(String uuid) {
+         if (Scilab.getMode() != 2) {
+             Tab tab = ScilabTab.createTab(EMPTYTAB, uuid);
+             JTextArea textarea = new JTextArea(NOCONSOLE);
+             textarea.setEditable(false);
+             ((SwingScilabTab) tab.getAsSimpleTab()).setContentPane(textarea);
+             ClosingOperationsManager.registerClosingOperation(tab, new ClosingOperationsManager.ClosingOperation() {
+                     public boolean canClose() {
+                         return true;
+                     }
+                     public void destroy() { }
+                     public String askForClosing() {
+                         return null;
+                     }
+                 });
+             ClosingOperationsManager.addDependencyWithRoot(tab);
+             WindowsConfigurationManager.restorationFinished((SwingScilabTab) tab.getAsSimpleTab());
+             return tab;
+         }
+         MenuBar menuBar = MenuBarBuilder.buildMenuBar(MENUBARXMLFILE);
+         ToolBar toolBar = ToolBarBuilder.buildToolBar(TOOLBARXMLFILE);
+         /* Create the console */
+         Tab consoleTab = null;
+         try {
+             /* CONSOLE */
+             /* Create a tab to put console into */
+             LoadClassPath.loadOnUse("Console");
+             if (uuid == null) {
+                 consoleTab = ScilabTab.createTab(Messages.gettext("Scilab Console"), UUID.randomUUID().toString());
+             } else {
+                 consoleTab = ScilabTab.createTab(Messages.gettext("Scilab Console"), uuid);
+             }
+             ClosingOperationsManager.registerClosingOperation(consoleTab, new ClosingOperationsManager.ClosingOperation() {
+                     public boolean canClose() {
+                         CallScilabBridge.unblockConsole();
+                         return true;
+                     }
+                     public void destroy() {
+                         if (!Scilab.getExitCalled()) {
+                             ScilabTermination.ScilabExit();
+                         }
+                     }
+                     public String askForClosing() {
+                         return "Console";
+                     }
+                 });
+             ClosingOperationsManager.setRoot(consoleTab);
+             ScilabConsole.createConsole();
+         } catch (NoClassDefFoundError exception) {
+             System.err.println("Cannot create Scilab Console.\nCheck if the thirdparties are available (JoGL/JRosetta...).\n"
+                                + SEE_DEFAULT_PATHS);
+             System.err.println(CLASS_NOT_FOUND + exception.getLocalizedMessage());
+             System.exit(-1);
+         }
+         TextBox infoBar = ScilabTextBox.createTextBox();
+         /** Adding content into container */
+         toolBar.setVisible(false); // Enabled in scilab.start
+         ScilabConsole.getConsole().addToolBar(toolBar);
+         ScilabConsole.getConsole().addMenuBar(menuBar);
+         ScilabConsole.getConsole().addInfoBar(infoBar);
+         ScilabConsole.getConsole().setMaxOutputSize(ConfigManager.getMaxOutputSize());
+         consoleTab.addMember(ScilabConsole.getConsole());
+         WindowsConfigurationManager.restorationFinished((SwingScilabTab) consoleTab.getAsSimpleTab());
+         return consoleTab;
+     }
+ }
  
  package org.scilab.modules.core;
  
+ import java.lang.reflect.InvocationTargetException;
++import java.util.ArrayList;
++import java.util.List;
  import javax.swing.JPopupMenu;
+ import javax.swing.SwingUtilities;
  
  import org.flexdock.docking.DockingConstants;
+ import org.flexdock.docking.DockingManager;
 -
  import org.scilab.modules.commons.ScilabConstants;
--import org.scilab.modules.jvm.LoadClassPath;
- import org.scilab.modules.graphic_objects.graphicObject.CallBack;
 +import org.scilab.modules.gui.SwingView;
+ import org.scilab.modules.gui.bridge.console.SwingScilabConsole;
  import org.scilab.modules.gui.bridge.tab.SwingScilabTab;
  import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
  import org.scilab.modules.gui.console.ScilabConsole;
- import org.scilab.modules.gui.events.callback.CommonCallBack;
- import org.scilab.modules.gui.menubar.MenuBar;
- import org.scilab.modules.gui.textbox.ScilabTextBox;
- import org.scilab.modules.gui.textbox.TextBox;
- import org.scilab.modules.gui.toolbar.ToolBar;
+ import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
+ import org.scilab.modules.gui.utils.ClosingOperationsManager;
  import org.scilab.modules.gui.utils.ConfigManager;
  import org.scilab.modules.gui.utils.LookAndFeelManager;
- import org.scilab.modules.gui.utils.MenuBarBuilder;
- import org.scilab.modules.gui.utils.ToolBarBuilder;
- import org.scilab.modules.localization.Messages;
+ import org.scilab.modules.gui.utils.UIElementMapper;
+ import org.scilab.modules.gui.utils.WindowsConfigurationManager;
+ import org.scilab.modules.gui.window.Window;
  
 -import java.io.File;
 -import java.io.IOException;
 -import java.util.ArrayList;
 -import java.util.List;
 -
  /**
   * Main Class for Scilab
   * @author Allan CORNET
@@@ -64,11 -71,15 +67,15 @@@ public class Scilab 
  
      private static String SCIDIR;
  
-     private static String MENUBARXMLFILE;
+     private static boolean success;
+     private static boolean finish;
+     private static boolean exitCalled;
+     private static int mode;
  
-     private static String TOOLBARXMLFILE;
+     private static List<Runnable> finalhooks = new ArrayList<Runnable>();
+     private static List<Runnable> initialhooks = new ArrayList<Runnable>();
  
 -    private Window mainView;
 +    private SwingScilabWindow mainView;
  
      /**
       * Constructor Scilab Class.
              // Create a user config file if not already exists
              ConfigManager.createUserCopy();
  
-             try {
-                 mainView = new SwingScilabWindow();
-             } catch (NoClassDefFoundError exception) {
-                 System.err.println("Cannot create Scilab Window.\n"
-                         + "Check if the thirdparties are available (Flexdock, JOGL...).\n" + SEE_DEFAULT_PATHS);
-                 System.err.println(CLASS_NOT_FOUND + exception.getLocalizedMessage());
-                 System.exit(-1);
-             } catch (java.awt.HeadlessException exception) {
-                 System.err.println("Error during the initialization of the window: "  + exception.getLocalizedMessage());
-                 System.exit(-1);
-             }
-             mainView.setPosition(ConfigManager.getMainWindowPosition());
-             mainView.setDims(ConfigManager.getMainWindowSize());
+             WindowsConfigurationManager.restoreUUID(ConsoleTabFactory.NULLUUID);
  
-             /************/
-             /* MENU BAR */
-             /************/
-             MenuBar menuBar = MenuBarBuilder.buildMenuBar(MENUBARXMLFILE);
-             /************/
-             /* TOOL BAR */
-             /************/
-             ToolBar toolBar = ToolBarBuilder.buildToolBar(TOOLBARXMLFILE);
-             /* Create the console */
-             SwingScilabTab consoleTab = null;
-             try {
-                 /* CONSOLE */
-                 /* Create a tab to put console into */
-                 LoadClassPath.loadOnUse("Console");
-                 consoleTab = new SwingScilabTab(Messages.gettext("Scilab Console"));
-                 /* Exit Scilab when the console is closed */
-                 consoleTab.setCallback(CommonCallBack.createCallback("exit();", CallBack.SCILAB_INSTRUCTION));
-                 ScilabConsole.createConsole();
-             } catch (NoClassDefFoundError exception) {
-                 System.err.println("Cannot create Scilab Console.\nCheck if the thirdparties are available (JoGL/JRosetta...).\n"
-                         + SEE_DEFAULT_PATHS);
-                 System.err.println(CLASS_NOT_FOUND + exception.getLocalizedMessage());
-                 System.exit(-1);
-             }
-             TextBox infoBar = ScilabTextBox.createTextBox();
-             /** Adding content into container */
-             toolBar.setVisible(false); // Enabled in scilab.start
-           consoleTab.setToolBar(toolBar);
-           consoleTab.setMenuBar(menuBar);
-           consoleTab.setInfoBar(infoBar);
-           
-           ScilabConsole.getConsole().addToolBar(toolBar);
-           ScilabConsole.getConsole().addMenuBar(menuBar);
-           ScilabConsole.getConsole().addInfoBar(infoBar);
-             ScilabConsole.getConsole().setMaxOutputSize(ConfigManager.getMaxOutputSize());
-             consoleTab.addMember(ScilabConsole.getConsole());
-             mainView.addTab(consoleTab);
-             mainView.draw();
+             SwingScilabConsole sciConsole = ((SwingScilabConsole) ScilabConsole.getConsole().getAsSimpleConsole());
+             SwingScilabTab consoleTab = (SwingScilabTab) sciConsole.getParent();
 -            mainView = (Window) UIElementMapper.getCorrespondingUIElement(consoleTab.getParentWindowId());
++            mainView = SwingScilabWindow.allScilabWindows.get(consoleTab.getParentWindowId());
          }
+     }
  
+     /**
+      * @return the current mode
+      */
+     public static int getMode() {
+         return mode;
      }
  
      /**
          return windowsVersion;
      }
  
+     /**
+      * Call from canCloseMainScilabObject (call itself from sci_exit)
+      * @return true if the console is closed
+      */
+     public static boolean canClose() {
+         SwingUtilities.invokeLater(new Runnable() {
 -                public void run() {
 -                    exitCalled = true;
 -                    success = ClosingOperationsManager.startClosingOperationOnRoot();
 -                    exitCalled = false;
 -                    finish = true;
 -                }
 -            });
++            public void run() {
++                exitCalled = true;
++                success = ClosingOperationsManager.startClosingOperationOnRoot();
++                exitCalled = false;
++                finish = true;
++            }
++        });
+         while (!finish) {
+             try {
+                 Thread.sleep(10);
+             } catch (InterruptedException e) {
+                 System.err.println(e);
+             }
+         }
+         finish = false;
+         return success;
+     }
+     /**
+      * @return true if exit has been called from command line
+      */
+     public static boolean getExitCalled() {
+         return exitCalled;
+     }
+     /**
+      * Register a hook to execute just before the JVM shutdown.
+      * A hook should not contain threads, there is no warranty that they will be fully executed.
+      */
+     public static void registerFinalHook(Runnable hook) {
+         finalhooks.add(hook);
+     }
+     /**
+      * Remove a hook
+      */
+     public static void removeFinalHook(Runnable hook) {
+         finalhooks.remove(hook);
+     }
+     /**
+      * This method should be called from jni (finishMainScilabObject())
+      */
+     public static void executeFinalHooks() {
+         for (Runnable hook : finalhooks) {
+             hook.run();
+         }
+     }
+     /**
+      * Register a hook to execute after the Scilab initialization.
+      * A hook should not contain threads, there is no warranty that they will be fully executed.
+      */
+     public static void registerInitialHook(Runnable hook) {
+         initialhooks.add(hook);
+     }
+     /**
+      * Remove a hook
+      */
+     public static void removeInitialHook(Runnable hook) {
+         initialhooks.remove(hook);
+     }
+     /**
+      * This method should be called from C (realmain)
+      */
+     public static void executeInitialHooks() {
+         for (final Runnable hook : initialhooks) {
+             try {
+                 SwingUtilities.invokeAndWait(hook);
+             } catch (InterruptedException e) {
+                 System.err.println(e);
+             } catch (InvocationTargetException e) {
+                 e.printStackTrace();
+             }
+         }
+     }
  }
  /*--------------------------------------------------------------------------*/
@@@ -52,10 -52,11 +52,12 @@@ src/c/InitProgressionBar.c 
  src/c/CreateUIContextMenu.c \
  src/c/UicontrolStyleToString.c \
  src/c/checkColorRange.c \
- src/c/messageboxoptions.c
+ src/c/messageboxoptions.c \
+ src/c/ScilabTermination.c \
+ src/jni/ScilabTermination_wrap.c
  
 -GUI_CPP_SOURCES = src/cpp/InitUIMenu.cpp \
 +GUI_CPP_SOURCES = \
 +src/cpp/InitUIMenu.cpp \
  src/jni/CallScilabBridge.cpp \
  src/jni/Jxclick.cpp \
  src/cpp/DestroyUimenu.cpp \
@@@ -156,10 -142,8 +157,9 @@@ src/jni/LookAndFeelManager.cpp 
  src/jni/Juigetfile.cpp \
  src/cpp/CallJuigetfile.cpp \
  src/cpp/displaytree.cpp \
 -src/jni/ScilabDisplayTree.cpp
 +src/jni/ScilabDisplayTree.cpp \
 +src/cpp/displayUiTree.cpp
  
  GIWS_WRAPPERS = \
  src/jni/CallScilabBridge.giws.xml \
  src/jni/Jxclick.giws.xml \
@@@ -656,10 -640,11 +656,12 @@@ src/c/InitProgressionBar.c 
  src/c/CreateUIContextMenu.c \
  src/c/UicontrolStyleToString.c \
  src/c/checkColorRange.c \
- src/c/messageboxoptions.c
+ src/c/messageboxoptions.c \
+ src/c/ScilabTermination.c \
+ src/jni/ScilabTermination_wrap.c
  
 -GUI_CPP_SOURCES = src/cpp/InitUIMenu.cpp \
 +GUI_CPP_SOURCES = \
 +src/cpp/InitUIMenu.cpp \
  src/jni/CallScilabBridge.cpp \
  src/jni/Jxclick.cpp \
  src/cpp/DestroyUimenu.cpp \
@@@ -1106,7 -1094,8 +1133,9 @@@ distclean-compile
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-PushButton.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-RadioButton.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-ScilabDisplayTree.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-ScilabTermination.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-ScilabTermination_wrap.Plo@am__quote@
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetConsoleShowHiddenHandles.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUicontrolBackgroundColor.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUicontrolFontAngle.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUicontrolFontName.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUimenuChecked.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUimenuLabel.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUiobjectCallback.Plo@am__quote@
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUiobjectColumnNames.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUiobjectEnable.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUiobjectForegroundColor.Plo@am__quote@
 -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUiobjectTag.Plo@am__quote@
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUiobjectRotate.Plo@am__quote@
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUiobjectRowNames.Plo@am__quote@
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUiobjectScale.Plo@am__quote@
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUiobjectShear.Plo@am__quote@
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUiobjectTableData.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-SetUiobjectVisible.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-Slider.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-TerminateGui.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-Toolbar.Plo@am__quote@
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-UiDisplayTree.Plo@am__quote@
 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-UiTable.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-UicontrolStyleToString.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-UnitsConversion.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libscigui_algo_la-Widget.Plo@am__quote@
      </Link>
    </ItemDefinitionGroup>
    <ItemGroup>
 +    <ClCompile Include="..\cpp\displayUiTree.cpp" />
 +    <ClCompile Include="..\cpp\GetConsoleShowHiddenHandles.cpp" />
 +    <ClCompile Include="..\cpp\GetUiobjectColumnNames.cpp" />
 +    <ClCompile Include="..\cpp\GetUiobjectRowNames.cpp" />
 +    <ClCompile Include="..\cpp\GetUiobjectScale.cpp" />
 +    <ClCompile Include="..\cpp\GetUiobjectShear.cpp" />
 +    <ClCompile Include="..\cpp\GetUiobjectTableData.cpp" />
 +    <ClCompile Include="..\cpp\ImageRenderer.cpp" />
 +    <ClCompile Include="..\cpp\SetConsoleShowHiddenHandles.cpp" />
 +    <ClCompile Include="..\cpp\SetUiobjectColumnNames.cpp" />
 +    <ClCompile Include="..\cpp\SetUiobjectRotate.cpp" />
 +    <ClCompile Include="..\cpp\SetUiobjectRownames.cpp" />
 +    <ClCompile Include="..\cpp\SetUiobjectScale.cpp" />
 +    <ClCompile Include="..\cpp\SetUiobjectShear.cpp" />
 +    <ClCompile Include="..\cpp\SetUiobjectTabledata.cpp" />
 +    <ClCompile Include="..\cpp\UiDisplayTree.cpp" />
 +    <ClCompile Include="..\cpp\UiTable.cpp" />
+     <ClCompile Include="..\jni\ScilabTermination_wrap.c" />
      <ClCompile Include="addmenu.c" />
      <ClCompile Include="buildMainWindowTitle.c" />
      <ClCompile Include="..\cpp\CallClipboard.cpp" />
      <ClCompile Include="..\cpp\Widget.cpp">
        <Filter>Source Files</Filter>
      </ClCompile>
 +    <ClCompile Include="..\cpp\displayUiTree.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\UiDisplayTree.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\UiTable.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\ImageRenderer.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\SetUiobjectRotate.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\SetUiobjectRownames.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\SetUiobjectScale.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\SetUiobjectShear.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\SetUiobjectTabledata.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\SetUiobjectColumnNames.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\GetUiobjectScale.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\GetUiobjectShear.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\GetUiobjectTableData.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\GetUiobjectColumnNames.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\GetUiobjectRowNames.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\GetConsoleShowHiddenHandles.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
 +    <ClCompile Include="..\cpp\SetConsoleShowHiddenHandles.cpp">
 +      <Filter>Source Files</Filter>
 +    </ClCompile>
+     <ClCompile Include="..\jni\ScilabTermination_wrap.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
+     <ClCompile Include="ScilabTermination.c">
+       <Filter>Source Files</Filter>
+     </ClCompile>
    </ItemGroup>
    <ItemGroup>
      <ClInclude Include="buildMainWindowTitle.h">
      <ClInclude Include="..\cpp\Widget.hxx">
        <Filter>Header Files</Filter>
      </ClInclude>
 +    <ClInclude Include="..\..\includes\CallClipboard.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\CallJuigetfile.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\CallJuigetfile.hxx">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\DestroyUicontrol.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\GetUiobjectColumnNames.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\GetUiobjectEnable.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\GetUiobjectRowNames.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\GetUiobjectScale.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\GetUiobjectShear.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\GetUiobjectTableData.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\ImageRenderer.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\SetUiobjectColumnNames.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\SetUiobjectEnable.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\SetUiobjectRotate.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\SetUiobjectRowNames.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\SetUiobjectScale.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\SetUiobjectShear.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\SetUiobjectTableData.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\UiDisplayTree.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\UiTable.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\GetConsoleShowHiddenHandles.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
 +    <ClInclude Include="..\..\includes\SetConsoleShowHiddenHandles.h">
 +      <Filter>Header Files</Filter>
 +    </ClInclude>
+     <ClInclude Include="ScilabTermination.h">
+       <Filter>Header Files</Filter>
+     </ClInclude>
    </ItemGroup>
    <ItemGroup>
 -    <None Include="..\..\locales\en_US\gui.pot">
 -      <Filter>localization</Filter>
 -    </None>
      <None Include="LibScilab_Import.def">
        <Filter>Libraries Dependencies\Imports</Filter>
      </None>
@@@ -52,9 -52,9 +52,7 @@@ import org.scilab.modules.graphic_expor
  import org.scilab.modules.graphic_export.FileExporter;
  import org.scilab.modules.gui.bridge.canvas.SwingScilabCanvasImpl;
  import org.scilab.modules.gui.bridge.console.SwingScilabConsole;
--import org.scilab.modules.gui.bridge.helpbrowser.SwingScilabHelpBrowser;
  import org.scilab.modules.gui.bridge.tab.SwingScilabTab;
--import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
  import org.scilab.modules.gui.canvas.Canvas;
  import org.scilab.modules.gui.checkbox.CheckBox;
  import org.scilab.modules.gui.checkbox.ScilabCheckBox;
@@@ -127,8 -121,8 +125,7 @@@ import org.scilab.modules.gui.window.Sc
  import org.scilab.modules.gui.window.Window;
  import org.scilab.modules.localization.Messages;
  import org.scilab.modules.renderer.FigureMapper;
 -import org.scilab.modules.renderer.figureDrawing.DrawableFigureGL;
  
  /**
   * This class is used to call Scilab GUIs objects from Scilab
   * @author Vincent COUVERT
@@@ -362,23 -356,7 +359,23 @@@ public class CallScilabBridge 
          setWidgetForegroundColor(id, (int) DEFAULT_RED_FOREGROUND, (int) DEFAULT_GREEN_FOREGROUND, (int) DEFAULT_BLUE_FOREGROUND);
          return id;
      }
-   
 +    public static void newPushButton(String UID) {
 +        PushButton pushButton = ScilabPushButton.createPushButton();
 +        ((ScilabPushButton) pushButton).setIdentifier(UID);
 +        int id = UIElementMapper.add(pushButton);
 +
 +        /* Default font */
 +        setWidgetFontName(id, DEFAULTFONTNAME);
 +        setWidgetFontWeight(id, NORMALFONT);
 +        setWidgetFontSize(id, DEFAULTFONTSIZE);
 +
 +        setWidgetRelief(id, ScilabRelief.RAISED);
 +
 +        /* Default colors */
 +        setWidgetBackgroundColor(id, (int) BUTTON_RED_BACKGROUND, (int) BUTTON_GREEN_BACKGROUND, (int) BUTTON_BLUE_BACKGROUND);
 +        setWidgetForegroundColor(id, (int) DEFAULT_RED_FOREGROUND, (int) DEFAULT_GREEN_FOREGROUND, (int) DEFAULT_BLUE_FOREGROUND);
 +    }
      /**
       * Create a new EditBox in Scilab GUIs
       * @return the ID of the Edit in the UIElementMapper
          //   delete(get_figure_handle(fid));
          // end
          String closingCommand =
--            "if (get_figure_handle(" + figureIndex + ") <> []) then"
--            +      "  if (get(get_figure_handle(" + figureIndex + "), 'event_handler_enable') == 'on') then"
--            +      "    execstr(get(get_figure_handle(" + figureIndex + "), 'event_handler')+'(" + figureIndex + ", -1, -1, -1000)', 'errcatch', 'm');"
--            +      "  end;"
--            +      "  delete(get_figure_handle(" + figureIndex + "));"
--            +      "end;";
++                "if (get_figure_handle(" + figureIndex + ") <> []) then"
++                        +      "  if (get(get_figure_handle(" + figureIndex + "), 'event_handler_enable') == 'on') then"
++                        +      "    execstr(get(get_figure_handle(" + figureIndex + "), 'event_handler')+'(" + figureIndex + ", -1, -1, -1000)', 'errcatch', 'm');"
++                        +      "  end;"
++                        +      "  delete(get_figure_handle(" + figureIndex + "));"
++                        +      "end;";
          graphicTab.setCallback(ScilabCloseCallBack.create(figureIndex, closingCommand));
          graphicTab.addMenuBar(menuBar);
          graphicTab.addToolBar(toolBar);
          graphicTab.addInfoBar(infoBar);
          ((SwingScilabTab) graphicTab.getAsSimpleTab()).setWindowIcon(new ImageIcon(System.getenv("SCI")
--                                                                                   + "/modules/gui/images/icons/graphic-window.png").getImage());
++                + "/modules/gui/images/icons/graphic-window.png").getImage());
          newWindow.addTab(graphicTab);
  
          // link the tab and canvas with their figure
- //        DrawableFigureGL associatedFigure = FigureMapper.getCorrespondingFigure(figureIndex);
 -        DrawableFigureGL associatedFigure = FigureMapper.getCorrespondingFigure(figureIndex);
++        //        DrawableFigureGL associatedFigure = FigureMapper.getCorrespondingFigure(figureIndex);
          //associatedFigure.setRendererProperties(new ScilabRendererProperties(graphicTab, graphicCanvas));
- //        associatedFigure.setRendererProperties(new ScilabRendererProperties(graphicTab, null, figureIndex));
 -        associatedFigure.setRendererProperties(new ScilabRendererProperties(graphicTab, null, figureIndex));
++        //        associatedFigure.setRendererProperties(new ScilabRendererProperties(graphicTab, null, figureIndex));
          // don't draw now, figure will show itself when all its parameters will be set
  
          return 0;
       */
      public static void setWidgetCallback(int objID, String callbackString, int callbackType) {
          ((Widget) UIElementMapper.getCorrespondingUIElement(objID))
-             .setCallback(CommonCallBack.createCallback(callbackString, callbackType, objID));
 -            .setCallback(CallBack.createCallback(callbackString, callbackType, objID));
++        .setCallback(CommonCallBack.createCallback(callbackString, callbackType, objID));
      }
  
      /**
      public static void setFigureMenuEnabled(int figureID, String menuName, boolean status) {
          if (FigureMapper.getCorrespondingFigure(figureID) != null) { /** Parent figure must exist */
              Tab parentTab = ((ScilabRendererProperties) FigureMapper.getCorrespondingFigure(figureID).
--                             getRendererProperties()).getParentTab();
++                    getRendererProperties()).getParentTab();
  
              MenuBar figureMenuBar = parentTab.getMenuBar();
  
      public static void setFigureSubMenuEnabled(int figureID, String parentMenuName, int menuItemPosition, boolean status) {
          if (FigureMapper.getCorrespondingFigure(figureID) != null) { /** Parent figure must exist */
              Tab parentTab = ((ScilabRendererProperties) FigureMapper.getCorrespondingFigure(figureID).
--                             getRendererProperties()).getParentTab();
++                    getRendererProperties()).getParentTab();
  
              MenuBar figureMenuBar = parentTab.getMenuBar();
  
      public static void removeFigureMenu(int figureID, String menuName) {
          if (FigureMapper.getCorrespondingFigure(figureID) != null) { /** Parent figure must exist */
              Tab parentTab = ((ScilabRendererProperties) FigureMapper.getCorrespondingFigure(figureID).
--                             getRendererProperties()).getParentTab();
++                    getRendererProperties()).getParentTab();
  
              MenuBar figureMenuBar = parentTab.getMenuBar();
  
              }
          } else {
              ((ScilabRendererProperties) FigureMapper
--             .getCorrespondingFigure(figNum).getRendererProperties()).getParentTab().getToolBar().setVisible(status);
++                    .getCorrespondingFigure(figNum).getRendererProperties()).getParentTab().getToolBar().setVisible(status);
          }
      }
  
       */
      public static boolean isToolbarVisible(int figNum) {
          if (figNum == -1) {
--           if (ScilabConsole.isExistingConsole()) {
--               return ScilabConsole.getConsole().getToolBar().isVisible();
--           } else {
--               return false;
--           }
++            if (ScilabConsole.isExistingConsole()) {
++                return ScilabConsole.getConsole().getToolBar().isVisible();
++            } else {
++                return false;
++            }
          } else {
              return ((ScilabRendererProperties) FigureMapper
                      .getCorrespondingFigure(figNum).getRendererProperties()).getParentTab().getToolBar().isVisible();
                      /** Export image to PostScript */
                      if (((PrintRequestAttribute) scilabPageFormat.get(OrientationRequested.class)) == OrientationRequested.PORTRAIT) {
                          FileExporter.fileExport(figureID,
--                                                tmpPrinterFile + fileExtension,
--                                                exportRendererMode, 1, 0); /* 1 is the quality. Useless in this context */
++                                tmpPrinterFile + fileExtension,
++                                exportRendererMode, 1, 0); /* 1 is the quality. Useless in this context */
                      } else {
                          FileExporter.fileExport(figureID,
--                                                tmpPrinterFile + fileExtension,
--                                                exportRendererMode, 1, 1); /* 1 is the quality. Useless in this context */
++                                tmpPrinterFile + fileExtension,
++                                exportRendererMode, 1, 1); /* 1 is the quality. Useless in this context */
                      }
  
                      /** Read file */
      public static void scilabAboutBox() {
          ScilabAboutBox.displayAndWait();
      }
 +
 +    /**********************/
 +    /*                    */
 +    /* IMAGERENDERER BRIDGE */
 +    /*                    */
 +    /**********************/
 +
 +    /**
 +     * Rotates an image by certain degrees
 +     */
 +    public static void setImageRendererRotate(int id, double[] indices) {
-       ((ImageRenderer) UIElementMapper.getCorrespondingUIElement(id)).setRotate(indices);
++        ((ImageRenderer) UIElementMapper.getCorrespondingUIElement(id)).setRotate(indices);
 +    }
 +
 +    /**
 +     * Shears an image by x, y values
 +     */
 +    public static void setImageRendererShear(int id, double[] indices) {
-       ((ImageRenderer) UIElementMapper.getCorrespondingUIElement(id)).setShear(indices);
++        ((ImageRenderer) UIElementMapper.getCorrespondingUIElement(id)).setShear(indices);
 +    }
 +
 +    /**
 +     * Scales an image by x, y values
 +     */
 +    public static void setImageRendererScale(int id, double[] indices) {
-       ((ImageRenderer) UIElementMapper.getCorrespondingUIElement(id)).setScale(indices);
++        ((ImageRenderer) UIElementMapper.getCorrespondingUIElement(id)).setScale(indices);
 +    }
 +
 +    /******************/
 +    /*                */
 +    /* UITABLE BRIDGE */
 +    /*                */
 +    /******************/
 +
 +    /**
 +     * Sets the column names for the uitable
 +     */
 +    public static void setUiTableColnames(int id, String text) {
-       // TODO Remove this method
-       //((UiTable) UIElementMapper.getCorrespondingUIElement(id)).setColnames(text);
++        // TODO Remove this method
++        //((UiTable) UIElementMapper.getCorrespondingUIElement(id)).setColnames(text);
 +    }
 +
 +    /**
 +     * Sets the row names for the uitable
 +     */
 +    public static void setUiTableRownames(int id, String text) {
-       // TODO Remove this method
-       //((UiTable) UIElementMapper.getCorrespondingUIElement(id)).setRownames(text);
++        // TODO Remove this method
++        //((UiTable) UIElementMapper.getCorrespondingUIElement(id)).setRownames(text);
 +    }
 +
 +    /**
 +     * Sets the data for the uitable
 +     */
 +    public static void setUiTableData(int id, String text) {
-       ((UiTable) UIElementMapper.getCorrespondingUIElement(id)).setData(text);
++        ((UiTable) UIElementMapper.getCorrespondingUIElement(id)).setData(text);
 +    }
 +
 +    /******************/
 +    /*                */
 +    /* UITABLE BRIDGE */
 +    /*                */
 +    /******************/
 +    public static void setUiTreeData(int id, String[] text) {
 +        ((UiDisplayTree) UIElementMapper.getCorrespondingUIElement(id)).setData(text);
 +    }
  }
@@@ -131,6003 -122,5236 +131,6013 @@@ import org.scilab.modules.gui.window.Wi
   */
  public class ScilabBridge {
  
-       /**
-        * Constructor for ScilabBridge class
-        */
-       protected ScilabBridge() {
-               throw new UnsupportedOperationException(); /* Prevents calls from subclass */
-       }
-       /*****************/
-       /* Window Bridge */
-       /*****************/
-       /**
-        * Creates a new window
-        * @return the created window
-        */
-       public static SimpleWindow createWindow() {
-               return ScilabWindowBridge.createWindow();
-       }
-       /**
-        * Draws a window on screen
-        * @param window the window to be drawn
-        */
-       public static void draw(Window window) {
-               ScilabWindowBridge.draw(window);
-       }
-       
-       /**
-        * Deiconify the window and put it in front of other window
-        * @param window the window to raise
-        */
-       public static void raise(Window window) {
-               ScilabWindowBridge.raise(window);
-       }
-       /**
-        * Gets the dimensions (width and height) of a window
-        * @param window the window we want to get the dimensions of
-        * @return dimensions of the window
-        */
-       public static Size getDims(Window window) {
-               return ScilabWindowBridge.getDims(window);
-       }
-       /**
-        * Sets the dimensions (width and height) of a window
-        * @param window the window we want to set the dimensions of
-        * @param newWindowSize new dimensions of the window
-        */
-       public static void setDims(Window window, Size newWindowSize) {
-               ScilabWindowBridge.setDims(window, newWindowSize);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a window
-        * @param window the window we want to get the position of
-        * @return position of the window
-        */
-       public static Position getPosition(Window window) {
-               return ScilabWindowBridge.getPosition(window);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a window
-        * @param window the window we want to set the position of
-        * @param newWindowPosition new position of the window
-        */
-       public static void setPosition(Window window, Position newWindowPosition) {
-               ScilabWindowBridge.setPosition(window, newWindowPosition);
-       }
-       /**
-        * Gets the title of a window
-        * @param window the window we want to get the title of
-        * @return the title of the window
-        */
-       public static String getTitle(Window window) {
-               return ScilabWindowBridge.getTitle(window);
-       }
-       /**
-        * Sets the title of a window
-        * @param window the window we want to set the title of
-        * @param newWindowTitle the title to set for the window
-        */
-       public static void setTitle(Window window, String newWindowTitle) {
-               ScilabWindowBridge.setTitle(window, newWindowTitle);
-       }
-       /**
-        * Gets the visibility status of a window
-        * @param window the window we want to get the status of
-        * @return visibility status (true if the window is visible, false if not)
-        */
-       public static boolean isVisible(Window window) {
-               return ScilabWindowBridge.isVisible(window);
-       }
-       /**
-        * Sets the visibility status for a window
-        * @param window the window we want to set the visibility status of
-        * @param newVisibleState new visibility status for the window
-        *                      (true set the window visible, false to set the window invisible)
-        */
-       public static void setVisible(Window window, boolean newVisibleState) {
-               ScilabWindowBridge.setVisible(window, newVisibleState);
-       }
-       /**
-        * Add a tab to a window
-        * @param window the window which we want to add the tab to
-        * @param newTab the tab to add to the window
-        */
-       public static void addTab(Window window, Tab newTab) {
-               ScilabWindowBridge.addTab(window, newTab);
-       }
-       
-       /**
-        * Add a tab to a window
-        * @param window the window which we want to remove the tab from
-        * @param newTab the tab to add to the window
-        */
-       public static void removeTab(Window window, Tab newTab) {
-               ScilabWindowBridge.removeTab(window, newTab);
-       }
-       /**
-        * Sets a MenuBar to a window
-        * @param window the window which we want to add the MeunBar to
-        * @param newMenuBar the MeunBar to add to the window
-        */
-       public static void addMenuBar(Window window, MenuBar newMenuBar) {
-               ScilabWindowBridge.addMenuBar(window, newMenuBar);
-       }
-       
-       /**
-        * Sets a ToolBar to a window
-        * @param window the window which we want to add the ToolBar to
-        * @param newToolBar the ToolBar to add to the window
-        */
-       public static void addToolBar(Window window, ToolBar newToolBar) {
-               ScilabWindowBridge.addToolBar(window, newToolBar);
-       }
-       
-       /**
-        * Sets a InfoBar to a window
-        * @param window the window which we want to add the InfoBar to
-        * @param newInfoBar the InfoBar to add to the window
-        */
-       public static void addInfoBar(Window window, TextBox newInfoBar) {
-               ScilabWindowBridge.addInfoBar(window, newInfoBar);
-       }
-       
-       /**
-        * @param window window from which we want the information
-        * @return number of objects (tabs) docked in this window
-        */
-       public static int getNbDockedObjects(Window window) {
-               return ScilabWindowBridge.getNbDockedObjects(window);
-       }
-       
-       /**
-        * Update the dimension of the window and its component.
-        * Only useful when the window is not yet visible
-        * @param window window to update
-        */
-       public static void updateDimensions(Window window) {
-               ScilabWindowBridge.updateDimensions(window);
-       }
-       
-       /**
-       * DeIconify Window
-       * @param window window to update        
-       */
-       public static void windowDeiconified(Window window) {
-               ScilabWindowBridge.windowDeiconified(window);
-       }
-       
-       /**
-       * Iconify Window
-       * @param window window to update        
-       */
-       public static void windowIconified(Window window) {
-               ScilabWindowBridge.windowIconified(window);
-       }
-       
-       /**
-       * Maximized Window
-       * @param window window to update        
-       */
-       public static void windowMaximized(Window window) {
-               ScilabWindowBridge.windowMaximized(window);
-       }
-       
-       /**
-       * Window is in the "normal" state.
-       * @param window window to update                
-       */
-       public static void windowNormal(Window window) {
-               ScilabWindowBridge.windowNormal(window);
-       }
-               
-       
-       /*****************/
-       /* ToolBar Bridge */
-       /*****************/
-       
-       /**
-        * Creates a new ToolBar
-        * @return the created ToolBar
-        */
-       public static SimpleToolBar createToolBar() {
-               return ScilabToolBarBridge.createToolBar();
-       }
-       
-       /**
-        * Add a PushButton to the ToolBar.
-        * @param toolBar the toolBar which we want to add the PushButton to
-        * @param pushButton the PushButton to add.
-        */
-       public static void add(ToolBar toolBar, PushButton pushButton) {
-               ScilabToolBarBridge.add(toolBar, pushButton);
-       }
-       /**
-        * Add a Separator to a Toolbar
-        * @param toolbar the Toolbar which we want to add the Separator to
-        */
-       public static void addSeparator(ToolBar toolbar) {
-               ScilabToolBarBridge.addSeparator(toolbar);
-       }
-       /**
-        * Set the visibility of the Toolbar
-        * @param toolbar the ToolBar
-        * @param newVisibleState true to set the toolbar visible
-        */
-       public static void setVisible(ToolBar toolbar, boolean newVisibleState) {
-               ScilabToolBarBridge.setVisible(toolbar, newVisibleState);
-       }
-       
-       /**
-        * Get the visibility of the TooBar
-        * @param toolbar the ToolBar
-        * @return true if the ToolBar is Visible
-        */
-       public static boolean isVisible(ToolBar toolbar) {
-               return ScilabToolBarBridge.isVisible(toolbar);
-       }
-       
-       /****************/
-       /* Frame Bridge */
-       /****************/
-       /**
-        * Creates a new Frame
-        * @return the created Frame
-        */
-       public static SimpleFrame createFrame() {
-               return ScilabFrameBridge.createFrame();
-       }
-       
-       /**
-        * Sets the Text of a Frame
-        * @param frame the Frame we want to set the Text of
-        * @param newText the Text to set for the Frame
-        */
-       public static void setText(Frame frame, String newText) {
-               ScilabFrameBridge.setText(frame, newText);
-       }
-       
-       /**
-        * Gets the text of an Frame
-        * @param frame the Frame we want to get the text of
-        * @return the text of the Frame
-        */
-       public static String getText(Frame frame) {
-               return ScilabFrameBridge.getText(frame);
-       }
-       
-       /**
-        * Draws a Scilab Frame
-        * @param frame the Frame to draw
-        * @see org.scilab.modules.ihm.UIElement#draw()
-        */
-       public static void draw(Frame frame) {
-               ScilabFrameBridge.draw(frame);
-       }
-       /**
-        * Gets the dimensions (width and height) of a Scilab Frame
-        * @param frame the Frame we want to get the dimensions of
-        * @return the size of the frame
-        * @see org.scilab.modules.ihm.UIElement#getDims()
-        */
-       public static Size getDims(Frame frame) {
-               return ScilabFrameBridge.getDims(frame);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a Scilab frame
-        * @param frame the frame we want to get the position of
-        * @return the position of the frame
-        * @see org.scilab.modules.ihm.UIElement#getPosition()
-        */
-       public static Position getPosition(Frame frame) {
-               return ScilabFrameBridge.getPosition(frame);
-       }
-       /**
-        * Gets the visibility status of a Scilab Frame
-        * @param frame the frame we want to get the visiblity status of
-        * @return the visibility status of the frame (true if the frame is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(Frame frame) {
-               return ScilabFrameBridge.isVisible(frame);
-       }
-       /**
-        * Sets the dimensions (width and height) of a Scilab Frame
-        * @param frame the frame we want to set the dimensions of
-        * @param newSize the size we want to set to the frame
-        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
-        */
-       public static void setDims(Frame frame, Size newSize) {
-               ScilabFrameBridge.setDims(frame, newSize);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a Scilab frame
-        * @param frame the frame we want to set the position of
-        * @param newPosition the position we want to set to the frame
-        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
-        */
-       public static void setPosition(Frame frame, Position newPosition) {
-               ScilabFrameBridge.setPosition(frame, newPosition);
-       }
-       /**
-        * Sets the visibility status of a Scilab Frame
-        * @param frame the frame we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the frame (true to set the frame visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(Frame frame, boolean newVisibleState) {
-               ScilabFrameBridge.setVisible(frame, newVisibleState);
-       }
-       
-       /**
-        * Set the Background color of the Frame
-        * @param frame the Frame we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(Frame frame, Color color) {
-               ScilabFrameBridge.setBackground(frame, color);
-       }
-       /**
-        * Get the Background color of the Frame
-        * @param frame the Frame we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(Frame frame) {
-               return ScilabFrameBridge.getBackground(frame);
-       }
-       /**
-        * Set the Foreground color of the Frame
-        * @param frame the Frame we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(Frame frame, Color color) {
-               ScilabFrameBridge.setForeground(frame, color);
-       }
-       /**
-        * Get the Foreground color of the Frame
-        * @param frame the Frame we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(Frame frame) {
-               return ScilabFrameBridge.getForeground(frame);
-       }
-       /**
-        * Set the font of the Frame.
-        * @param frame the Frame we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(Frame frame, Font font) {
-               ScilabFrameBridge.setFont(frame, font);
-       }
-       
-       /**
-        * Get the font of the Frame.
-        * @param frame the Frame we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(Frame frame) {
-               return ScilabFrameBridge.getFont(frame);
-       }
-       /**
-        * Set if the Frame is enabled or not
-        * @param frame the Frame we want to set the status of
-        * @param status true if the Frame is enabled
-        */
-       public static void setEnabled(Frame frame, boolean status) {
-               ScilabFrameBridge.setEnabled(frame, status);
-       }
-       
-       /**
-        * Gets the enable status of the Frame
-        * @param frame the Frame we want to get the status of
-        * @return the enable status of the Frame (true if the Frame is enabled, false if not)
-        */
-       public static boolean isEnabled(Frame frame) {
-               return ScilabFrameBridge.isEnabled(frame);
-       }
-       
-       /**
-        * Add a callback to the Frame
-        * @param frame the Frame we want to set the callback of
-        * @param callback the callback to set
-        */
-       public static void setCallback(Frame frame, CommonCallBack callback) {
-               ScilabFrameBridge.setCallback(frame, callback);
-       }
-       /**
-        * Set the Relief of the Frame
-        * @param frame the Frame we want to set the Relief of
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public static void setRelief(Frame frame, String reliefType) {
-               ScilabFrameBridge.setRelief(frame, reliefType);
-       }
-       /**
-        * Delete the Frame
-        * @param frame the Frame to be destroyed
-        */
-       public static void destroy(Frame frame) {
-               ScilabFrameBridge.destroy(frame);
-       }
-       /**
-        * Give the focus to the Frame
-        * @param frame the Frame
-        */
-       public static void requestFocus(Frame frame) {
-               ScilabFrameBridge.requestFocus(frame);
-       }
-       /**************/
-       /* Tab Bridge */
-       /**************/
-       /**
-        * Creates a Scilab tab
-        * @param name the name of the tab (used to identify it)
-        * @return the created tab
-        */
-       public static SimpleTab createTab(String name) {
-               return ScilabTabBridge.createTab(name);
-       }
-       
-       /**
-        * Creates a Scilab tab able to create graphics
-        * @param name the name of the tab (used to identify it)
-        * @param figureId index of the created figure
-        * @return the created tab
-        */
-       public static SimpleTab createTab(String name, int figureId) {
-               return ScilabTabBridge.createTab(name, figureId);
-       }
-       /**
-        * Draws a tab on screen
-        * @param tab the tab to be drawn
-        */
-       public static void draw(Tab tab) {
-               ScilabTabBridge.draw(tab);
-       }
-       /**
-        * Gets the dimensions (width and height) of a tab
-        * @param tab the tab we want to get the dimensions of
-        * @return the dimensions of the tab
-        */
-       public static Size getDims(Tab tab) {
-               return ScilabTabBridge.getDims(tab);
-       }
-       /**
-        * Sets the dimensions (width and height) of a tab
-        * @param tab the tab we want to set the dimensions of
-        * @param newTabSize new dimensions of the tab
-        */
-       public static void setDims(Tab tab, Size newTabSize) {
-               ScilabTabBridge.setDims(tab, newTabSize);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a tab
-        * @param tab the tab we want to get the position of
-        * @return position of the tab
-        */
-       public static Position getPosition(Tab tab) {
-               return ScilabTabBridge.getPosition(tab);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a tab
-        * @param tab the tab we want to set the position of
-        * @param newTabPosition new position of the tab
-        */
-       public static void setPosition(Tab tab, Position newTabPosition) {
-               ScilabTabBridge.setPosition(tab, newTabPosition);
-       }
-       /**
-        * Gets the Name of a tab
-        * @param tab the tab we want to get the Name of
-        * @return the Name of the tab
-        */
-       public static String getName(Tab tab) {
-               return ScilabTabBridge.getName(tab);
-       }
-       /**
-        * Sets the name of a tab
-        * @param tab the tab we want to set the name of
-        * @param newTabName the name to set for the tab
-        */
-       public static void setName(Tab tab, String newTabName) {
-               ScilabTabBridge.setName(tab, newTabName);
-       }
-       /**
-        * Gets the visibility status of a tab
-        * @param tab the tab we want to get the status of
-        * @return visibility status (true if the tab is visible, false if not)
-        */
-       public static boolean isVisible(Tab tab) {
-               return ScilabTabBridge.isVisible(tab);
-       }
-       /**
-        * Sets the visibility status of a tab
-        * @param tab the tab we want to set the visibility status of
-        * @param newVisibleState new visibility status for the tab
-        *                      (true set the tab visible, false to set the tab invisible)
-        */
-       public static void setVisible(Tab tab, boolean newVisibleState) {
-               ScilabTabBridge.setVisible(tab, newVisibleState);
-       }
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab where we want to add the member
-        * @param member the member to add
-        * @return index of member
-        */
-       public static int addMember(Tab tab, Frame member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       /**
-        * Remove a Frame member from a tab
-        * @param tab the tab which we want to remove the Frame from
-        * @param member the Frame to remove
-        */
-       public static void removeMember(Tab tab, Frame member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab where we want to add the member
-        * @param member the member to add
-        * @return index of member
-        */
-       public static int addMember(Tab tab, Console member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       /**
-        * We want to be able to add directly a HelpBrowser in a Tab.
-        * @param tab the tab where we want to add the member
-        * @param member the member to add
-        * @return the position of the HelpBrowser in the member list.
-        */
-       public static int addMember(Tab tab, HelpBrowser member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab where we want to add the member
-        * @param member the member to add
-        * @return index of member
-        */
-       public static int addMember(Tab tab, Canvas member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Sets a MenuBar to a tab
-        * @param tab the tab which we want to add the MenuBar to
-        * @param newMenuBar the MenuBar to add to the tab
-        */
-       public static void addMenuBar(Tab tab, MenuBar newMenuBar) {
-               ScilabTabBridge.addMenuBar(tab, newMenuBar);
-       }
-       
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab which we want to add the Tree Overview to
-        * @param member the Tree Overview to add
-        * @return the position of the Tree Overview in the member list.
-        */
-       public static int addMember(Tab tab, Tree member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab which we want to add the pushbutton to
-        * @param member the pushbutton to add
-        * @return the position of the pushbutton in the member list.
-        */
-       public static int addMember(Tab tab, PushButton member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Remove a PushButton member from a tab
-        * @param tab the tab which we want to remove the PushButton from
-        * @param member the PushButton to remove
-        */
-       public static void removeMember(Tab tab, PushButton member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab which we want to add the EditBox to
-        * @param member the editbox to add
-        * @return the position of the editbox in the member list.
-        */
-       public static int addMember(Tab tab, EditBox member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Remove an EditBox member from a tab
-        * @param tab the tab which we want to remove the EditBox from
-        * @param member the EditBox to remove
-        */
-       public static void removeMember(Tab tab, EditBox member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab which we want to add the Label to
-        * @param member the label to add
-        * @return the position of the label in the member list.
-        */
-       public static int addMember(Tab tab, Label member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Remove a Label member from a tab
-        * @param tab the tab which we want to remove the Label from
-        * @param member the Label to remove
-        */
-       public static void removeMember(Tab tab, Label member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab which we want to add the CheckBox to
-        * @param member the checkbox to add
-        * @return the position of the checkbox in the member list.
-        */
-       public static int addMember(Tab tab, CheckBox member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Remove a CheckBox member from a tab
-        * @param tab the tab which we want to remove the CheckBox from
-        * @param member the CheckBox to remove
-        */
-       public static void removeMember(Tab tab, CheckBox member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab which we want to add the RadioButton to
-        * @param member the RadioButton to add
-        * @return the position of the RadioButton in the member list.
-        */
-       public static int addMember(Tab tab, RadioButton member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Remove a RadioButton member from a tab
-        * @param tab the tab which we want to remove the RadioButton from
-        * @param member the RadioButton to remove
-        */
-       public static void removeMember(Tab tab, RadioButton member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab which we want to add the ImageRenderer to
-        * @param member the ImageRenderer to add
-        * @return the position of the ImageRenderer in the member list.
-        */
-       public static int addMember(Tab tab, ImageRenderer member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Remove a ImageRenderer member from a tab
-        * @param tab the tab which we want to remove the ImageRenderer from
-        * @param member the ImageRenderer to remove
-        */
-       public static void removeMember(Tab tab, ImageRenderer member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab which we want to add the UiTable to
-        * @param member the UiTable to add
-        * @return the position of the UiTable in the member list.
-        */
-       public static int addMember(Tab tab, UiTable member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Remove a UiTable member from a tab
-        * @param tab the tab which we want to remove the UiTable from
-        * @param member the UiTable to remove
-        */
-       public static void removeMember(Tab tab, UiTable member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }       
-       public static int addMember(Tab tab, UiDisplayTree member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       public static void removeMember(Tab tab, UiDisplayTree member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab which we want to add the Slider to
-        * @param member the Slider to add
-        * @return the position of the Slider in the member list.
-        */
-       public static int addMember(Tab tab, Slider member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Remove a Slider member from a tab
-        * @param tab the tab which we want to remove the Slider from
-        * @param member the Slider to remove
-        */
-       public static void removeMember(Tab tab, Slider member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab which we want to add the ListBox to
-        * @param member the ListBox to add
-        * @return the position of the ListBox in the member list.
-        */
-       public static int addMember(Tab tab, ListBox member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Remove a ListBox member from a tab
-        * @param tab the tab which we want to remove the ListBox from
-        * @param member the ListBox to remove
-        */
-       public static void removeMember(Tab tab, ListBox member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       
-       /**
-        * Add a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab which we want to add the PopupMenu to
-        * @param member the PopupMenu to add
-        * @return the position of the PopupMenu in the member list.
-        */
-       public static int addMember(Tab tab, PopupMenu member) {
-               return ScilabTabBridge.addMember(tab, member);
-       }
-       
-       /**
-        * Remove a PopupMenu member from a tab
-        * @param tab the tab which we want to remove the PopupMenu from
-        * @param member the PopupMenu to remove
-        */
-       public static void removeMember(Tab tab, PopupMenu member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       
-       /**
-        * Remove a member (dockable element) to a tab and returns the index of this member
-        * @param tab the tab where we want to add the member
-        * @param member the member to add
-        */
-       public static void removeMember(Tab tab, Canvas member) {
-               ScilabTabBridge.removeMember(tab, member);
-       }
-       
-       /**
-        * Get the current status of the Tab in its parent
-        * @param tab the tab we want to get the status of
-        * @return true is the tab is the tab currently displayed in its parent
-        */
-       public static boolean isCurrentTab(Tab tab) {
-               return ScilabTabBridge.isCurrentTab(tab);
-       }
-       /**
-        * Set the parent window id for this tab
-        * @param tab the tab we want to set the parent window id of
-        * @param id the id of the parent window
-        */
-       public static void setParentWindowId(Tab tab, int id) {
-               ScilabTabBridge.setParentWindowId(tab, id);
-       }
-       
-       /**
-        * Get the parent window id for this tab
-        * @param tab the tab we want to get the parent window id of
-        * @return the id of the parent window
-        */
-       public static int getParentWindowId(Tab tab) {
-               return ScilabTabBridge.getParentWindowId(tab);
-       }
-       
-       /**
-        * Set the callback of the tab
-        * @param tab the tab which we want to set the callback of
-        * @param callback the CallBack to set
-        */
-       public static void setCallback(Tab tab, CommonCallBack callback) {
-               ScilabTabBridge.setCallback(tab, callback);
-       }
-       
-       /**
-        * Set this tab as the current tab of its parent Window
-        * @param tab the tab
-        */
-       public static void setCurrent(Tab tab) {
-               ScilabTabBridge.setCurrent(tab);
-       }
-       
-       /**
-        * Set the background color of a tab.
-        * @param tab tab to modify
-        * @param red red channel of the color
-        * @param green green channel
-        * @param blue blue channel
-        */
-       public static void setBackground(Tab tab, double red, double green, double blue) {
-               ScilabTabBridge.setBackground(tab, red, green, blue);
-       }
-       
-       /**
-         * Specify whether the canvas should fit the parent tab size
-         * (and consequently the scrollpane size) or not
-         * @param tab tab to modify
-         * @param onOrOff true to enable autoresize mode
-         */
-        public static void setAutoResizeMode(Tab tab, boolean onOrOff) {
-                ScilabTabBridge.setAutoResizeMode(tab, onOrOff);
-        }
-        /**
-         * @param tab tab to modify
-         * @return whether the resize mode is on or off
-         */
-        public static boolean getAutoResizeMode(Tab tab) {
-                return ScilabTabBridge.getAutoResizeMode(tab);
-        }
-        
-        /**
-         * Get the part of the axes which is currently viewed
-         * @param tab tab to modify
-         * @return [x,y,w,h] array
-         */
-        public static int[] getViewingRegion(Tab tab) {
-                return ScilabTabBridge.getViewingRegion(tab);
-        }
-        
-        /**
-         * Specify a new viewport for the axes
-         * Only works if autoresize mode is off
-         * @param tab tab to modify
-         * @param posX X coordinate of upper left point of the viewport within the canvas
-         * @param posY Y coordinate of upper left point of the viewport within the canvas
-         * @param width width of the viewport
-         * @param height height of the viewport
-         */
-        public static void setViewingRegion(Tab tab, int posX, int posY, int width, int height) {
-                ScilabTabBridge.setViewingRegion(tab, posX, posY, width, height);
-        }
-        
-        
-        /**
-         * @param tab tab to modify
-         * @return size of the axes in pixels
-         */
-        public static Size getAxesSize(Tab tab) {
-                return ScilabTabBridge.getAxesSize(tab);
-        }
-        
-        
-        /**
-         * @param tab tab to modify
-         * @param newSize set a new axes size
-         */
-        public static void setAxesSize(Tab tab, Size newSize) {
-                ScilabTabBridge.setAxesSize(tab, newSize);
-        }
-        
-        /**
-         * Set the event handler of the Axes
-         * @param tab tab to modify
-         * @param command the name of the Scilab function to call
-         */
-        public static void setEventHandler(Tab tab, String command) {
-                ScilabTabBridge.setEventHandler(tab, command);
-        }
-        /**
-         * Set the status of the event handler of the Axes
-         * @param tab tab to modify
-         * @param status is true to set the event handler active
-         */
-        public static void setEventHandlerEnabled(Tab tab, boolean status) {
-                ScilabTabBridge.setEventHandlerEnabled(tab, status);
-        }
-        
-        
-       /******************/
-       /* Console Bridge */
-       /******************/
-       /**
-        * Creates a Scilab Console
-        * @return the created console
-        */
-       public static SimpleConsole createConsole() {
-               return ScilabConsoleBridge.createConsole();
-       }
-       /**
-        * Displays data in the console
-        * @param console the console to display the data in
-        * @param dataToDisplay the data to be displayed
-        * @see org.scilab.modules.console.HelpBrowser#display()
-        */
-       public static void display(Console console, String dataToDisplay) {
-               ScilabConsoleBridge.display(console, dataToDisplay);
-       }
-       /**
-        * Reads input data in the console
-        * @param console the console to read the data from
-        * @return the data entered by the user
-        * @see org.scilab.modules.console.HelpBrowser#readLine()
-        */
-       public static String readLine(Console console) {
-               return ScilabConsoleBridge.readLine(console);
-       }
-       /**
-        * Draw a console
-        * @param console the console to draw
-        * @see org.scilab.modules.ihm.UIElement#draw()
-        */
-       public static void draw(Console console) {
-               ScilabConsoleBridge.draw(console);
-       }
-       /**
-        * Gets the dimensions (width and height) of a Scilab console
-        * @param console the console which we want to get the dimensions of
-        * @return the size of the console
-        * @see org.scilab.modules.ihm.UIElement#getDims()
-        */
-       public static Size getDims(Console console) {
-               return ScilabConsoleBridge.getDims(console);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinates) of a Scilab console
-        * @param console the console which we want to get the position of
-        * @return the position of the console
-        * @see org.scilab.modules.ihm.UIElement#getPosition()
-        */
-       public static Position getPosition(Console console) {
-               return ScilabConsoleBridge.getPosition(console);
-       }
-       /**
-        * Gets the visibility status of a console
-        * @param console the console which we want to get the visibility status of
-        * @return the visibility status of the console (true if the console is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(Console console) {
-               return ScilabConsoleBridge.isVisible(console);
-       }
-       /**
-        * Sets the visibility status of a console
-        * @param console the console which we want to get the visibility status of
-        * @param newVisibleState the visibility status we want to set to the console (true to set the console visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static void setVisible(Console console, boolean newVisibleState) {
-               ScilabConsoleBridge.setVisible(console, newVisibleState);
-       }
-       
-       /**
-        * Sets the dimensions (width and height) of a Scilab console
-        * @param console the console which we want to set the dimensions of
-        * @param newSize the size we want to set to the console
-        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
-        */
-       public static void setDims(Console console, Size newSize) {
-               ScilabConsoleBridge.setDims(console, newSize);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a Scilab console
-        * @param console the console which we want to set the position of
-        * @param newPosition the position we want to set to the console
-        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
-        */
-       public static void setPosition(Console console, Position newPosition) {
-               ScilabConsoleBridge.setPosition(console, newPosition);
-       }
-       /**
-        * Sets the visibility status of a Scilab console
-        * @param console the console which we want to set the visibility status of
-        * @param newVisibleState the visibility status we want to set to the console
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setPosition(Console console, boolean newVisibleState) {
-               ScilabConsoleBridge.setVisible(console, newVisibleState);
-       }
-       /**
-        * Clears the console (no more scroll history and prompt on top left corner)
-        * @param console the console to be cleared
-        */
-       public static void clear(Console console) {
-               ScilabConsoleBridge.clear(console);
-       }
-       
-       /**
-    * Clears lines from the end of the output view
-    * @param console the console to be cleared
-    * @param nbLines the number of lines to be deleted
-    */
-   public static void clear(Console console, int nbLines) {
-               ScilabConsoleBridge.clear(console, nbLines);
-       }
-       
-       /**
-    * Puts the prompt in the top left corner of the console
-    * @param console the console used
-    */
-   public static void toHome(Console console) {
-       ScilabConsoleBridge.toHome(console);
-   }
-       
-       /**
-        * Reads one user input char
-        * @param console the console used to get the char
-        * @return the data entered by the user
-        * @see fr.scilab.console.HelpBrowser#getCharWithoutOutput()
-        */
-       public static int getCharWithoutOutput(Console console) {
-               return ScilabConsoleBridge.getCharWithoutOutput(console);
-       }
-       /**
-          * Sets the prompt displayed in the console
-          * @param console the console where the prompt is set
-          * @param prompt the prompt to be displayed in the console
-          */
-       public static void setPrompt(Console console, String prompt) {
-               ScilabConsoleBridge.setPrompt(console, prompt);
-       }
-       
-       /**
-        * Updates Scilab internal variables containing the size of the console
-        * These variables are used to format data before displaying it
-        * @param console object we want to get the size of
-        */
-       public static void scilabLinesUpdate(Console console) {
-               ScilabConsoleBridge.scilabLinesUpdate(console);
-       }
-       /**
-        * Get the current status of the console
-        * If the prompt view is visible, Scilab is waiting for commands
-        * @param console object we want to get the status of
-        * @return true is Scilab is waiting for commands
-        */
-       public static boolean isWaitingForInput(Console console) {
-               return ScilabConsoleBridge.isWaitingForInput(console);
-       }
-       /**
-        * Clear the commands history
-        * @param console the console we want to clear the history of 
-        */
-       public static void clearHistory(Console console) {
-               ScilabConsoleBridge.clearHistory(console);
-       }
-       
-       /**
-        * Select all the console contents
-        * @param console the console 
-        */
-       public static void selectAll(Console console) {
-               ScilabConsoleBridge.selectAll(console);
-       }
-       
-       /**
-        * Put the console selected text in the clipboard
-        * @param console the console 
-        */
-       public static void copyToClipboard(Console console) {
-               ScilabConsoleBridge.copyToClipboard(console);
-       }
-       
-       /**
-        * Paste clipboard contents in Console input line
-        * @param console the console 
-        */
-       public static void pasteClipboard(Console console) {
-               ScilabConsoleBridge.pasteClipboard(console);
-       }
-       /**
-        * Cut selected text in the Console input line
-        * @param console the console 
-        */
-       public static void cutSelection(Console console) {
-               ScilabConsoleBridge.cutSelection(console);
-       }
-       
-       /**
-        * Set the font of the Console
-        * @param console the console
-        * @param font the font to set
-        */
-       public static void setFont(Console console, Font font) {
-               ScilabConsoleBridge.setFont(console, font);
-       }
-       /**
-        * Get the font of the Console
-        * @param console the console
-        * @return the font
-        */
-       public static Font getFont(Console console) {
-               return ScilabConsoleBridge.getFont(console);
-       }
-       /**
-        * Get the Foreground Color of the Console
-        * @param console the console
-        * @return the Foreground Color
-        */
-       public static Color getForeground(Console console) {
-               return ScilabConsoleBridge.getForeground(console);
-       }
-       
-       /**
-        * Get the Background Color of the Console
-        * @param console the console
-        * @return the Background Color
-        */
-       public static Color getBackground(Console console) {
-               return ScilabConsoleBridge.getBackground(console);
-       }
-       /**
-        * Set the Foreground Color of the Console
-        * @param console the console
-        * @param color the Foreground Color
-        */
-       public static void setForeground(Console console, Color color) {
-               ScilabConsoleBridge.setForeground(console, color);
-       }
-       
-       /**
-        * Set the Background Color of the Console
-        * @param console the console
-        * @param color the Background Color
-        */
-       public static void setBackground(Console console, Color color) {
-               ScilabConsoleBridge.setBackground(console, color);
-       }
-       /**
-        * Set the maximum number of lines stored in the Output
-        * @param console the console
-        * @param nbLines the number of lines 
-        */
-       public static void setMaxOutputSize(Console console, int nbLines) {
-               ScilabConsoleBridge.setMaxOutputSize(console, nbLines);
-       }
-       
-       /**
-        * Set the cursor pointer over the Console
-        * @param console the console
-        * @param cursor the Cursor to set
-        */
-       public static void setCursor(Console console, Cursor cursor) {
-               ScilabConsoleBridge.setCursor(console, cursor);
-       }
-       /*****************/
-       /* Canvas Bridge */
-       /*****************/
-       /**
-        * Creates a Scilab Canvas
-        * @param figureIndex index of the displayed figure
-        * @param antialiasingQuality Specify the number of pass to use for antialiasing.
+     /**
+      * Constructor for ScilabBridge class
+      */
+     protected ScilabBridge() {
+         throw new UnsupportedOperationException(); /* Prevents calls from subclass */
+     }
+     /*****************/
+     /* Window Bridge */
+     /*****************/
+     /**
+      * Creates a new window
+      * @return the created window
+      */
+     public static SimpleWindow createWindow() {
+         return ScilabWindowBridge.createWindow();
+     }
+     /**
+      * Draws a window on screen
+      * @param window the window to be drawn
+      */
+     public static void draw(Window window) {
+         ScilabWindowBridge.draw(window);
+     }
+     /**
+      * Deiconify the window and put it in front of other window
+      * @param window the window to raise
+      */
+     public static void raise(Window window) {
+         ScilabWindowBridge.raise(window);
+     }
+     /**
+      * Gets the dimensions (width and height) of a window
+      * @param window the window we want to get the dimensions of
+      * @return dimensions of the window
+      */
+     public static Size getDims(Window window) {
+         return ScilabWindowBridge.getDims(window);
+     }
+     /**
+      * Sets the dimensions (width and height) of a window
+      * @param window the window we want to set the dimensions of
+      * @param newWindowSize new dimensions of the window
+      */
+     public static void setDims(Window window, Size newWindowSize) {
+         ScilabWindowBridge.setDims(window, newWindowSize);
+     }
+     /**
+      * Gets the position (X-coordinate and Y-coordinate) of a window
+      * @param window the window we want to get the position of
+      * @return position of the window
+      */
+     public static Position getPosition(Window window) {
+         return ScilabWindowBridge.getPosition(window);
+     }
+     /**
+      * Sets the position (X-coordinate and Y-coordinate) of a window
+      * @param window the window we want to set the position of
+      * @param newWindowPosition new position of the window
+      */
+     public static void setPosition(Window window, Position newWindowPosition) {
+         ScilabWindowBridge.setPosition(window, newWindowPosition);
+     }
+     /**
+      * Gets the title of a window
+      * @param window the window we want to get the title of
+      * @return the title of the window
+      */
+     public static String getTitle(Window window) {
+         return ScilabWindowBridge.getTitle(window);
+     }
+     /**
+      * Sets the title of a window
+      * @param window the window we want to set the title of
+      * @param newWindowTitle the title to set for the window
+      */
+     public static void setTitle(Window window, String newWindowTitle) {
+         ScilabWindowBridge.setTitle(window, newWindowTitle);
+     }
+     /**
+      * Gets the visibility status of a window
+      * @param window the window we want to get the status of
+      * @return visibility status (true if the window is visible, false if not)
+      */
+     public static boolean isVisible(Window window) {
+         return ScilabWindowBridge.isVisible(window);
+     }
+     /**
+      * Sets the visibility status for a window
+      * @param window the window we want to set the visibility status of
+      * @param newVisibleState new visibility status for the window
 -     *                  (true set the window visible, false to set the window invisible)
++     *                        (true set the window visible, false to set the window invisible)
+      */
+     public static void setVisible(Window window, boolean newVisibleState) {
+         ScilabWindowBridge.setVisible(window, newVisibleState);
+     }
+     /**
+      * Add a tab to a window
+      * @param window the window which we want to add the tab to
+      * @param newTab the tab to add to the window
+      */
+     public static void addTab(Window window, Tab newTab) {
+         ScilabWindowBridge.addTab(window, newTab);
+     }
+     /**
+      * Add a tab to a window
+      * @param window the window which we want to remove the tab from
+      * @param newTab the tab to add to the window
+      */
+     public static void removeTab(Window window, Tab newTab) {
+         ScilabWindowBridge.removeTab(window, newTab);
+     }
+     /**
+      * Sets a MenuBar to a window
+      * @param window the window which we want to add the MeunBar to
+      * @param newMenuBar the MeunBar to add to the window
+      */
+     public static void addMenuBar(Window window, MenuBar newMenuBar) {
+         ScilabWindowBridge.addMenuBar(window, newMenuBar);
+     }
+     /**
+      * Sets a ToolBar to a window
+      * @param window the window which we want to add the ToolBar to
+      * @param newToolBar the ToolBar to add to the window
+      */
+     public static void addToolBar(Window window, ToolBar newToolBar) {
+         ScilabWindowBridge.addToolBar(window, newToolBar);
+     }
+     /**
+      * Sets a InfoBar to a window
+      * @param window the window which we want to add the InfoBar to
+      * @param newInfoBar the InfoBar to add to the window
+      */
+     public static void addInfoBar(Window window, TextBox newInfoBar) {
+         ScilabWindowBridge.addInfoBar(window, newInfoBar);
+     }
+     /**
+      * @param window window from which we want the information
+      * @return number of objects (tabs) docked in this window
+      */
+     public static int getNbDockedObjects(Window window) {
+         return ScilabWindowBridge.getNbDockedObjects(window);
+     }
+     /**
+      * Update the dimension of the window and its component.
+      * Only useful when the window is not yet visible
+      * @param window window to update
+      */
+     public static void updateDimensions(Window window) {
+         ScilabWindowBridge.updateDimensions(window);
+     }
+     /**
+      * DeIconify Window
 -     * @param window window to update
++     * @param window window to update 
+      */
+     public static void windowDeiconified(Window window) {
+         ScilabWindowBridge.windowDeiconified(window);
+     }
+     /**
+      * Iconify Window
 -     * @param window window to update
++     * @param window window to update 
+      */
+     public static void windowIconified(Window window) {
+         ScilabWindowBridge.windowIconified(window);
+     }
+     /**
+      * Maximized Window
 -     * @param window window to update
++     * @param window window to update 
+      */
+     public static void windowMaximized(Window window) {
+         ScilabWindowBridge.windowMaximized(window);
+     }
+     /**
+      * Window is in the "normal" state.
 -     * @param window window to update
++     * @param window window to update         
+      */
+     public static void windowNormal(Window window) {
+         ScilabWindowBridge.windowNormal(window);
+     }
+     /*****************/
+     /* ToolBar Bridge */
+     /*****************/
+     /**
+      * Creates a new ToolBar
+      * @return the created ToolBar
+      */
+     public static SimpleToolBar createToolBar() {
+         return ScilabToolBarBridge.createToolBar();
+     }
+     /**
+      * Add a PushButton to the ToolBar.
+      * @param toolBar the toolBar which we want to add the PushButton to
+      * @param pushButton the PushButton to add.
+      */
+     public static void add(ToolBar toolBar, PushButton pushButton) {
+         ScilabToolBarBridge.add(toolBar, pushButton);
+     }
+     /**
+      * Add a Separator to a Toolbar
+      * @param toolbar the Toolbar which we want to add the Separator to
+      */
+     public static void addSeparator(ToolBar toolbar) {
+         ScilabToolBarBridge.addSeparator(toolbar);
+     }
+     /**
+      * Set the visibility of the Toolbar
+      * @param toolbar the ToolBar
+      * @param newVisibleState true to set the toolbar visible
+      */
+     public static void setVisible(ToolBar toolbar, boolean newVisibleState) {
+         ScilabToolBarBridge.setVisible(toolbar, newVisibleState);
+     }
+     /**
+      * Get the visibility of the TooBar
+      * @param toolbar the ToolBar
+      * @return true if the ToolBar is Visible
+      */
+     public static boolean isVisible(ToolBar toolbar) {
+         return ScilabToolBarBridge.isVisible(toolbar);
+     }
+     /****************/
+     /* Frame Bridge */
+     /****************/
+     /**
+      * Creates a new Frame
+      * @return the created Frame
+      */
+     public static SimpleFrame createFrame() {
+         return ScilabFrameBridge.createFrame();
+     }
+     /**
+      * Sets the Text of a Frame
+      * @param frame the Frame we want to set the Text of
+      * @param newText the Text to set for the Frame
+      */
+     public static void setText(Frame frame, String newText) {
+         ScilabFrameBridge.setText(frame, newText);
+     }
+     /**
+      * Gets the text of an Frame
+      * @param frame the Frame we want to get the text of
+      * @return the text of the Frame
+      */
+     public static String getText(Frame frame) {
+         return ScilabFrameBridge.getText(frame);
+     }
+     /**
+      * Draws a Scilab Frame
+      * @param frame the Frame to draw
+      * @see org.scilab.modules.ihm.UIElement#draw()
+      */
+     public static void draw(Frame frame) {
+         ScilabFrameBridge.draw(frame);
+     }
+     /**
+      * Gets the dimensions (width and height) of a Scilab Frame
+      * @param frame the Frame we want to get the dimensions of
+      * @return the size of the frame
+      * @see org.scilab.modules.ihm.UIElement#getDims()
+      */
+     public static Size getDims(Frame frame) {
+         return ScilabFrameBridge.getDims(frame);
+     }
+     /**
+      * Gets the position (X-coordinate and Y-coordinate) of a Scilab frame
+      * @param frame the frame we want to get the position of
+      * @return the position of the frame
+      * @see org.scilab.modules.ihm.UIElement#getPosition()
+      */
+     public static Position getPosition(Frame frame) {
+         return ScilabFrameBridge.getPosition(frame);
+     }
+     /**
+      * Gets the visibility status of a Scilab Frame
+      * @param frame the frame we want to get the visiblity status of
+      * @return the visibility status of the frame (true if the frame is visible, false if not)
+      * @see org.scilab.modules.ihm.UIElement#isVisible()
+      */
+     public static boolean isVisible(Frame frame) {
+         return ScilabFrameBridge.isVisible(frame);
+     }
+     /**
+      * Sets the dimensions (width and height) of a Scilab Frame
+      * @param frame the frame we want to set the dimensions of
+      * @param newSize the size we want to set to the frame
+      * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
+      */
+     public static void setDims(Frame frame, Size newSize) {
+         ScilabFrameBridge.setDims(frame, newSize);
+     }
+     /**
+      * Sets the position (X-coordinate and Y-coordinate) of a Scilab frame
+      * @param frame the frame we want to set the position of
+      * @param newPosition the position we want to set to the frame
+      * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
+      */
+     public static void setPosition(Frame frame, Position newPosition) {
+         ScilabFrameBridge.setPosition(frame, newPosition);
+     }
+     /**
+      * Sets the visibility status of a Scilab Frame
+      * @param frame the frame we want to set the visiblity status of
+      * @param newVisibleState the visibility status we want to set to the frame (true to set the frame visible, false else)
+      * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
+      */
+     public static void setVisible(Frame frame, boolean newVisibleState) {
+         ScilabFrameBridge.setVisible(frame, newVisibleState);
+     }
+     /**
+      * Set the Background color of the Frame
+      * @param frame the Frame we want to set the background of
+      * @param color the Color
+      */
+     public static void setBackground(Frame frame, Color color) {
+         ScilabFrameBridge.setBackground(frame, color);
+     }
+     /**
+      * Get the Background color of the Frame
+      * @param frame the Frame we want to get the background of
+      * @return the Color
+      */
+     public static Color getBackground(Frame frame) {
+         return ScilabFrameBridge.getBackground(frame);
+     }
+     /**
+      * Set the Foreground color of the Frame
+      * @param frame the Frame we want to set the foreground of
+      * @param color the Color
+      */
+     public static void setForeground(Frame frame, Color color) {
+         ScilabFrameBridge.setForeground(frame, color);
+     }
+     /**
+      * Get the Foreground color of the Frame
+      * @param frame the Frame we want to get the foreground of
+      * @return the Color
+      */
+     public static Color getForeground(Frame frame) {
+         return ScilabFrameBridge.getForeground(frame);
+     }
+     /**
+      * Set the font of the Frame.
+      * @param frame the Frame we want to set the font of
+      * @param font the font
+      */
+     public static void setFont(Frame frame, Font font) {
+         ScilabFrameBridge.setFont(frame, font);
+     }
+     /**
+      * Get the font of the Frame.
+      * @param frame the Frame we want to get the font of
+      * @return the font
+      */
+     public static Font getFont(Frame frame) {
+         return ScilabFrameBridge.getFont(frame);
+     }
+     /**
+      * Set if the Frame is enabled or not
+      * @param frame the Frame we want to set the status of
+      * @param status true if the Frame is enabled
+      */
+     public static void setEnabled(Frame frame, boolean status) {
+         ScilabFrameBridge.setEnabled(frame, status);
+     }
+     /**
+      * Gets the enable status of the Frame
+      * @param frame the Frame we want to get the status of
+      * @return the enable status of the Frame (true if the Frame is enabled, false if not)
+      */
+     public static boolean isEnabled(Frame frame) {
+         return ScilabFrameBridge.isEnabled(frame);
+     }
+     /**
+      * Add a callback to the Frame
+      * @param frame the Frame we want to set the callback of
+      * @param callback the callback to set
+      */
 -    public static void setCallback(Frame frame, CallBack callback) {
++    public static void setCallback(Frame frame, CommonCallBack callback) {
+         ScilabFrameBridge.setCallback(frame, callback);
+     }
+     /**
+      * Set the Relief of the Frame
+      * @param frame the Frame we want to set the Relief of
+      * @param reliefType the type of the relief to set (See ScilabRelief.java)
+      */
+     public static void setRelief(Frame frame, String reliefType) {
+         ScilabFrameBridge.setRelief(frame, reliefType);
+     }
+     /**
+      * Delete the Frame
+      * @param frame the Frame to be destroyed
+      */
+     public static void destroy(Frame frame) {
+         ScilabFrameBridge.destroy(frame);
+     }
+     /**
+      * Give the focus to the Frame
+      * @param frame the Frame
+      */
+     public static void requestFocus(Frame frame) {
+         ScilabFrameBridge.requestFocus(frame);
+     }
+     /**************/
+     /* Tab Bridge */
+     /**************/
+     /**
+      * Creates a Scilab tab
+      * @param name the name of the tab (used to identify it)
+      * @return the created tab
+      */
+     public static SimpleTab createTab(String name) {
+         return ScilabTabBridge.createTab(name);
+     }
+     /**
+      * Creates a Scilab tab
+      * @param name the name of the tab
+      * @param uuid an uuid to identify the tab
+      * @return the created tab
+      */
+     public static SimpleTab createTab(String name, String uuid) {
+         return ScilabTabBridge.createTab(name, uuid);
+     }
+     /**
+      * Creates a Scilab tab able to create graphics
+      * @param name the name of the tab (used to identify it)
+      * @param figureId index of the created figure
+      * @return the created tab
+      */
+     public static SimpleTab createTab(String name, int figureId) {
+         return ScilabTabBridge.createTab(name, figureId);
+     }
+     /**
+      * Draws a tab on screen
+      * @param tab the tab to be drawn
+      */
+     public static void draw(Tab tab) {
+         ScilabTabBridge.draw(tab);
+     }
+     /**
+      * Gets the dimensions (width and height) of a tab
+      * @param tab the tab we want to get the dimensions of
+      * @return the dimensions of the tab
+      */
+     public static Size getDims(Tab tab) {
+         return ScilabTabBridge.getDims(tab);
+     }
+     /**
+      * Sets the dimensions (width and height) of a tab
+      * @param tab the tab we want to set the dimensions of
+      * @param newTabSize new dimensions of the tab
+      */
+     public static void setDims(Tab tab, Size newTabSize) {
+         ScilabTabBridge.setDims(tab, newTabSize);
+     }
+     /**
+      * Gets the position (X-coordinate and Y-coordinate) of a tab
+      * @param tab the tab we want to get the position of
+      * @return position of the tab
+      */
+     public static Position getPosition(Tab tab) {
+         return ScilabTabBridge.getPosition(tab);
+     }
+     /**
+      * Sets the position (X-coordinate and Y-coordinate) of a tab
+      * @param tab the tab we want to set the position of
+      * @param newTabPosition new position of the tab
+      */
+     public static void setPosition(Tab tab, Position newTabPosition) {
+         ScilabTabBridge.setPosition(tab, newTabPosition);
+     }
+     /**
+      * Gets the Name of a tab
+      * @param tab the tab we want to get the Name of
+      * @return the Name of the tab
+      */
+     public static String getName(Tab tab) {
+         return ScilabTabBridge.getName(tab);
+     }
+     /**
+      * Sets the name of a tab
+      * @param tab the tab we want to set the name of
+      * @param newTabName the name to set for the tab
+      */
+     public static void setName(Tab tab, String newTabName) {
+         ScilabTabBridge.setName(tab, newTabName);
+     }
+     /**
+      * Gets the visibility status of a tab
+      * @param tab the tab we want to get the status of
+      * @return visibility status (true if the tab is visible, false if not)
+      */
+     public static boolean isVisible(Tab tab) {
+         return ScilabTabBridge.isVisible(tab);
+     }
+     /**
+      * Sets the visibility status of a tab
+      * @param tab the tab we want to set the visibility status of
+      * @param newVisibleState new visibility status for the tab
 -     *                  (true set the tab visible, false to set the tab invisible)
++     *                        (true set the tab visible, false to set the tab invisible)
+      */
+     public static void setVisible(Tab tab, boolean newVisibleState) {
+         ScilabTabBridge.setVisible(tab, newVisibleState);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab where we want to add the member
+      * @param member the member to add
+      * @return index of member
+      */
+     public static int addMember(Tab tab, Frame member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Remove a Frame member from a tab
+      * @param tab the tab which we want to remove the Frame from
+      * @param member the Frame to remove
+      */
+     public static void removeMember(Tab tab, Frame member) {
+         ScilabTabBridge.removeMember(tab, member);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab where we want to add the member
+      * @param member the member to add
+      * @return index of member
+      */
+     public static int addMember(Tab tab, Console member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * We want to be able to add directly a HelpBrowser in a Tab.
+      * @param tab the tab where we want to add the member
+      * @param member the member to add
+      * @return the position of the HelpBrowser in the member list.
+      */
+     public static int addMember(Tab tab, HelpBrowser member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab where we want to add the member
+      * @param member the member to add
+      * @return index of member
+      */
+     public static int addMember(Tab tab, Canvas member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Sets a MenuBar to a tab
+      * @param tab the tab which we want to add the MenuBar to
+      * @param newMenuBar the MenuBar to add to the tab
+      */
+     public static void addMenuBar(Tab tab, MenuBar newMenuBar) {
+         ScilabTabBridge.addMenuBar(tab, newMenuBar);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab which we want to add the Tree Overview to
+      * @param member the Tree Overview to add
+      * @return the position of the Tree Overview in the member list.
+      */
+     public static int addMember(Tab tab, Tree member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab which we want to add the pushbutton to
+      * @param member the pushbutton to add
+      * @return the position of the pushbutton in the member list.
+      */
+     public static int addMember(Tab tab, PushButton member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Remove a PushButton member from a tab
+      * @param tab the tab which we want to remove the PushButton from
+      * @param member the PushButton to remove
+      */
+     public static void removeMember(Tab tab, PushButton member) {
+         ScilabTabBridge.removeMember(tab, member);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab which we want to add the EditBox to
+      * @param member the editbox to add
+      * @return the position of the editbox in the member list.
+      */
+     public static int addMember(Tab tab, EditBox member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Remove an EditBox member from a tab
+      * @param tab the tab which we want to remove the EditBox from
+      * @param member the EditBox to remove
+      */
+     public static void removeMember(Tab tab, EditBox member) {
+         ScilabTabBridge.removeMember(tab, member);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab which we want to add the Label to
+      * @param member the label to add
+      * @return the position of the label in the member list.
+      */
+     public static int addMember(Tab tab, Label member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Remove a Label member from a tab
+      * @param tab the tab which we want to remove the Label from
+      * @param member the Label to remove
+      */
+     public static void removeMember(Tab tab, Label member) {
+         ScilabTabBridge.removeMember(tab, member);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab which we want to add the CheckBox to
+      * @param member the checkbox to add
+      * @return the position of the checkbox in the member list.
+      */
+     public static int addMember(Tab tab, CheckBox member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Remove a CheckBox member from a tab
+      * @param tab the tab which we want to remove the CheckBox from
+      * @param member the CheckBox to remove
+      */
+     public static void removeMember(Tab tab, CheckBox member) {
+         ScilabTabBridge.removeMember(tab, member);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab which we want to add the RadioButton to
+      * @param member the RadioButton to add
+      * @return the position of the RadioButton in the member list.
+      */
+     public static int addMember(Tab tab, RadioButton member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Remove a RadioButton member from a tab
+      * @param tab the tab which we want to remove the RadioButton from
+      * @param member the RadioButton to remove
+      */
+     public static void removeMember(Tab tab, RadioButton member) {
+         ScilabTabBridge.removeMember(tab, member);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
++     * @param tab the tab which we want to add the ImageRenderer to
++     * @param member the ImageRenderer to add
++     * @return the position of the ImageRenderer in the member list.
++     */
++    public static int addMember(Tab tab, ImageRenderer member) {
++        return ScilabTabBridge.addMember(tab, member);
++    }
++
++    /**
++     * Remove a ImageRenderer member from a tab
++     * @param tab the tab which we want to remove the ImageRenderer from
++     * @param member the ImageRenderer to remove
++     */
++    public static void removeMember(Tab tab, ImageRenderer member) {
++        ScilabTabBridge.removeMember(tab, member);
++    }
++
++    /**
++     * Add a member (dockable element) to a tab and returns the index of this member
++     * @param tab the tab which we want to add the UiTable to
++     * @param member the UiTable to add
++     * @return the position of the UiTable in the member list.
++     */
++    public static int addMember(Tab tab, UiTable member) {
++        return ScilabTabBridge.addMember(tab, member);
++    }
++
++    /**
++     * Remove a UiTable member from a tab
++     * @param tab the tab which we want to remove the UiTable from
++     * @param member the UiTable to remove
++     */
++    public static void removeMember(Tab tab, UiTable member) {
++        ScilabTabBridge.removeMember(tab, member);
++    } 
++
++    public static int addMember(Tab tab, UiDisplayTree member) {
++        return ScilabTabBridge.addMember(tab, member);
++    }
++    public static void removeMember(Tab tab, UiDisplayTree member) {
++        ScilabTabBridge.removeMember(tab, member);
++    }
++
++    /**
++     * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab which we want to add the Slider to
+      * @param member the Slider to add
+      * @return the position of the Slider in the member list.
+      */
+     public static int addMember(Tab tab, Slider member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Remove a Slider member from a tab
+      * @param tab the tab which we want to remove the Slider from
+      * @param member the Slider to remove
+      */
+     public static void removeMember(Tab tab, Slider member) {
+         ScilabTabBridge.removeMember(tab, member);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab which we want to add the ListBox to
+      * @param member the ListBox to add
+      * @return the position of the ListBox in the member list.
+      */
+     public static int addMember(Tab tab, ListBox member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Remove a ListBox member from a tab
+      * @param tab the tab which we want to remove the ListBox from
+      * @param member the ListBox to remove
+      */
+     public static void removeMember(Tab tab, ListBox member) {
+         ScilabTabBridge.removeMember(tab, member);
+     }
+     /**
+      * Add a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab which we want to add the PopupMenu to
+      * @param member the PopupMenu to add
+      * @return the position of the PopupMenu in the member list.
+      */
+     public static int addMember(Tab tab, PopupMenu member) {
+         return ScilabTabBridge.addMember(tab, member);
+     }
+     /**
+      * Remove a PopupMenu member from a tab
+      * @param tab the tab which we want to remove the PopupMenu from
+      * @param member the PopupMenu to remove
+      */
+     public static void removeMember(Tab tab, PopupMenu member) {
+         ScilabTabBridge.removeMember(tab, member);
+     }
+     /**
+      * Remove a member (dockable element) to a tab and returns the index of this member
+      * @param tab the tab where we want to add the member
+      * @param member the member to add
+      */
+     public static void removeMember(Tab tab, Canvas member) {
+         ScilabTabBridge.removeMember(tab, member);
+     }
+     /**
+      * Get the current status of the Tab in its parent
+      * @param tab the tab we want to get the status of
+      * @return true is the tab is the tab currently displayed in its parent
+      */
+     public static boolean isCurrentTab(Tab tab) {
+         return ScilabTabBridge.isCurrentTab(tab);
+     }
+     /**
+      * Set the parent window id for this tab
+      * @param tab the tab we want to set the parent window id of
+      * @param id the id of the parent window
+      */
+     public static void setParentWindowId(Tab tab, int id) {
+         ScilabTabBridge.setParentWindowId(tab, id);
+     }
+     /**
+      * Get the parent window id for this tab
+      * @param tab the tab we want to get the parent window id of
+      * @return the id of the parent window
+      */
+     public static int getParentWindowId(Tab tab) {
+         return ScilabTabBridge.getParentWindowId(tab);
+     }
+     /**
+      * Set the callback of the tab
+      * @param tab the tab which we want to set the callback of
+      * @param callback the CallBack to set
+      */
 -    public static void setCallback(Tab tab, CallBack callback) {
++    public static void setCallback(Tab tab, CommonCallBack callback) {
+         ScilabTabBridge.setCallback(tab, callback);
+     }
+     /**
+      * Set this tab as the current tab of its parent Window
+      * @param tab the tab
+      */
+     public static void setCurrent(Tab tab) {
+         ScilabTabBridge.setCurrent(tab);
+     }
+     /**
+      * Set the background color of a tab.
+      * @param tab tab to modify
+      * @param red red channel of the color
+      * @param green green channel
+      * @param blue blue channel
+      */
+     public static void setBackground(Tab tab, double red, double green, double blue) {
+         ScilabTabBridge.setBackground(tab, red, green, blue);
+     }
+     /**
+      * Specify whether the canvas should fit the parent tab size
+      * (and consequently the scrollpane size) or not
+      * @param tab tab to modify
+      * @param onOrOff true to enable autoresize mode
+      */
+     public static void setAutoResizeMode(Tab tab, boolean onOrOff) {
+         ScilabTabBridge.setAutoResizeMode(tab, onOrOff);
+     }
+     /**
+      * @param tab tab to modify
+      * @return whether the resize mode is on or off
+      */
+     public static boolean getAutoResizeMode(Tab tab) {
+         return ScilabTabBridge.getAutoResizeMode(tab);
+     }
+     /**
+      * Get the part of the axes which is currently viewed
+      * @param tab tab to modify
+      * @return [x,y,w,h] array
+      */
+     public static int[] getViewingRegion(Tab tab) {
+         return ScilabTabBridge.getViewingRegion(tab);
+     }
+     /**
+      * Specify a new viewport for the axes
+      * Only works if autoresize mode is off
+      * @param tab tab to modify
+      * @param posX X coordinate of upper left point of the viewport within the canvas
+      * @param posY Y coordinate of upper left point of the viewport within the canvas
+      * @param width width of the viewport
+      * @param height height of the viewport
+      */
+     public static void setViewingRegion(Tab tab, int posX, int posY, int width, int height) {
+         ScilabTabBridge.setViewingRegion(tab, posX, posY, width, height);
+     }
+     /**
+      * @param tab tab to modify
+      * @return size of the axes in pixels
+      */
+     public static Size getAxesSize(Tab tab) {
+         return ScilabTabBridge.getAxesSize(tab);
+     }
+     /**
+      * @param tab tab to modify
+      * @param newSize set a new axes size
+      */
+     public static void setAxesSize(Tab tab, Size newSize) {
+         ScilabTabBridge.setAxesSize(tab, newSize);
+     }
+     /**
+      * Set the event handler of the Axes
+      * @param tab tab to modify
+      * @param command the name of the Scilab function to call
+      */
+     public static void setEventHandler(Tab tab, String command) {
+         ScilabTabBridge.setEventHandler(tab, command);
+     }
+     /**
+      * Set the status of the event handler of the Axes
+      * @param tab tab to modify
+      * @param status is true to set the event handler active
+      */
+     public static void setEventHandlerEnabled(Tab tab, boolean status) {
+         ScilabTabBridge.setEventHandlerEnabled(tab, status);
+     }
+     /******************/
+     /* Console Bridge */
+     /******************/
+     /**
+      * Creates a Scilab Console
+      * @return the created console
+      */
+     public static SimpleConsole createConsole() {
+         return ScilabConsoleBridge.createConsole();
+     }
+     /**
+      * Displays data in the console
+      * @param console the console to display the data in
+      * @param dataToDisplay the data to be displayed
+      * @see org.scilab.modules.console.HelpBrowser#display()
+      */
+     public static void display(Console console, String dataToDisplay) {
+         ScilabConsoleBridge.display(console, dataToDisplay);
+     }
+     /**
+      * Reads input data in the console
+      * @param console the console to read the data from
+      * @return the data entered by the user
+      * @see org.scilab.modules.console.HelpBrowser#readLine()
+      */
+     public static String readLine(Console console) {
+         return ScilabConsoleBridge.readLine(console);
+     }
+     /**
+      * Draw a console
+      * @param console the console to draw
+      * @see org.scilab.modules.ihm.UIElement#draw()
+      */
+     public static void draw(Console console) {
+         ScilabConsoleBridge.draw(console);
+     }
+     /**
+      * Gets the dimensions (width and height) of a Scilab console
+      * @param console the console which we want to get the dimensions of
+      * @return the size of the console
+      * @see org.scilab.modules.ihm.UIElement#getDims()
+      */
+     public static Size getDims(Console console) {
+         return ScilabConsoleBridge.getDims(console);
+     }
+     /**
+      * Gets the position (X-coordinate and Y-coordinates) of a Scilab console
+      * @param console the console which we want to get the position of
+      * @return the position of the console
+      * @see org.scilab.modules.ihm.UIElement#getPosition()
+      */
+     public static Position getPosition(Console console) {
+         return ScilabConsoleBridge.getPosition(console);
+     }
+     /**
+      * Gets the visibility status of a console
+      * @param console the console which we want to get the visibility status of
+      * @return the visibility status of the console (true if the console is visible, false if not)
+      * @see org.scilab.modules.ihm.UIElement#isVisible()
+      */
+     public static boolean isVisible(Console console) {
+         return ScilabConsoleBridge.isVisible(console);
+     }
+     /**
+      * Sets the visibility status of a console
+      * @param console the console which we want to get the visibility status of
+      * @param newVisibleState the visibility status we want to set to the console (true to set the console visible, false else)
+      * @see org.scilab.modules.ihm.UIElement#isVisible()
+      */
+     public static void setVisible(Console console, boolean newVisibleState) {
+         ScilabConsoleBridge.setVisible(console, newVisibleState);
+     }
+     /**
+      * Sets the dimensions (width and height) of a Scilab console
+      * @param console the console which we want to set the dimensions of
+      * @param newSize the size we want to set to the console
+      * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
+      */
+     public static void setDims(Console console, Size newSize) {
+         ScilabConsoleBridge.setDims(console, newSize);
+     }
+     /**
+      * Sets the position (X-coordinate and Y-coordinate) of a Scilab console
+      * @param console the console which we want to set the position of
+      * @param newPosition the position we want to set to the console
+      * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
+      */
+     public static void setPosition(Console console, Position newPosition) {
+         ScilabConsoleBridge.setPosition(console, newPosition);
+     }
+     /**
+      * Sets the visibility status of a Scilab console
+      * @param console the console which we want to set the visibility status of
+      * @param newVisibleState the visibility status we want to set to the console
+      * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
+      */
+     public static void setPosition(Console console, boolean newVisibleState) {
+         ScilabConsoleBridge.setVisible(console, newVisibleState);
+     }
+     /**
+      * Clears the console (no more scroll history and prompt on top left corner)
+      * @param console the console to be cleared
+      */
+     public static void clear(Console console) {
+         ScilabConsoleBridge.clear(console);
+     }
+     /**
+      * Clears lines from the end of the output view
+      * @param console the console to be cleared
+      * @param nbLines the number of lines to be deleted
+      */
+     public static void clear(Console console, int nbLines) {
+         ScilabConsoleBridge.clear(console, nbLines);
+     }
+     /**
+      * Puts the prompt in the top left corner of the console
+      * @param console the console used
+      */
+     public static void toHome(Console console) {
+         ScilabConsoleBridge.toHome(console);
+     }
+     /**
+      * Reads one user input char
+      * @param console the console used to get the char
+      * @return the data entered by the user
+      * @see fr.scilab.console.HelpBrowser#getCharWithoutOutput()
+      */
+     public static int getCharWithoutOutput(Console console) {
+         return ScilabConsoleBridge.getCharWithoutOutput(console);
+     }
+     /**
+      * Sets the prompt displayed in the console
+      * @param console the console where the prompt is set
+      * @param prompt the prompt to be displayed in the console
+      */
+     public static void setPrompt(Console console, String prompt) {
+         ScilabConsoleBridge.setPrompt(console, prompt);
+     }
+     /**
+      * Updates Scilab internal variables containing the size of the console
+      * These variables are used to format data before displaying it
+      * @param console object we want to get the size of
+      */
+     public static void scilabLinesUpdate(Console console) {
+         ScilabConsoleBridge.scilabLinesUpdate(console);
+     }
+     /**
+      * Get the current status of the console
+      * If the prompt view is visible, Scilab is waiting for commands
+      * @param console object we want to get the status of
+      * @return true is Scilab is waiting for commands
+      */
+     public static boolean isWaitingForInput(Console console) {
+         return ScilabConsoleBridge.isWaitingForInput(console);
+     }
+     /**
+      * Clear the commands history
 -     * @param console the console we want to clear the history of
++     * @param console the console we want to clear the history of 
+      */
+     public static void clearHistory(Console console) {
+         ScilabConsoleBridge.clearHistory(console);
+     }
+     /**
+      * Select all the console contents
 -     * @param console the console
++     * @param console the console 
+      */
+     public static void selectAll(Console console) {
+         ScilabConsoleBridge.selectAll(console);
+     }
+     /**
+      * Put the console selected text in the clipboard
 -     * @param console the console
++     * @param console the console 
+      */
+     public static void copyToClipboard(Console console) {
+         ScilabConsoleBridge.copyToClipboard(console);
+     }
+     /**
+      * Paste clipboard contents in Console input line
 -     * @param console the console
++     * @param console the console 
+      */
+     public static void pasteClipboard(Console console) {
+         ScilabConsoleBridge.pasteClipboard(console);
+     }
+     /**
+      * Cut selected text in the Console input line
 -     * @param console the console
++     * @param console the console 
+      */
+     public static void cutSelection(Console console) {
+         ScilabConsoleBridge.cutSelection(console);
+     }
+     /**
+      * Set the font of the Console
+      * @param console the console
+      * @param font the font to set
+      */
+     public static void setFont(Console console, Font font) {
+         ScilabConsoleBridge.setFont(console, font);
+     }
+     /**
+      * Get the font of the Console
+      * @param console the console
+      * @return the font
+      */
+     public static Font getFont(Console console) {
+         return ScilabConsoleBridge.getFont(console);
+     }
+     /**
+      * Get the Foreground Color of the Console
+      * @param console the console
+      * @return the Foreground Color
+      */
+     public static Color getForeground(Console console) {
+         return ScilabConsoleBridge.getForeground(console);
+     }
+     /**
+      * Get the Background Color of the Console
+      * @param console the console
+      * @return the Background Color
+      */
+     public static Color getBackground(Console console) {
+         return ScilabConsoleBridge.getBackground(console);
+     }
+     /**
+      * Set the Foreground Color of the Console
+      * @param console the console
+      * @param color the Foreground Color
+      */
+     public static void setForeground(Console console, Color color) {
+         ScilabConsoleBridge.setForeground(console, color);
+     }
+     /**
+      * Set the Background Color of the Console
+      * @param console the console
+      * @param color the Background Color
+      */
+     public static void setBackground(Console console, Color color) {
+         ScilabConsoleBridge.setBackground(console, color);
+     }
+     /**
+      * Set the maximum number of lines stored in the Output
+      * @param console the console
 -     * @param nbLines the number of lines
++     * @param nbLines the number of lines 
+      */
+     public static void setMaxOutputSize(Console console, int nbLines) {
+         ScilabConsoleBridge.setMaxOutputSize(console, nbLines);
+     }
+     /**
+      * Set the cursor pointer over the Console
+      * @param console the console
+      * @param cursor the Cursor to set
+      */
+     public static void setCursor(Console console, Cursor cursor) {
+         ScilabConsoleBridge.setCursor(console, cursor);
+     }
+     /*****************/
+     /* Canvas Bridge */
+     /*****************/
+     /**
+      * Creates a Scilab Canvas
+      * @param figureIndex index of the displayed figure
+      * @param antialiasingQuality Specify the number of pass to use for antialiasing.
       *                            If its value is 0, then antialiasing is disable.
-        * @return the created canvas
-        */
-       public static SimpleCanvas createCanvas(int figureIndex, int antialiasingQuality) {
-               return ScilabCanvasBridge.createCanvas(figureIndex, antialiasingQuality);
-       }
-       /**
-        * Draws a Scilab canvas
-        * @param canvas the canvas to draw
-        * @see org.scilab.modules.ihm.UIElement#draw()
-        */
-       public static void draw(Canvas canvas) {
-               ScilabCanvasBridge.draw(canvas);
-       }
-       /**
-        * Gets the dimensions (width and height) of a Scilab Canvas
-        * @param canvas the canvas we want to get the dimensions of
-        * @return the size of the canvas
-        * @see org.scilab.modules.ihm.UIElement#getDims()
-        */
-       public static Size getDims(Canvas canvas) {
-               return ScilabCanvasBridge.getDims(canvas);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a Scilab canvas
-        * @param canvas the canvas we want to get the position of
-        * @return the position of the canvas
-        * @see org.scilab.modules.ihm.UIElement#getPosition()
-        */
-       public static Position getPosition(Canvas canvas) {
-               return ScilabCanvasBridge.getPosition(canvas);
-       }
-       /**
-        * Gets the visibility status of a Scilab Canvas
-        * @param canvas the canvas we want to get the visiblity status of
-        * @return the visibility status of the canvas (true if the canvas is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(Canvas canvas) {
-               return ScilabCanvasBridge.isVisible(canvas);
-       }
-       /**
-        * Sets the dimensions (width and height) of a Scilab Canvas
-        * @param canvas the canvas we want to set the dimensions of
-        * @param newSize the size we want to set to the canvas
-        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
-        */
-       public static void setDims(Canvas canvas, Size newSize) {
-               ScilabCanvasBridge.setDims(canvas, newSize);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a Scilab canvas
-        * @param canvas the canvas we want to set the position of
-        * @param newPosition the position we want to set to the canvas
-        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
-        */
-       public static void setPosition(Canvas canvas, Position newPosition) {
-               ScilabCanvasBridge.setPosition(canvas, newPosition);
-       }
-       /**
-        * Sets the visibility status of a Scilab Canvas
-        * @param canvas the canvas we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the canvas (true to set the canvas visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(Canvas canvas, boolean newVisibleState) {
-               ScilabCanvasBridge.setVisible(canvas, newVisibleState);
-       }
-       
-       /**
-        * @param canvas the canvas we want to display
-        */
-       public static void display(Canvas canvas) {
-               ScilabCanvasBridge.display(canvas);
-       }
-       
-       /**
-        * @param canvas the canvas we want to get the GL object from
-        * @return a GL object
-        */
-       public static GL getGL(Canvas canvas) {
-               return ScilabCanvasBridge.getGL(canvas);
-       }
-       
-       /**
-        * @param canvas the canvas of which we want to set the swap buffer mode.
-        * @param onOrOff set wether the swap buffer mode is on or off.
-        */
-       public static void setAutoSwapBufferMode(Canvas canvas, boolean onOrOff) {
-               ScilabCanvasBridge.setAutoSwapBufferMode(canvas, onOrOff);
-       }
-       
-       /**
-        * @param canvas the canvas from which we want to retrieve the swap buffer mode.
-        * @return set wether the swap buffer mode is on or off.
-        */
-       public static boolean getAutoSwapBufferMode(Canvas canvas) {
-               return ScilabCanvasBridge.getAutoSwapBufferMode(canvas);
-       }
-       
-       /**
-        * @param canvas the canvas we want to repaint
-        */
-       public static void repaint(Canvas canvas) {
-               ScilabCanvasBridge.repaint(canvas);
-       }
-       
-       
-       /**
-        * Set the background of the Canvas.
-        * @param canvas the canvas we want to modify
-        * @param red red channel
-        * @param green green channel 
-        * @param blue blue channel
-        */
-       public static void setBackgroundColor(Canvas canvas, double red, double green, double blue) {
-               ScilabCanvasBridge.setBackgroundColor(canvas, red, green, blue);
-       }
-       
-       /**
-        * Create an interactive selection rectangle and return its pixel coordinates
-        * @param canvas canvas on which the rubber box will be applied
-        * @param isClick specify wether the rubber box is selected by one click for each one of the two edge
-        *                or a sequence of press-release
-        * @param isZoom specify if the rubber box is used for a zoom and then change the mouse cursor.
-        * @param initialRect if not null specify the initial rectangle to draw
-        * @param endRect array [x1,y1,x2,y2] containing the result of rubberbox
-        * @return Scilab code of the pressed button
-        */
-       public static int rubberBox(Canvas canvas, boolean isClick, boolean isZoom, int[] initialRect, int[] endRect) {
-               return ScilabCanvasBridge.rubberBox(canvas, isClick, isZoom, initialRect, endRect);
-       }
-       
-       /**
-        * Get the displacement in pixel that should be used for rotating axes
-        * @param tab tab on which the displacement is recorded
-        * @param displacement out parameter, [x,y] array of displacement in pixels
-        * @return true if the displacement recording continue, false otherwise
-        */
-       public static boolean getRotationDisplacement(Tab tab, int[] displacement) {
-               return ScilabTabBridge.getRotationDisplacement(tab, displacement);
-       }
-       
-       /**
-        * Asynchronous stop of rotation tracking.
-        * @param tab tab on which the displacement is recorded
-        */
-       public static void stopRotationRecording(Tab tab) {
-               ScilabTabBridge.stopRotationRecording(tab);
-       }
-       
-       /**
-         * Disable the canvas before closing
-         * @param canvas canvas to close
-         */
-       public static void close(Canvas canvas) {
-               ScilabCanvasBridge.close(canvas);
-       }
-       
-       /**
-        * Dump the scilabCanvas to an BufferedImage
-        * @param scilabCanvas ScilabCanvas
-        * @return a BufferedImage
-        */
-       public static BufferedImage dumpAsBufferedImage(ScilabCanvas scilabCanvas) {
-               return ScilabCanvasBridge.dumpAsBufferedImage(scilabCanvas);
-       }
-       
-       /**
-        * Set double buffer mode on or Off
-        * @param useSingleBuffer if true use single buffer if false use double buffering
-        * @param canvas canvas to modify
-        */
-       public static void setSingleBuffered(Canvas canvas, boolean useSingleBuffer) {
-               ScilabCanvasBridge.setSingleBuffered(canvas, useSingleBuffer);
-       }
-       
-       /*****************/
-       /* MenuBar Bridge */
-       /*****************/
-       /**
-        * Creates a new MenuBar
-        * @return the created MenuBar
-        */
-       public static SimpleMenuBar createMenuBar() {
-               return ScilabMenuBarBridge.createMenuBar();
-       }
-       
-       /**
-        * Append a Menu to a MenuBar
-        * @param menuBar the MenuBar which we want to add the newMenu to
-        * @param newMenu the Menu to add to the MenuBar
-        */
-       public static void add(MenuBar menuBar, Menu newMenu) {
-               ScilabMenuBarBridge.add(menuBar, newMenu);
-       }
-       
-       /*****************/
-       /* MenuItem Bridge */
-       /*****************/
-       /**
-        * Creates a new MenuItem
-        * @return the created MenuItem
-        */
-       public static SimpleMenuItem createMenuItem() {
-               return createMenuItem(true);
-       }
-       
-       /**
-        * Creates a new MenuItem
-        * @param autoCheckedMode if false, menu checking is managed by the user (and not automatically by Java)
-        * @return the created MenuItem
-        */
-       public static SimpleMenuItem createMenuItem(boolean autoCheckedMode) {
-               return ScilabMenuItemBridge.createMenuItem(autoCheckedMode);
-       }
-       
-       /**
-        * Sets the Text of a MenuItem
-        * @param menuItem the MenuItem we want to set the Text of
-        * @param newText the Text to set for the MenuItem
-        */
-       public static void setText(MenuItem menuItem, String newText) {
-               ScilabMenuItemBridge.setText(menuItem, newText);
-       }
-       
-       /**
-        * set a mnemonic to a MenuItem
-        * @param menuItem the MenuItem which we want to add the mnemonic to
-        * @param mnemonic the mnemonic to add to the MenuItem
-        */
-       public static void setMnemonic(MenuItem menuItem, char mnemonic) {
-               ScilabMenuItemBridge.setMnemonic(menuItem, mnemonic);
-       }
-       
-       /**
-        * Add a callback to the menu, this callback is a Scilab command
-        * @param menuItem the MenuItem which we want to add the mnemonic to
-        * @param callback the CallBack to set.
-        */
-       public static void setCallback(MenuItem menuItem, CommonCallBack callback) {
-               ScilabMenuItemBridge.setCallback(menuItem, callback);
-       }
-       /**
-        * Set if the menu item is enabled or not
-        * @param menuItem the MenuItem which we want to set the status of
-        * @param status true if the menu item is enabled
-        */
-       public static void setEnabled(MenuItem menuItem, boolean status) {
-               ScilabMenuItemBridge.setEnabled(menuItem, status);
-       }
-       
-       /**
-        * Get the enable status of a MenuItem
-        * @param menuItem the MenuItem which we want to get the status of
-        * @return the enable status of the MenuItem (true if the MenuItem is enabled, false if not)
-        */
-       public static boolean isEnabled(MenuItem menuItem) {
-               return ScilabMenuItemBridge.isEnabled(menuItem);
-       }
-       
-       /**
-        * Get the text to a MenuItem
-        * @param menuItem the MenuItem which we want to get the text of
-        * @return the text of the MenuItem
-        */
-       public static String getText(MenuItem menuItem) {
-               return ScilabMenuItemBridge.getText(menuItem);
-       }
-       
-       /**
-        * set a mnemonic to a MenuItem
-        * @param menuItem the MenuItem which we want to set the mnemonic to
-        * @param mnemonic the new mnemonic to set to the MenuItem
-        */
-       public static void setMnemonic(MenuItem menuItem, int mnemonic) {
-               ScilabMenuItemBridge.setMnemonic(menuItem, mnemonic);
-       }
-       /**
-        * Sets the visibility status of a Scilab MenuItem
-        * @param menuItem the MenuItem we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the MenuItem (true to set the MenuItem visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(MenuItem menuItem, boolean newVisibleState) {
-               ScilabMenuItemBridge.setVisible(menuItem, newVisibleState);
-       }
-       /**
-        * Gets the visibility status of a Scilab MenuItem
-        * @param menuItem the MenuItem we want to get the visiblity status of
-        * @return the visibility status of the MenuItem (true if the MenuItem is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(MenuItem menuItem) {
-               return ScilabMenuItemBridge.isVisible(menuItem);
-       }
-       /**
-        * Set the Background color of the MenuItem
-        * @param menuItem the MenuItem we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(MenuItem menuItem, Color color) {
-               ScilabMenuItemBridge.setBackground(menuItem, color);
-       }
-       
-       /**
-        * Get the Background color of the MenuItem
-        * @param menuItem the MenuItem we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(MenuItem menuItem) {
-               return ScilabMenuItemBridge.getBackground(menuItem);
-       }
-       /**
-        * Set the Foreground color of the MenuItem
-        * @param menuItem the MenuItem we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(MenuItem menuItem, Color color) {
-               ScilabMenuItemBridge.setForeground(menuItem, color);
-       }
-       
-       /**
-        * Get the Foreground color of the MenuItem
-        * @param menuItem the MenuItem we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(MenuItem menuItem) {
-               return ScilabMenuItemBridge.getForeground(menuItem);
-       }
-       /**
-        * Set the font of the MenuItem.
-        * @param menuItem the MenuItem we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(MenuItem menuItem, Font font) {
-               ScilabMenuItemBridge.setFont(menuItem, font);
-       }
-       
-       /**
-        * Get the font of the MenuItem.
-        * @param menuItem the MenuItem we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(MenuItem menuItem) {
-               return ScilabMenuItemBridge.getFont(menuItem);
-       }
-       /**
-        * Set the horizontal alignment for the MenuItem text
-        * @param menuItem the MenuItem we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setHorizontalAlignment(MenuItem menuItem, String alignment) {
-               ScilabMenuItemBridge.setHorizontalAlignment(menuItem, alignment);
-       }
-       /**
-        * Set the vertical alignment for the MenuItem text
-        * @param menuItem the MenuItem we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setVerticalAlignment(MenuItem menuItem, String alignment) {
-               ScilabMenuItemBridge.setVerticalAlignment(menuItem, alignment);
-       }
-       /**
-        * Set the Relief of the MenuItem
-        * @param menuItem the MenuItem which we want to set the Relief of
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public static void setRelief(MenuItem menuItem, String reliefType) {
-               ScilabMenuItemBridge.setRelief(menuItem, reliefType);
-       }
-       /**
-        * Add a MenuItem to the MenuItem
-        * @param parentMenuItem the MenuItem where we want to add a MenuItem
-        * @param childMenuItem the MenuItem we want to add
-        */
-       public static void add(MenuItem parentMenuItem, MenuItem childMenuItem) {
-               ScilabMenuItemBridge.add(parentMenuItem, childMenuItem);
-       }
-       /**
-        * Add a Menu to the MenuItem
-        * @param parentMenuItem the MenuItem where we want to add a MenuItem
-        * @param childMenu the Menu we want to add
-        */
-       public static void add(MenuItem parentMenuItem, Menu childMenu) {
-               ScilabMenuItemBridge.add(parentMenuItem, childMenu);
-       }
-       /**
-        * Destroy the MenuItem
-        * @param menuItem the MenuItem to be destroyed
-        */
-       public static void destroy(MenuItem menuItem) {
-               ScilabMenuItemBridge.destroy(menuItem);
-       }
-       /**
-        * Give the focus to the MenuItem
-        * @param menuItem the MenuItem
-        */
-       public static void requestFocus(MenuItem menuItem) {
-               ScilabMenuItemBridge.requestFocus(menuItem);
-       }
-       /**
-        * Retrieve the CallBack associated to this MenuItem
-        * @param menuItem the MenuItem
-        * @return the CallBack
-        */
-       public static CommonCallBack getCallback(MenuItem menuItem) {
-               return ScilabMenuItemBridge.getCallback(menuItem);
-       }
-       
-       /**
-        * Set if the MenuItem is checked or not
-        * @param menuItem the MenuItem
-        * @param status true if the MenuItem is checked
-        */
-       public static void setChecked(MenuItem menuItem, boolean status) {
-               ScilabMenuItemBridge.setChecked(menuItem, status);
-       }
-       
-       /**
-        * Get if the MenuItem is checked or not
-        * @param menuItem the MenuItem
-        * @return true if the MenuItem is checked
-        */
-       public static boolean isChecked(MenuItem menuItem) {
-               return ScilabMenuItemBridge.isChecked(menuItem);
-       }
-       /****************************/
-       /* CheckBox MenuItem Bridge */
-       /****************************/
-       /**
-        * Creates a new CheckBoxMenuItem
-        * @return the created CheckBoxMenuItem
-        */
-       public static SimpleCheckBoxMenuItem createCheckBoxMenuItem() {
-               return createCheckBoxMenuItem(true);
-       }
-       
-       /**
-        * Creates a new CheckBoxMenuItem
-        * @param autoCheckedMode if false, menu checking is managed by the user (and not automatically by Java)
-        * @return the created CheckBoxMenuItem
-        */
-       public static SimpleCheckBoxMenuItem createCheckBoxMenuItem(boolean autoCheckedMode) {
-               return ScilabCheckBoxMenuItemBridge.createCheckBoxMenuItem(autoCheckedMode);
-       }
-       
-       /**
-        * Add a MenuItem to the CheckBoxMenuItem
-        * @param parentMenuItem the MenuItem where we want to add a CheckBoxMenuItem
-        * @param childMenuItem the MenuItem we want to add
-        */
-       public static void add(CheckBoxMenuItem parentMenuItem, MenuItem childMenuItem) {
-               ScilabMenuItemBridge.add(parentMenuItem, childMenuItem);
-       }
-       
-       /**
-        * Sets the Text of a CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem we want to set the Text of
-        * @param newText the Text to set for the CheckBoxMenuItem
-        */
-       public static void setText(CheckBoxMenuItem checkBoxMenuItem, String newText) {
-               ScilabCheckBoxMenuItemBridge.setText(checkBoxMenuItem, newText);
-       }
-       
-       /**
-        * set a mnemonic to a CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem which we want to add the mnemonic to
-        * @param mnemonic the mnemonic to add to the CheckBoxMenuItem
-        */
-       public static void setMnemonic(CheckBoxMenuItem checkBoxMenuItem, char mnemonic) {
-               ScilabCheckBoxMenuItemBridge.setMnemonic(checkBoxMenuItem, mnemonic);
-       }
-       
-       /**
-        * Add a callback to the menu, this callback is a Scilab command
-        * @param checkBoxMenuItem the CheckBoxMenuItem which we want to add the mnemonic to
-        * @param callback the CallBack to set.
-        */
-       public static void setCallback(CheckBoxMenuItem checkBoxMenuItem, CommonCallBack callback) {
-               ScilabCheckBoxMenuItemBridge.setCallback(checkBoxMenuItem, callback);
-       }
-       /**
-        * Set if the menu item is enabled or not
-        * @param checkBoxMenuItem the CheckBoxMenuItem which we want to set the status of
-        * @param status true if the menu item is enabled
-        */
-       public static void setEnabled(CheckBoxMenuItem checkBoxMenuItem, boolean status) {
-               ScilabCheckBoxMenuItemBridge.setEnabled(checkBoxMenuItem, status);
-       }
-       
-       /**
-        * Get the enable status of a CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem which we want to get the status of
-        * @return the enable status of the CheckBoxMenuItem (true if the CheckBoxMenuItem is enabled, false if not)
-        */
-       public static boolean isEnabled(CheckBoxMenuItem checkBoxMenuItem) {
-               return ScilabCheckBoxMenuItemBridge.isEnabled(checkBoxMenuItem);
-       }
-       
-       /**
-        * Get the text to a CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem which we want to get the text of
-        * @return the text of the CheckBoxMenuItem
-        */
-       public static String getText(CheckBoxMenuItem checkBoxMenuItem) {
-               return ScilabCheckBoxMenuItemBridge.getText(checkBoxMenuItem);
-       }
-       
-       /**
-        * set a mnemonic to a CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem which we want to set the mnemonic to
-        * @param mnemonic the new mnemonic to set to the CheckBoxMenuItem
-        */
-       public static void setMnemonic(CheckBoxMenuItem checkBoxMenuItem, int mnemonic) {
-               ScilabCheckBoxMenuItemBridge.setMnemonic(checkBoxMenuItem, mnemonic);
-       }
-       /**
-        * Sets the visibility status of a Scilab CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the CheckBoxMenuItem (true to set the CheckBoxMenuItem visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(CheckBoxMenuItem checkBoxMenuItem, boolean newVisibleState) {
-               ScilabCheckBoxMenuItemBridge.setVisible(checkBoxMenuItem, newVisibleState);
-       }
-       /**
-        * Gets the visibility status of a Scilab CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem we want to get the visiblity status of
-        * @return the visibility status of the CheckBoxMenuItem (true if the CheckBoxMenuItem is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(CheckBoxMenuItem checkBoxMenuItem) {
-               return ScilabCheckBoxMenuItemBridge.isVisible(checkBoxMenuItem);
-       }
-       /**
-        * Set the Background color of the CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(CheckBoxMenuItem checkBoxMenuItem, Color color) {
-               ScilabCheckBoxMenuItemBridge.setBackground(checkBoxMenuItem, color);
-       }
-       
-       /**
-        * Get the Background color of the CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(CheckBoxMenuItem checkBoxMenuItem) {
-               return ScilabCheckBoxMenuItemBridge.getBackground(checkBoxMenuItem);
-       }
-       /**
-        * Set the Foreground color of the CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(CheckBoxMenuItem checkBoxMenuItem, Color color) {
-               ScilabCheckBoxMenuItemBridge.setForeground(checkBoxMenuItem, color);
-       }
-       
-       /**
-        * Get the Foreground color of the CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(CheckBoxMenuItem checkBoxMenuItem) {
-               return ScilabCheckBoxMenuItemBridge.getForeground(checkBoxMenuItem);
-       }
-       /**
-        * Set the font of the CheckBoxMenuItem.
-        * @param checkBoxMenuItem the CheckBoxMenuItem we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(CheckBoxMenuItem checkBoxMenuItem, Font font) {
-               ScilabCheckBoxMenuItemBridge.setFont(checkBoxMenuItem, font);
-       }
-       
-       /**
-        * Get the font of the CheckBoxMenuItem.
-        * @param checkBoxMenuItem the CheckBoxMenuItem we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(CheckBoxMenuItem checkBoxMenuItem) {
-               return ScilabCheckBoxMenuItemBridge.getFont(checkBoxMenuItem);
-       }
-       /**
-        * Set the horizontal alignment for the CheckBoxMenuItem text
-        * @param checkBoxMenuItem the CheckBoxMenuItem we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setHorizontalAlignment(CheckBoxMenuItem checkBoxMenuItem, String alignment) {
-               ScilabCheckBoxMenuItemBridge.setHorizontalAlignment(checkBoxMenuItem, alignment);
-       }
-       /**
-        * Set the vertical alignment for the CheckBoxMenuItem text
-        * @param checkBoxMenuItem the CheckBoxMenuItem we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setVerticalAlignment(CheckBoxMenuItem checkBoxMenuItem, String alignment) {
-               ScilabCheckBoxMenuItemBridge.setVerticalAlignment(checkBoxMenuItem, alignment);
-       }
-       /**
-        * Set the Relief of the CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem which we want to set the Relief of
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public static void setRelief(CheckBoxMenuItem checkBoxMenuItem, String reliefType) {
-               ScilabCheckBoxMenuItemBridge.setRelief(checkBoxMenuItem, reliefType);
-       }
-       /**
-        * Add a CheckBoxMenuItem to the CheckBoxMenuItem
-        * @param parentCheckBoxMenuItem the CheckBoxMenuItem where we want to add a CheckBoxMenuItem
-        * @param childCheckBoxMenuItem the CheckBoxMenuItem we want to add
-        */
-       public static void add(CheckBoxMenuItem parentCheckBoxMenuItem, CheckBoxMenuItem childCheckBoxMenuItem) {
-               ScilabCheckBoxMenuItemBridge.add(parentCheckBoxMenuItem, childCheckBoxMenuItem);
-       }
-       /**
-        * Add a Menu to the CheckBoxMenuItem
-        * @param parentCheckBoxMenuItem the CheckBoxMenuItem where we want to add a CheckBoxMenuItem
-        * @param childMenu the Menu we want to add
-        */
-       public static void add(CheckBoxMenuItem parentCheckBoxMenuItem, Menu childMenu) {
-               ScilabCheckBoxMenuItemBridge.add(parentCheckBoxMenuItem, childMenu);
-       }
-       /**
-        * Destroy the CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem to be destroyed
-        */
-       public static void destroy(CheckBoxMenuItem checkBoxMenuItem) {
-               ScilabCheckBoxMenuItemBridge.destroy(checkBoxMenuItem);
-       }
-       /**
-        * Give the focus to the CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem
-        */
-       public static void requestFocus(CheckBoxMenuItem checkBoxMenuItem) {
-               ScilabCheckBoxMenuItemBridge.requestFocus(checkBoxMenuItem);
-       }
-       /**
-        * Retrieve the CallBack associated to this CheckBoxMenuItem
-        * @param checkBoxMenuItem the CheckBoxMenuItem
-        * @return the CallBack
-        */
-       public static CommonCallBack getCallback(CheckBoxMenuItem checkBoxMenuItem) {
-               return ScilabCheckBoxMenuItemBridge.getCallback(checkBoxMenuItem);
-       }
-       /**
-        * Set if the CheckBoxMenuItem is checked or not
-        * @param checkBoxMenuItem the CheckBoxMenuItem
-        * @param status true if the CheckBoxMenuItem is checked
-        */
-       public static void setChecked(CheckBoxMenuItem checkBoxMenuItem, boolean status) {
-               ScilabCheckBoxMenuItemBridge.setChecked(checkBoxMenuItem, status);
-       }
-       
-       /**
-        * Get if the CheckBoxMenuItem is checked or not
-        * @param checkBoxMenuItem the CheckBoxMenuItem
-        * @return true if the CheckBoxMenuItem is checked
-        */
-       public static boolean isChecked(CheckBoxMenuItem checkBoxMenuItem) {
-               return ScilabCheckBoxMenuItemBridge.isChecked(checkBoxMenuItem);
-       }
-       
-       /*****************/
-       /* Menu Bridge */
-       /*****************/
-       /**
-        * Creates a new Menu
-        * @return the created Menu
-        */
-       public static SimpleMenu createMenu() {
-               return ScilabMenuBridge.createMenu();
-       }
-       
-       /**
-        * Retrieve the CallBack associated to this Menu
-        * @param menu the Menu
-        * @return the CallBack
-        */
-       public static CommonCallBack getCallback(Menu menu) {
-               return ScilabMenuBridge.getCallback(menu);
-       }
-       
-       /**
-        * Append a MenuItem to a Menu
-        * @param menu the Menu which we want to add the MenuItem to
-        * @param newMenuItem the MenuItem to add to the Menu
-        */
-       public static void add(Menu menu, MenuItem newMenuItem) {
-               ScilabMenuBridge.add(menu, newMenuItem);
-       }
-       
-       /**
-        * Append a CheckBoxMenuItem to a Menu
-        * @param menu the Menu which we want to add the CheckBoxMenuItem to
-        * @param newCheckBoxMenuItem the MenuItem to add to the Menu
-        */
-       public static void add(Menu menu, CheckBoxMenuItem newCheckBoxMenuItem) {
-               ScilabMenuBridge.add(menu, newCheckBoxMenuItem);
-       }
-       
-       /**
-        * Append a Menu to a Menu
-        * @param menu the Menu which we want to append the Menu to
-        * @param newSubMenu the Menu to append to the Menu
-        */
-       public static void add(Menu menu, Menu newSubMenu) {
-               ScilabMenuBridge.add(menu, newSubMenu);
-       }
-       
-       /**
-        * set a text to a menu
-        * @param menu the Menu which we want to set the text to
-        * @param newText the new text to set to the menu
-        */
-       public static void setText(Menu menu, String newText) {
-               ScilabMenuBridge.setText(menu, newText);
-       }
-       
-       /**
-        * Get the text to a menu
-        * @param menu the Menu which we want to get the text of
-        * @return the text of the menu
-        */
-       public static String getText(Menu menu) {
-               return ScilabMenuBridge.getText(menu);
-       }
-       
-       /**
-        * set a mnemonic to a menu
-        * @param menu the Menu which we want to set the mnemonic to
-        * @param mnemonic the new mnemonic to set to the menu
-        */
-       public static void setMnemonic(Menu menu, int mnemonic) {
-               ScilabMenuBridge.setMnemonic(menu, mnemonic);
-       }
-       
-       /**
-        * Add a Separator to a Menu
-        * @param menu the Menu which we want to add the Separator to
-        */
-       public static void addSeparator(Menu menu) {
-               ScilabMenuBridge.addSeparator(menu);
-       }
-       /**
-        * Set if the menu is enabled or not
-        * @param menu the menu which we want to set the status of
-        * @param status true if the menu item is enabled
-        */
-       public static void setEnabled(Menu menu, boolean status) {
-               ScilabMenuBridge.setEnabled(menu, status);
-       }
-       /**
-        * Gets the enable status of a Menu
-        * @param menu the menu which we want to get the status of 
-        * @return the enable status of the Menu (true if the Menu is enabled, false if not)
-        */
-       public static boolean isEnabled(Menu menu) {
-               return ScilabMenuBridge.isEnabled(menu);
-       }
-       
-       /**
-        * Sets the visibility status of a Scilab menu
-        * @param menu the menu we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the menu (true to set the menu visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(Menu menu, boolean newVisibleState) {
-               ScilabMenuBridge.setVisible(menu, newVisibleState);
-       }
-       /**
-        * Gets the visibility status of a Scilab Menu
-        * @param menu the menu we want to get the visiblity status of
-        * @return the visibility status of the menu (true if the menu is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(Menu menu) {
-               return ScilabMenuBridge.isVisible(menu);
-       }
-       /**
-        * Set the Background color of the menu
-        * @param menu the menu we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(Menu menu, Color color) {
-               ScilabMenuBridge.setBackground(menu, color);
-       }
-       
-       /**
-        * Get the Background color of the menu
-        * @param menu the menu we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(Menu menu) {
-               return ScilabMenuBridge.getBackground(menu);
-       }
-       /**
-        * Set the Foreground color of the menu
-        * @param menu the menu we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(Menu menu, Color color) {
-               ScilabMenuBridge.setForeground(menu, color);
-       }
-       
-       /**
-        * Get the Foreground color of the menu
-        * @param menu the menu we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(Menu menu) {
-               return ScilabMenuBridge.getForeground(menu);
-       }
-       /**
-        * Set the font of the menu.
-        * @param menu the menu we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(Menu menu, Font font) {
-               ScilabMenuBridge.setFont(menu, font);
-       }
-       
-       /**
-        * Get the font of the menu.
-        * @param menu the menu we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(Menu menu) {
-               return ScilabMenuBridge.getFont(menu);
-       }
-       /**
-        * Add a callback to the menu, this callback is a Scilab command
-        * @param menu the menu we want to set the callback of
-        * @param callback the CallBack to set.
-        */
-       public static void setCallback(Menu menu, CommonCallBack callback) {
-               ScilabMenuBridge.setCallback(menu, callback);
-       }
-       /**
-        * Set the horizontal alignment for the Menu text
-        * @param menu the Menu we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setHorizontalAlignment(Menu menu, String alignment) {
-               ScilabMenuBridge.setHorizontalAlignment(menu, alignment);
-       }
-       /**
-        * Set the vertical alignment for the Menu text
-        * @param menu the Menu we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setVerticalAlignment(Menu menu, String alignment) {
-               ScilabMenuBridge.setVerticalAlignment(menu, alignment);
-       }
-       /**
-        * Set the Relief of the Menu
-        * @param menu the Menu which we want to set the Relief of
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public static void setRelief(Menu menu, String reliefType) {
-               ScilabMenuBridge.setRelief(menu, reliefType);
-       }
-       /**
-        * Delete the Menu
-        * @param menu the Menu to be destroyed
-        */
-       public static void destroy(Menu menu) {
-               ScilabMenuBridge.destroy(menu);
-       }
-       /**
-        * Give the focus to the Menu
-        * @param menu the Menu
-        */
-       public static void requestFocus(Menu menu) {
-               ScilabMenuBridge.requestFocus(menu);
-       }
-       /**
-        * Set if the Menu is checked or not
-        * @param menu the Menu
-        * @param status true if the Menu is checked
-        */
-       public static void setChecked(Menu menu, boolean status) {
-               ScilabMenuBridge.setChecked(menu, status);
-       }
-       
-       /**
-        * Get if the Menu is checked or not
-        * @param menu the Menu
-        * @return true if the Menu is checked
-        */
-       public static boolean isChecked(Menu menu) {
-               return ScilabMenuBridge.isChecked(menu);
-       }
-       /**********************/
-       /* ContextMenu Bridge */
-       /**********************/
-       /**
-        * Creates a new ContextMenu
-        * @return the created ContextMenu
-        */
-       public static SimpleContextMenu createContextMenu() {
-               return ScilabContextMenuBridge.createContextMenu();
-       }
-       
-       /**
-        * Append a MenuItem to a ContextMenu
-        * @param contextMenu the ContextMenu which we want to add the MenuItem to
-        * @param newMenuItem the MenuItem to add to the ContextMenu
-        */
-       public static void add(ContextMenu contextMenu, MenuItem newMenuItem) {
-               ScilabContextMenuBridge.add(contextMenu, newMenuItem);
-       }
-       
-       /**
-        * Append a Menu to a ContextMenu
-        * @param contextMenu the ContextMenu which we want to add the MenuItem to
-        * @param newMenu the Menu to add to the ContextMenu
-        */
-       public static void add(ContextMenu contextMenu, Menu newMenu) {
-               ScilabContextMenuBridge.add(contextMenu, newMenu);
-       }
-       
-       /**
-        * set a text to a ContextMenu
-        * @param contextMenu the Menu which we want to set the text to
-        * @param newText the new text to set to the contextMenu
-        */
-       public static void setText(ContextMenu contextMenu, String newText) {
-               ScilabContextMenuBridge.setText(contextMenu, newText);
-       }
-       
-       /**
-        * Get the text to a contextMenu
-        * @param contextMenu the ContextMenu which we want to get the text of
-        * @return the text of the contextMenu
-        */
-       public static String getText(ContextMenu contextMenu) {
-               return ScilabContextMenuBridge.getText(contextMenu);
-       }
-       /**
-        * Set if the contextMenu is enabled or not
-        * @param contextMenu the contextMenu which we want to set the status of
-        * @param status true if the contextMenu item is enabled
-        */
-       public static void setEnabled(ContextMenu contextMenu, boolean status) {
-               ScilabContextMenuBridge.setEnabled(contextMenu, status);
-       }
-       /**
-        * Gets the enable status of a ContextMenu
-        * @param contextMenu the contextMenu which we want to get the status of
-        * @return the enable status of the ContextMenu (true if the ContextMenu is enabled, false if not)
-        */
-       public static boolean isEnabled(ContextMenu contextMenu) {
-               return ScilabContextMenuBridge.isEnabled(contextMenu);
-       }
-       /**
-        * Sets the visibility status of a Scilab contextMenu
-        * @param contextMenu the contextMenu we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the contextMenu (true to set the contextMenu visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(ContextMenu contextMenu, boolean newVisibleState) {
-               ScilabContextMenuBridge.setVisible(contextMenu, newVisibleState);
-       }
-       /**
-        * Gets the visibility status of a Scilab ContextMenu
-        * @param contextMenu the contextMenu we want to get the visiblity status of
-        * @return the visibility status of the contextMenu (true if the contextMenu is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(ContextMenu contextMenu) {
-               return ScilabContextMenuBridge.isVisible(contextMenu);
-       }
-       /**
-        * Set the Background color of the contextMenu
-        * @param contextMenu the contextMenu we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(ContextMenu contextMenu, Color color) {
-               ScilabContextMenuBridge.setBackground(contextMenu, color);
-       }
-       
-       /**
-        * Get the Background color of the contextMenu
-        * @param contextMenu the contextMenu we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(ContextMenu contextMenu) {
-               return ScilabContextMenuBridge.getBackground(contextMenu);
-       }
-       /**
-        * Set the Foreground color of the contextMenu
-        * @param contextMenu the contextMenu we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(ContextMenu contextMenu, Color color) {
-               ScilabContextMenuBridge.setForeground(contextMenu, color);
-       }
-       
-       /**
-        * Get the Foreground color of the contextMenu
-        * @param contextMenu the contextMenu we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(ContextMenu contextMenu) {
-               return ScilabContextMenuBridge.getForeground(contextMenu);
-       }
-       /**
-        * Set the font of the contextMenu.
-        * @param contextMenu the contextMenu we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(ContextMenu contextMenu, Font font) {
-               ScilabContextMenuBridge.setFont(contextMenu, font);
-       }
-       
-       /**
-        * Get the font of the contextMenu.
-        * @param contextMenu the contextMenu we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(ContextMenu contextMenu) {
-               return ScilabContextMenuBridge.getFont(contextMenu);
-       }
-       /**
-        * Add a callback to the contextMenu, this callback is a Scilab command
-        * @param contextMenu the contextMenu we want to set the callback of
-        * @param callback the CallBack to set.
-        */
-       public static void setCallback(ContextMenu contextMenu, CommonCallBack callback) {
-               ScilabContextMenuBridge.setCallback(contextMenu, callback);
-       }
-       /**
-        * Set the horizontal alignment for the ContextMenu text
-        * @param contextMenu the ContextMenu we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setHorizontalAlignment(ContextMenu contextMenu, String alignment) {
-               ScilabContextMenuBridge.setHorizontalAlignment(contextMenu, alignment);
-       }
-       /**
-        * Set the vertical alignment for the ContextMenu text
-        * @param contextMenu the ContextMenu we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setVerticalAlignment(ContextMenu contextMenu, String alignment) {
-               ScilabContextMenuBridge.setVerticalAlignment(contextMenu, alignment);
-       }
-       /**
-        * Set the Relief of the ContextMenu
-        * @param contextMenu the ContextMenu which we want to set the Relief of
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public static void setRelief(ContextMenu contextMenu, String reliefType) {
-               ScilabContextMenuBridge.setRelief(contextMenu, reliefType);
-       }
-       /**
-        * Delete the ContextMenu
-        * @param contextMenu the ContextMenu to be destroyed
-        */
-       public static void destroy(ContextMenu contextMenu) {
-               ScilabContextMenuBridge.destroy(contextMenu);
-       }
-       /**
-        * Give the focus to the ContextMenu
-        * @param contextMenu the ContextMenu
-        */
-       public static void requestFocus(ContextMenu contextMenu) {
-               ScilabContextMenuBridge.requestFocus(contextMenu);
-       }
-       /********************/
-       /* Separator Bridge */
-       /********************/
-       /**
-        * Creates a new Separator
-        * @return the created Separator
-        */
-       public static Separator createSeparator() {
-               return ScilabSeparatorBridge.createSeparator();
-       }
-       
-       /*****************/
-       /* PushButton Bridge */
-       /*****************/
-       /**
-        * Creates a new PushButton
-        * @return the created PushButton
-        */
-       public static SimplePushButton createPushButton() {
-               return ScilabPushButtonBridge.createPushButton();
-       }
-       
-       /**
-        * Draws a pushButton on screen
-        * @param pushButton the pushButton to be drawn
-        */
-       public static void draw(PushButton pushButton) {
-               ScilabPushButtonBridge.draw(pushButton);
-       }
-       /**
-        * Gets the dimensions (width and height) of a pushButton
-        * @param pushButton the pushButton we want to get the dimensions of
-        * @return dimensions of the pushButton
-        */
-       public static Size getDims(PushButton pushButton) {
-               return ScilabPushButtonBridge.getDims(pushButton);
-       }
-       /**
-        * Sets the dimensions (width and height) of a pushButton
-        * @param pushButton the pushButton we want to set the dimensions of
-        * @param newSize new dimensions of the pushButton
-        */
-       public static void setDims(PushButton pushButton, Size newSize) {
-               ScilabPushButtonBridge.setDims(pushButton, newSize);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a pushButton
-        * @param pushButton the pushButton we want to get the position of
-        * @return position of the pushButton
-        */
-       public static Position getPosition(PushButton pushButton) {
-               return ScilabPushButtonBridge.getPosition(pushButton);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a pushButton
-        * @param pushButton the pushButton we want to set the position of
-        * @param newPosition new position of the pushButton
-        */
-       public static void setPosition(PushButton pushButton, Position newPosition) {
-               ScilabPushButtonBridge.setPosition(pushButton, newPosition);
-       }
-       /**
-        * Gets the visibility status of a pushButton
-        * @param pushButton the pushButton we want to get the status of
-        * @return visibility status (true if the pushButton is visible, false if not)
-        */
-       public static boolean isVisible(PushButton pushButton) {
-               return ScilabPushButtonBridge.isVisible(pushButton);
-       }
-       /**
-        * Sets the visibility status for a pushButton
-        * @param pushButton the pushButton we want to set the visibility status of
-        * @param newVisibleState new visibility status for the pushButton
-        *                      (true set the pushButton visible, false to set the pushButton invisible)
-        */
-       public static void setVisible(PushButton pushButton, boolean newVisibleState) {
-               ScilabPushButtonBridge.setVisible(pushButton, newVisibleState);
-       }
-       
-       /**
-        * Sets the Text of a PushButton
-        * @param pushButton the PushButton we want to set the Text of
-        * @param newText the Text to set for the PushButton
-        */
-       public static void setText(PushButton pushButton, String newText) {
-               ScilabPushButtonBridge.setText(pushButton, newText);
-       }
-       
-       /**
-        * Gets the Text of a PushButton
-        * @param pushButton the PushButton we want to get the Text of
-        * @return the Text of the PushButton
-        */
-       public static String getText(PushButton pushButton) {
-               return ScilabPushButtonBridge.getText(pushButton);
-       }
-       
-       /**
-        * Sets the icon of a PushButton
-        * @param pushButton the PushButton we want to set the icon of
-        * @param filename the path to the icon image to set to the PushButton
-        */
-       public static void setIcon(PushButton pushButton, String filename) {
-               ScilabPushButtonBridge.setIcon(pushButton, filename);
-       }
-       
-       /**
-        * Add a callback to the pushbutton
-        * @param pushButton the PushButton we want to set the callback of
-        * @param callback the CallBack to set.
-        */
-       public static void setCallback(PushButton pushButton, CommonCallBack callback) {
-               ScilabPushButtonBridge.setCallback(pushButton, callback);
-       }
-       /**
-        * Set if the pushbutton is enabled or not
-        * @param pushButton the PushButton we want to set the status of
-        * @param status true if the pushbutton is enabled
-        */
-       public static void setEnabled(PushButton pushButton, boolean status) {
-               ScilabPushButtonBridge.setEnabled(pushButton, status);
-       }
-       
-       /**
-        * Gets the enable status of a PushButton
-        * @param pushButton the PushButton we want to get the status of
-        * @return the enable status of the PushButton (true if the PushButton is enabled, false if not)
-        */
-       public static boolean isEnabled(PushButton pushButton) {
-               return ScilabPushButtonBridge.isEnabled(pushButton);
-       }
-       
-       /**
-        * Set the Background color of the pushbutton
-        * @param pushButton the PushButton we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(PushButton pushButton, Color color) {
-               ScilabPushButtonBridge.setBackground(pushButton, color);
-       }
-       /**
-        * Get the Background color of the pushbutton
-        * @param pushButton the PushButton we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(PushButton pushButton) {
-               return ScilabPushButtonBridge.getBackground(pushButton);
-       }
-       /**
-        * Set the Foreground color of the pushbutton
-        * @param pushButton the PushButton we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(PushButton pushButton, Color color) {
-               ScilabPushButtonBridge.setForeground(pushButton, color);
-       }
-       /**
-        * Get the Foreground color of the pushbutton
-        * @param pushButton the PushButton we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(PushButton pushButton) {
-               return ScilabPushButtonBridge.getForeground(pushButton);
-       }
-       /**
-        * Set the font of the pushbutton.
-        * @param pushButton the pushbutton we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(PushButton pushButton, Font font) {
-               ScilabPushButtonBridge.setFont(pushButton, font);
-       }
-       
-       /**
-        * Get the font of the pushbutton.
-        * @param pushButton the pushbutton we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(PushButton pushButton) {
-               return ScilabPushButtonBridge.getFont(pushButton);
-       }
-       /**
-        * Set the horizontal alignment for the PushButton text
-        * @param pushButton the PushButton we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setHorizontalAlignment(PushButton pushButton, String alignment) {
-               ScilabPushButtonBridge.setHorizontalAlignment(pushButton, alignment);
-       }
-       /**
-        * Set the vertical alignment for the PushButton text
-        * @param pushButton the PushButton we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setVerticalAlignment(PushButton pushButton, String alignment) {
-               ScilabPushButtonBridge.setVerticalAlignment(pushButton, alignment);
-       }
-       /**
-        * Set the Relief of the PushButton
-        * @param pushButton the PushButton which we want to set the Relief of
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public static void setRelief(PushButton pushButton, String reliefType) {
-               ScilabPushButtonBridge.setRelief(pushButton, reliefType);
-       }
-       /**
-        * Delete the PushButton
-        * @param pushButton the PushButton to be destroyed
-        */
-       public static void destroy(PushButton pushButton) {
-               ScilabPushButtonBridge.destroy(pushButton);
-       }
-       /**
-        * Set the string to be displayed when the mouse cursor is over the PushButton
-        * @param pushButton the PushButton
-        * @param toolTipText the string to set
-        */
-       public static void setToolTipText(PushButton pushButton, String toolTipText) {
-               ScilabPushButtonBridge.setToolTipText(pushButton, toolTipText);
-       }
-       
-       /**
-        * Give the focus to the PushButton
-        * @param pushButton the PushButton
-        */
-       public static void requestFocus(PushButton pushButton) {
-               ScilabPushButtonBridge.requestFocus(pushButton);
-       }
-       /******************/
-       /* TextBox Bridge */
-       /******************/
-       /**
-        * Creates a new TextBox
-        * @return the created TextBox
-        */
-       public static SimpleTextBox createTextBox() {
-               return ScilabTextBoxBridge.createTextBox();
-       }
-       
-       /**
-        * Sets the Text of a TextBox
-        * @param textBox the TextBox we want to set the Text of
-        * @param newText the Text to set for the TextBox
-        */
-       public static void setText(TextBox textBox, String newText) {
-               ScilabTextBoxBridge.setText(textBox, newText);
-       }
-       
-       /**
-        * Gets the text of an TextBox
-        * @param textBox the TextBox we want to get the text of
-        * @return the text of the TextBox
-        */
-       public static String getText(TextBox textBox) {
-               return ScilabTextBoxBridge.getText(textBox);
-       }
-       
-       /**
-        * Draws a Scilab TextBox
-        * @param textBox the TextBox to draw
-        * @see org.scilab.modules.ihm.UIElement#draw()
-        */
-       public static void draw(TextBox textBox) {
-               ScilabTextBoxBridge.draw(textBox);
-       }
-       /**
-        * Gets the dimensions (width and height) of a Scilab TextBox
-        * @param textBox the TextBox we want to get the dimensions of
-        * @return the size of the textBox
-        * @see org.scilab.modules.ihm.UIElement#getDims()
-        */
-       public static Size getDims(TextBox textBox) {
-               return ScilabTextBoxBridge.getDims(textBox);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a Scilab textBox
-        * @param textBox the textBox we want to get the position of
-        * @return the position of the textBox
-        * @see org.scilab.modules.ihm.UIElement#getPosition()
-        */
-       public static Position getPosition(TextBox textBox) {
-               return ScilabTextBoxBridge.getPosition(textBox);
-       }
-       /**
-        * Gets the visibility status of a Scilab TextBox
-        * @param textBox the textBox we want to get the visiblity status of
-        * @return the visibility status of the textBox (true if the textBox is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(TextBox textBox) {
-               return ScilabTextBoxBridge.isVisible(textBox);
-       }
-       /**
-        * Set the status of the TextBox
-        * @param textBox the textBox we want to set the status of
-        * @param status true if the TextBox is enabled
-        * @see org.scilab.modules.gui.widget.Widget#setEnabled(boolean)
-        */
-       public static void setEnabled(TextBox textBox, boolean status) {
-               ScilabTextBoxBridge.setEnabled(textBox, status);
-       }
-       /**
-        * Gets the enable status of a TextBox
-        * @param textBox the textBox we want to get the status of
-        * @return the enable status of the TextBox (true if the TextBox is enabled, false if not)
-        */
-       public static boolean isEnabled(TextBox textBox) {
-               return ScilabTextBoxBridge.isEnabled(textBox);
-       }
-       /**
-        * Sets the dimensions (width and height) of a Scilab TextBox
-        * @param textBox the textBox we want to set the dimensions of
-        * @param newSize the size we want to set to the textBox
-        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
-        */
-       public static void setDims(TextBox textBox, Size newSize) {
-               ScilabTextBoxBridge.setDims(textBox, newSize);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a Scilab textBox
-        * @param textBox the textBox we want to set the position of
-        * @param newPosition the position we want to set to the textBox
-        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
-        */
-       public static void setPosition(TextBox textBox, Position newPosition) {
-               ScilabTextBoxBridge.setPosition(textBox, newPosition);
-       }
-       /**
-        * Sets the visibility status of a Scilab TextBox
-        * @param textBox the textBox we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the textBox (true to set the textBox visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(TextBox textBox, boolean newVisibleState) {
-               ScilabTextBoxBridge.setVisible(textBox, newVisibleState);
-       }
-       /**
-        * Set the Background color of the textbox
-        * @param textBox the textbox we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(TextBox textBox, Color color) {
-               ScilabTextBoxBridge.setBackground(textBox, color);
-       }
-       /**
-        * Get the Background color of the textbox
-        * @param textBox the textbox we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(TextBox textBox) {
-               return ScilabTextBoxBridge.getBackground(textBox);
-       }
-       /**
-        * Set the Foreground color of the textbox
-        * @param textBox the textbox we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(TextBox textBox, Color color) {
-               ScilabTextBoxBridge.setForeground(textBox, color);
-       }
-       /**
-        * Get the Foreground color of the textbox
-        * @param textBox the textbox we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(TextBox textBox) {
-               return ScilabTextBoxBridge.getForeground(textBox);
-       }
-       /**
-        * Set the font of the textbox.
-        * @param textBox the textbox we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(TextBox textBox, Font font) {
-               ScilabTextBoxBridge.setFont(textBox, font);
-       }
-       
-       /**
-        * Get the font of the textbox.
-        * @param textBox the textbox we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(TextBox textBox) {
-               return ScilabTextBoxBridge.getFont(textBox);
-       }
-       /**
-        * Add a callback to the TextBox
-        * @param textBox the TextBox we want to set the callback of
-        * @param callback the CallBack to set.
-        */
-       public static void setCallback(TextBox textBox, CommonCallBack callback) {
-               ScilabTextBoxBridge.setCallback(textBox, callback);
-       }
-       /**
-        * Set the horizontal alignment for the TextBox text
-        * @param textBox the TextBox we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setHorizontalAlignment(TextBox textBox, String alignment) {
-               ScilabTextBoxBridge.setHorizontalAlignment(textBox, alignment);
-       }
-       /**
-        * Set the vertical alignment for the TextBox text
-        * @param textBox the TextBox we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setVerticalAlignment(TextBox textBox, String alignment) {
-               ScilabTextBoxBridge.setVerticalAlignment(textBox, alignment);
-       }
-       /**
-        * Set the Relief of the TextBox
-        * @param textBox the TextBox which we want to set the Relief of
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public static void setRelief(TextBox textBox, String reliefType) {
-               ScilabTextBoxBridge.setRelief(textBox, reliefType);
-       }
-       /**
-        * Delete the TextBox
-        * @param textBox the TextBox to be destroyed
-        */
-       public static void destroy(TextBox textBox) {
-               ScilabTextBoxBridge.destroy(textBox);
-       }
-       /**
-        * Give the focus to the TextBox
-        * @param textBox the TextBox
-        */
-       public static void requestFocus(TextBox textBox) {
-               ScilabTextBoxBridge.requestFocus(textBox);
-       }
-       /******************/
-       /* EditBox Bridge */
-       /******************/
-       /**
-        * Creates a new EditBox
-        * @return the created EditBox
-        */
-       public static SimpleEditBox createEditBox() {
-               return ScilabEditBoxBridge.createEditBox();
-       }
-       
-       /**
-        * Sets the Text of a EditBox
-        * @param editBox the EditBox we want to set the Text of
-        * @param newText the Text to set for the EditBox
-        */
-       public static void setText(EditBox editBox, String newText) {
-               ScilabEditBoxBridge.setText(editBox, newText);
-       }
-       
-       /**
-        * Gets the text of an EditBox
-        * @param editBox the EditBox we want to get the text of
-        * @return the text of the EditBox
-        */
-       public static String getText(EditBox editBox) {
-               return ScilabEditBoxBridge.getText(editBox);
-       }
-       
-       /**
-        * Draws a Scilab EditBox
-        * @param editBox the EditBox to draw
-        * @see org.scilab.modules.ihm.UIElement#draw()
-        */
-       public static void draw(EditBox editBox) {
-               ScilabEditBoxBridge.draw(editBox);
-       }
-       /**
-        * Gets the dimensions (width and height) of a Scilab EditBox
-        * @param editBox the EditBox we want to get the dimensions of
-        * @return the size of the editBox
-        * @see org.scilab.modules.ihm.UIElement#getDims()
-        */
-       public static Size getDims(EditBox editBox) {
-               return ScilabEditBoxBridge.getDims(editBox);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a Scilab editBox
-        * @param editBox the editBox we want to get the position of
-        * @return the position of the editBox
-        * @see org.scilab.modules.ihm.UIElement#getPosition()
-        */
-       public static Position getPosition(EditBox editBox) {
-               return ScilabEditBoxBridge.getPosition(editBox);
-       }
-       /**
-        * Gets the visibility status of a Scilab EditBox
-        * @param editBox the editBox we want to get the visiblity status of
-        * @return the visibility status of the editBox (true if the editBox is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(EditBox editBox) {
-               return ScilabEditBoxBridge.isVisible(editBox);
-       }
-       /**
-        * Sets the dimensions (width and height) of a Scilab EditBox
-        * @param editBox the editBox we want to set the dimensions of
-        * @param newSize the size we want to set to the editBox
-        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
-        */
-       public static void setDims(EditBox editBox, Size newSize) {
-               ScilabEditBoxBridge.setDims(editBox, newSize);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a Scilab editBox
-        * @param editBox the editBox we want to set the position of
-        * @param newPosition the position we want to set to the editBox
-        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
-        */
-       public static void setPosition(EditBox editBox, Position newPosition) {
-               ScilabEditBoxBridge.setPosition(editBox, newPosition);
-       }
-       /**
-        * Sets the visibility status of a Scilab EditBox
-        * @param editBox the editBox we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the editBox (true to set the editBox visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(EditBox editBox, boolean newVisibleState) {
-               ScilabEditBoxBridge.setVisible(editBox, newVisibleState);
-       }
-       
-       /**
-        * Set the Background color of the EditBox
-        * @param editBox the EditBox we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(EditBox editBox, Color color) {
-               ScilabEditBoxBridge.setBackground(editBox, color);
-       }
-       /**
-        * Get the Background color of the EditBox
-        * @param editBox the EditBox we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(EditBox editBox) {
-               return ScilabEditBoxBridge.getBackground(editBox);
-       }
-       /**
-        * Set the Foreground color of the EditBox
-        * @param editBox the EditBox we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(EditBox editBox, Color color) {
-               ScilabEditBoxBridge.setForeground(editBox, color);
-       }
-       /**
-        * Get the Foreground color of the EditBox
-        * @param editBox the EditBox we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(EditBox editBox) {
-               return ScilabEditBoxBridge.getForeground(editBox);
-       }
-       /**
-        * Set the font of the EditBox.
-        * @param editBox the EditBox we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(EditBox editBox, Font font) {
-               ScilabEditBoxBridge.setFont(editBox, font);
-       }
-       
-       /**
-        * Get the font of the EditBox.
-        * @param editBox the EditBox we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(EditBox editBox) {
-               return ScilabEditBoxBridge.getFont(editBox);
-       }
-       /**
-        * Set if the EditBox is enabled or not
-        * @param editBox the EditBox we want to set the status of
-        * @param status true if the EditBox is enabled
-        */
-       public static void setEnabled(EditBox editBox, boolean status) {
-               ScilabEditBoxBridge.setEnabled(editBox, status);
-       }
-       
-       /**
-        * Gets the enable status of an EditBox
-        * @param editBox the EditBox we want to get the status of
-        * @return the enable status of the EditBox (true if the EditBox is enabled, false if not)
-        */
-       public static boolean isEnabled(EditBox editBox) {
-               return ScilabEditBoxBridge.isEnabled(editBox);
-       }
-       
-       /**
-        * Add a callback to the EditBox
-        * @param editBox the EditBox we want to set the callback of
-        * @param callback the Callback to set.
-        */
-       public static void setCallback(EditBox editBox, CommonCallBack callback) {
-               ScilabEditBoxBridge.setCallback(editBox, callback);
-       }
-       /**
-        * Set the horizontal alignment for the EditBox text
-        * @param editBox the EditBox we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setHorizontalAlignment(EditBox editBox, String alignment) {
-               ScilabEditBoxBridge.setHorizontalAlignment(editBox, alignment);
-       }
-       /**
-        * Set the vertical alignment for the EditBox text
-        * @param editBox the EditBox we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setVerticalAlignment(EditBox editBox, String alignment) {
-               ScilabEditBoxBridge.setVerticalAlignment(editBox, alignment);
-       }
-       /**
-        * Set the Relief of the EditBox
-        * @param editBox the EditBox which we want to set the Relief of
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public static void setRelief(EditBox editBox, String reliefType) {
-               ScilabEditBoxBridge.setRelief(editBox, reliefType);
-       }
-       /**
-        * Delete the EditBox
-        * @param editBox the EditBox to be destroyed
-        */
-       public static void destroy(EditBox editBox) {
-               ScilabEditBoxBridge.destroy(editBox);
-       }
-       /**
-        * Give the focus to the EditBox
-        * @param editBox the EditBox
-        */
-       public static void requestFocus(EditBox editBox) {
-               ScilabEditBoxBridge.requestFocus(editBox);
-       }
-       /****************/
-       /* Label Bridge */
-       /****************/
-       /**
-        * Creates a new Label
-        * @return the created Label
-        */
-       public static SimpleLabel createLabel() {
-               return ScilabLabelBridge.createLabel();
-       }
-       
-       /**
-        * Sets the Text of a Label
-        * @param label the Label we want to set the Text of
-        * @param newText the Text to set for the Label
-        */
-       public static void setText(Label label, String newText) {
-               ScilabLabelBridge.setText(label, newText);
-       }
-       
-       /**
-        * Gets the text of an Label
-        * @param label the Label we want to get the text of
-        * @return the text of the Label
-        */
-       public static String getText(Label label) {
-               return ScilabLabelBridge.getText(label);
-       }
-       
-       /**
-        * Draws a Scilab Label
-        * @param label the Label to draw
-        * @see org.scilab.modules.ihm.UIElement#draw()
-        */
-       public static void draw(Label label) {
-               ScilabLabelBridge.draw(label);
-       }
-       /**
-        * Gets the dimensions (width and height) of a Scilab Label
-        * @param label the Label we want to get the dimensions of
-        * @return the size of the label
-        * @see org.scilab.modules.ihm.UIElement#getDims()
-        */
-       public static Size getDims(Label label) {
-               return ScilabLabelBridge.getDims(label);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a Scilab label
-        * @param label the label we want to get the position of
-        * @return the position of the label
-        * @see org.scilab.modules.ihm.UIElement#getPosition()
-        */
-       public static Position getPosition(Label label) {
-               return ScilabLabelBridge.getPosition(label);
-       }
-       /**
-        * Gets the visibility status of a Scilab Label
-        * @param label the label we want to get the visiblity status of
-        * @return the visibility status of the label (true if the label is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(Label label) {
-               return ScilabLabelBridge.isVisible(label);
-       }
-       /**
-        * Sets the dimensions (width and height) of a Scilab Label
-        * @param label the label we want to set the dimensions of
-        * @param newSize the size we want to set to the label
-        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
-        */
-       public static void setDims(Label label, Size newSize) {
-               ScilabLabelBridge.setDims(label, newSize);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a Scilab label
-        * @param label the label we want to set the position of
-        * @param newPosition the position we want to set to the label
-        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
-        */
-       public static void setPosition(Label label, Position newPosition) {
-               ScilabLabelBridge.setPosition(label, newPosition);
-       }
-       /**
-        * Sets the visibility status of a Scilab Label
-        * @param label the label we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the label (true to set the label visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(Label label, boolean newVisibleState) {
-               ScilabLabelBridge.setVisible(label, newVisibleState);
-       }
-       
-       /**
-        * Set the Background color of the Label
-        * @param label the Label we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(Label label, Color color) {
-               ScilabLabelBridge.setBackground(label, color);
-       }
-       /**
-        * Get the Background color of the Label
-        * @param label the Label we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(Label label) {
-               return ScilabLabelBridge.getBackground(label);
-       }
-       /**
-        * Set the Foreground color of the Label
-        * @param label the Label we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(Label label, Color color) {
-               ScilabLabelBridge.setForeground(label, color);
-       }
-       /**
-        * Get the Foreground color of the Label
-        * @param label the Label we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(Label label) {
-               return ScilabLabelBridge.getForeground(label);
-       }
-       /**
-        * Set the font of the Label.
-        * @param label the Label we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(Label label, Font font) {
-               ScilabLabelBridge.setFont(label, font);
-       }
-       
-       /**
-        * Get the font of the Label.
-        * @param label the Label we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(Label label) {
-               return ScilabLabelBridge.getFont(label);
-       }
-       /**
-        * Set if the Label is enabled or not
-        * @param label the Label we want to set the status of
-        * @param status true if the Label is enabled
-        */
-       public static void setEnabled(Label label, boolean status) {
-               ScilabLabelBridge.setEnabled(label, status);
-       }
-       
-       /**
-        * Gets the enable status of a Label
-        * @param label the Label we want to get the status of
-        * @return the enable status of the Label (true if the Label is enabled, false if not)
-        */
-       public static boolean isEnabled(Label label) {
-               return ScilabLabelBridge.isEnabled(label);
-       }
-       
-       /**
-        * Add a callback to the Label
-        * @param label the Label we want to set the callback of
-        * @param callback the Callback to set.
-        */
-       public static void setCallback(Label label, CommonCallBack callback) {
-               ScilabLabelBridge.setCallback(label, callback);
-       }
-       /**
-        * Set the horizontal alignment for the Label text
-        * @param label the Label we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setHorizontalAlignment(Label label, String alignment) {
-               ScilabLabelBridge.setHorizontalAlignment(label, alignment);
-       }
-       /**
-        * Set the vertical alignment for the Label text
-        * @param label the Label we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setVerticalAlignment(Label label, String alignment) {
-               ScilabLabelBridge.setVerticalAlignment(label, alignment);
-       }
-       
-       /**
-        * Set the Relief of the Label
-        * @param label the Label which we want to set the Relief of
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public static void setRelief(Label label, String reliefType) {
-               ScilabLabelBridge.setRelief(label, reliefType);
-       }
-       /**
-        * Delete the Label
-        * @param label the Label to be destroyed
-        */
-       public static void destroy(Label label) {
-               ScilabLabelBridge.destroy(label);
-       }
-       /**
-        * Give the focus to the Label
-        * @param label the Label
-        */
-       public static void requestFocus(Label label) {
-               ScilabLabelBridge.requestFocus(label);
-       }
-       /*******************/
-       /* CheckBox Bridge */
-       /*******************/
-       /**
-        * Creates a new CheckBox
-        * @return the created CheckBox
-        */
-       public static SimpleCheckBox createCheckBox() {
-               return ScilabCheckBoxBridge.createCheckBox();
-       }
-       
-       /**
-        * Sets the Text of a CheckBox
-        * @param checkBox the CheckBox we want to set the Text of
-        * @param newText the Text to set for the CheckBox
-        */
-       public static void setText(CheckBox checkBox, String newText) {
-               ScilabCheckBoxBridge.setText(checkBox, newText);
-       }
-       
-       /**
-        * Gets the text of an CheckBox
-        * @param checkBox the CheckBox we want to get the text of
-        * @return the text of the CheckBox
-        */
-       public static String getText(CheckBox checkBox) {
-               return ScilabCheckBoxBridge.getText(checkBox);
-       }
-       
-       /**
-        * Draws a Scilab CheckBox
-        * @param checkBox the CheckBox to draw
-        * @see org.scilab.modules.ihm.UIElement#draw()
-        */
-       public static void draw(CheckBox checkBox) {
-               ScilabCheckBoxBridge.draw(checkBox);
-       }
-       /**
-        * Gets the dimensions (width and height) of a Scilab CheckBox
-        * @param checkBox the CheckBox we want to get the dimensions of
-        * @return the size of the checkBox
-        * @see org.scilab.modules.ihm.UIElement#getDims()
-        */
-       public static Size getDims(CheckBox checkBox) {
-               return ScilabCheckBoxBridge.getDims(checkBox);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a Scilab checkBox
-        * @param checkBox the checkBox we want to get the position of
-        * @return the position of the checkBox
-        * @see org.scilab.modules.ihm.UIElement#getPosition()
-        */
-       public static Position getPosition(CheckBox checkBox) {
-               return ScilabCheckBoxBridge.getPosition(checkBox);
-       }
-       /**
-        * Gets the visibility status of a Scilab CheckBox
-        * @param checkBox the checkBox we want to get the visiblity status of
-        * @return the visibility status of the checkBox (true if the checkBox is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(CheckBox checkBox) {
-               return ScilabCheckBoxBridge.isVisible(checkBox);
-       }
-       /**
-        * Sets the dimensions (width and height) of a Scilab CheckBox
-        * @param checkBox the checkBox we want to set the dimensions of
-        * @param newSize the size we want to set to the checkBox
-        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
-        */
-       public static void setDims(CheckBox checkBox, Size newSize) {
-               ScilabCheckBoxBridge.setDims(checkBox, newSize);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a Scilab checkBox
-        * @param checkBox the checkBox we want to set the position of
-        * @param newPosition the position we want to set to the checkBox
-        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
-        */
-       public static void setPosition(CheckBox checkBox, Position newPosition) {
-               ScilabCheckBoxBridge.setPosition(checkBox, newPosition);
-       }
-       /**
-        * Sets the visibility status of a Scilab CheckBox
-        * @param checkBox the checkBox we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the checkBox (true to set the checkBox visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(CheckBox checkBox, boolean newVisibleState) {
-               ScilabCheckBoxBridge.setVisible(checkBox, newVisibleState);
-       }
-       
-       /**
-        * Set the Background color of the CheckBox
-        * @param checkBox the CheckBox we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(CheckBox checkBox, Color color) {
-               ScilabCheckBoxBridge.setBackground(checkBox, color);
-       }
-       /**
-        * Get the Background color of the CheckBox
-        * @param checkBox the CheckBox we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(CheckBox checkBox) {
-               return ScilabCheckBoxBridge.getBackground(checkBox);
-       }
-       /**
-        * Set the Foreground color of the CheckBox
-        * @param checkBox the CheckBox we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(CheckBox checkBox, Color color) {
-               ScilabCheckBoxBridge.setForeground(checkBox, color);
-       }
-       /**
-        * Get the Foreground color of the CheckBox
-        * @param checkBox the CheckBox we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(CheckBox checkBox) {
-               return ScilabCheckBoxBridge.getForeground(checkBox);
-       }
-       /**
-        * Set the font of the CheckBox.
-        * @param checkBox the CheckBox we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(CheckBox checkBox, Font font) {
-               ScilabCheckBoxBridge.setFont(checkBox, font);
-       }
-       
-       /**
-        * Get the font of the CheckBox.
-        * @param checkBox the CheckBox we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(CheckBox checkBox) {
-               return ScilabCheckBoxBridge.getFont(checkBox);
-       }
-       /**
-        * Set if the CheckBox is enabled or not
-        * @param checkBox the CheckBox we want to set the status of
-        * @param status true if the CheckBox is enabled
-        */
-       public static void setEnabled(CheckBox checkBox, boolean status) {
-               ScilabCheckBoxBridge.setEnabled(checkBox, status);
-       }
-       
-       /**
-        * Gets the enable status of the CheckBox
-        * @param checkBox the CheckBox we want to get the status of
-        * @return the enable status of the CheckBox (true if the CheckBox is enabled, false if not)
-        */
-       public static boolean isEnabled(CheckBox checkBox) {
-               return ScilabCheckBoxBridge.isEnabled(checkBox);
-       }
-       /**
-        * Add a callback to the CheckBox
-        * @param checkBox the CheckBox we want to set the callback of
-        * @param callback the CallBack to set.
-        */
-       public static void setCallback(CheckBox checkBox, CommonCallBack callback) {
-               ScilabCheckBoxBridge.setCallback(checkBox, callback);
-       }
-       /**
-        * Set the horizontal alignment for the CheckBox text
-        * @param checkBox the CheckBox we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setHorizontalAlignment(CheckBox checkBox, String alignment) {
-               ScilabCheckBoxBridge.setHorizontalAlignment(checkBox, alignment);
-       }
-       /**
-        * Set the vertical alignment for the CheckBox text
-        * @param checkBox the CheckBox we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setVerticalAlignment(CheckBox checkBox, String alignment) {
-               ScilabCheckBoxBridge.setVerticalAlignment(checkBox, alignment);
-       }
-       /**
-        * Set if the CheckBox is checked or not
-        * @param checkBox the CheckBox we want to set the status of
-        * @param status true to set the CheckBox checked
-        */
-       public static void setChecked(CheckBox checkBox, boolean status) {
-               ScilabCheckBoxBridge.setChecked(checkBox, status);
-       }
-       
-       /**
-        * Get the status of the CheckBox
-        * @param checkBox the CheckBox we want to get the status of
-        * @return true if the CheckBox is checked
-        */
-       public static boolean isChecked(CheckBox checkBox) {
-               return ScilabCheckBoxBridge.isChecked(checkBox);
-       }
-       /**
-        * Set the Relief of the CheckBox
-        * @param checkBox the CheckBox which we want to set the Relief of
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public static void setRelief(CheckBox checkBox, String reliefType) {
-               ScilabCheckBoxBridge.setRelief(checkBox, reliefType);
-       }
-       /**
-        * Delete the CheckBox
-        * @param checkBox the CheckBox to be destroyed
-        */
-       public static void destroy(CheckBox checkBox) {
-               ScilabCheckBoxBridge.destroy(checkBox);
-       }
-       /**
-        * Give the focus to the CheckBox
-        * @param checkBox the CheckBox
-        */
-       public static void requestFocus(CheckBox checkBox) {
-               ScilabCheckBoxBridge.requestFocus(checkBox);
-       }
-       /**********************/
-       /* RadioButton Bridge */
-       /**********************/
-       /**
-        * Creates a new RadioButton
-        * @return the created RadioButton
-        */
-       public static SimpleRadioButton createRadioButton() {
-               return ScilabRadioButtonBridge.createRadioButton();
-       }
-       
-       /**
-        * Sets the Text of a RadioButton
-        * @param radioButton the RadioButton we want to set the Text of
-        * @param newText the Text to set for the RadioButton
-        */
-       public static void setText(RadioButton radioButton, String newText) {
-               ScilabRadioButtonBridge.setText(radioButton, newText);
-       }
-       
-       /**
-        * Gets the text of an RadioButton
-        * @param radioButton the RadioButton we want to get the text of
-        * @return the text of the RadioButton
-        */
-       public static String getText(RadioButton radioButton) {
-               return ScilabRadioButtonBridge.getText(radioButton);
-       }
-       
-       /**
-        * Draws a Scilab RadioButton
-        * @param radioButton the RadioButton to draw
-        * @see org.scilab.modules.ihm.UIElement#draw()
-        */
-       public static void draw(RadioButton radioButton) {
-               ScilabRadioButtonBridge.draw(radioButton);
-       }
-       /**
-        * Gets the dimensions (width and height) of a Scilab RadioButton
-        * @param radioButton the RadioButton we want to get the dimensions of
-        * @return the size of the radioButton
-        * @see org.scilab.modules.ihm.UIElement#getDims()
-        */
-       public static Size getDims(RadioButton radioButton) {
-               return ScilabRadioButtonBridge.getDims(radioButton);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a Scilab radioButton
-        * @param radioButton the radioButton we want to get the position of
-        * @return the position of the radioButton
-        * @see org.scilab.modules.ihm.UIElement#getPosition()
-        */
-       public static Position getPosition(RadioButton radioButton) {
-               return ScilabRadioButtonBridge.getPosition(radioButton);
-       }
-       /**
-        * Gets the visibility status of a Scilab RadioButton
-        * @param radioButton the radioButton we want to get the visiblity status of
-        * @return the visibility status of the radioButton (true if the radioButton is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(RadioButton radioButton) {
-               return ScilabRadioButtonBridge.isVisible(radioButton);
-       }
-       /**
-        * Sets the dimensions (width and height) of a Scilab RadioButton
-        * @param radioButton the radioButton we want to set the dimensions of
-        * @param newSize the size we want to set to the radioButton
-        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
-        */
-       public static void setDims(RadioButton radioButton, Size newSize) {
-               ScilabRadioButtonBridge.setDims(radioButton, newSize);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a Scilab radioButton
-        * @param radioButton the radioButton we want to set the position of
-        * @param newPosition the position we want to set to the radioButton
-        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
-        */
-       public static void setPosition(RadioButton radioButton, Position newPosition) {
-               ScilabRadioButtonBridge.setPosition(radioButton, newPosition);
-       }
-       /**
-        * Sets the visibility status of a Scilab RadioButton
-        * @param radioButton the radioButton we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the radioButton (true to set the radioButton visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(RadioButton radioButton, boolean newVisibleState) {
-               ScilabRadioButtonBridge.setVisible(radioButton, newVisibleState);
-       }
-       
-       /**
-        * Set the Background color of the RadioButton
-        * @param radioButton the RadioButton we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(RadioButton radioButton, Color color) {
-               ScilabRadioButtonBridge.setBackground(radioButton, color);
-       }
-       /**
-        * Get the Background color of the RadioButton
-        * @param radioButton the RadioButton we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(RadioButton radioButton) {
-               return ScilabRadioButtonBridge.getBackground(radioButton);
-       }
-       /**
-        * Set the Foreground color of the RadioButton
-        * @param radioButton the RadioButton we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(RadioButton radioButton, Color color) {
-               ScilabRadioButtonBridge.setForeground(radioButton, color);
-       }
-       /**
-        * Get the Foreground color of the RadioButton
-        * @param radioButton the RadioButton we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(RadioButton radioButton) {
-               return ScilabRadioButtonBridge.getForeground(radioButton);
-       }
-       /**
-        * Set the font of the RadioButton.
-        * @param radioButton the RadioButton we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(RadioButton radioButton, Font font) {
-               ScilabRadioButtonBridge.setFont(radioButton, font);
-       }
-       
-       /**
-        * Get the font of the RadioButton.
-        * @param radioButton the RadioButton we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(RadioButton radioButton) {
-               return ScilabRadioButtonBridge.getFont(radioButton);
-       }
-       /**
-        * Set if the RadioButton is enabled or not
-        * @param radioButton the RadioButton we want to set the status of
-        * @param status true if the RadioButton is enabled
-        */
-       public static void setEnabled(RadioButton radioButton, boolean status) {
-               ScilabRadioButtonBridge.setEnabled(radioButton, status);
-       }
-       
-       /**
-        * Gets the enable status of a RadioButton
-        * @param radioButton the RadioButton we want to get the status of
-        * @return the enable status of the RadioButton (true if the RadioButton is enabled, false if not)
-        */
-       public static boolean isEnabled(RadioButton radioButton) {
-               return ScilabRadioButtonBridge.isEnabled(radioButton);
-       }
-       
-       /**
-        * Add a callback to the RadioButton
-        * @param radioButton the RadioButton we want to set the callback of
-        * @param callback the callback to set.
-        */
-       public static void setCallback(RadioButton radioButton, CommonCallBack callback) {
-               ScilabRadioButtonBridge.setCallback(radioButton, callback);
-       }
-       /**
-        * Set the horizontal alignment for the RadioButton text
-        * @param radioButton the RadioButton we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setHorizontalAlignment(RadioButton radioButton, String alignment) {
-               ScilabRadioButtonBridge.setHorizontalAlignment(radioButton, alignment);
-       }
-       /**
-        * Set the vertical alignment for the RadioButton text
-        * @param radioButton the RadioButton we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setVerticalAlignment(RadioButton radioButton, String alignment) {
-               ScilabRadioButtonBridge.setVerticalAlignment(radioButton, alignment);
-       }
-       /**
-        * Set if the RadioButton is checked or not
-        * @param radioButton the RadioButton we want to set the status of
-        * @param status true to set the RadioButon checked
-        */
-       public static void setChecked(RadioButton radioButton, boolean status) {
-               ScilabRadioButtonBridge.setChecked(radioButton, status);
-       }
-       
-       /**
-        * Get the status of the RadioButton
-        * @param radioButton the RadioButton we want to get the status of
-        * @return true if the RadioButton is checked
-        */
-       public static boolean isChecked(RadioButton radioButton) {
-               return ScilabRadioButtonBridge.isChecked(radioButton);
-       }
-       /**
-        * Set the Relief of the RadioButton
-        * @param radioButton the RadioButton which we want to set the Relief of
-        * @param reliefType the type of the relief to set (See ScilabRelief.java)
-        */
-       public static void setRelief(RadioButton radioButton, String reliefType) {
-               ScilabRadioButtonBridge.setRelief(radioButton, reliefType);
-       }
-       /**
-        * Delete the RadioButton
-        * @param radioButton the RadioButton to be destroyed
-        */
-       public static void destroy(RadioButton radioButton) {
-               ScilabRadioButtonBridge.destroy(radioButton);
-       }
-       /**
-        * Give the focus to the RadioButton
-        * @param radioButton the RadioButton
-        */
-       public static void requestFocus(RadioButton radioButton) {
-               ScilabRadioButtonBridge.requestFocus(radioButton);
-       }
-       /*****************/
-       /* Slider Bridge */
-       /*****************/
-       /**
-        * Creates a new Slider
-        * @return the created Slider
-        */
-       public static SimpleSlider createSlider() {
-               return ScilabSliderBridge.createSlider();
-       }
-       
-       /**
-        * Sets the Text of a Slider
-        * @param slider the Slider we want to set the Text of
-        * @param newText the Text to set for the Slider
-        */
-       public static void setText(Slider slider, String newText) {
-               ScilabSliderBridge.setText(slider, newText);
-       }
-       
-       /**
-        * Gets the text of an Slider
-        * @param slider the Slider we want to get the text of
-        * @return the text of the Slider
-        */
-       public static String getText(Slider slider) {
-               return ScilabSliderBridge.getText(slider);
-       }
-       
-       /**
-        * Draws a Scilab Slider
-        * @param slider the Slider to draw
-        * @see org.scilab.modules.ihm.UIElement#draw()
-        */
-       public static void draw(Slider slider) {
-               ScilabSliderBridge.draw(slider);
-       }
-       /**
-        * Gets the dimensions (width and height) of a Scilab Slider
-        * @param slider the Slider we want to get the dimensions of
-        * @return the size of the slider
-        * @see org.scilab.modules.ihm.UIElement#getDims()
-        */
-       public static Size getDims(Slider slider) {
-               return ScilabSliderBridge.getDims(slider);
-       }
-       /**
-        * Gets the position (X-coordinate and Y-coordinate) of a Scilab slider
-        * @param slider the slider we want to get the position of
-        * @return the position of the slider
-        * @see org.scilab.modules.ihm.UIElement#getPosition()
-        */
-       public static Position getPosition(Slider slider) {
-               return ScilabSliderBridge.getPosition(slider);
-       }
-       /**
-        * Gets the visibility status of a Scilab Slider
-        * @param slider the slider we want to get the visiblity status of
-        * @return the visibility status of the slider (true if the slider is visible, false if not)
-        * @see org.scilab.modules.ihm.UIElement#isVisible()
-        */
-       public static boolean isVisible(Slider slider) {
-               return ScilabSliderBridge.isVisible(slider);
-       }
-       /**
-        * Sets the dimensions (width and height) of a Scilab Slider
-        * @param slider the slider we want to set the dimensions of
-        * @param newSize the size we want to set to the slider
-        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
-        */
-       public static void setDims(Slider slider, Size newSize) {
-               ScilabSliderBridge.setDims(slider, newSize);
-       }
-       /**
-        * Sets the position (X-coordinate and Y-coordinate) of a Scilab slider
-        * @param slider the slider we want to set the position of
-        * @param newPosition the position we want to set to the slider
-        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
-        */
-       public static void setPosition(Slider slider, Position newPosition) {
-               ScilabSliderBridge.setPosition(slider, newPosition);
-       }
-       /**
-        * Sets the visibility status of a Scilab Slider
-        * @param slider the slider we want to set the visiblity status of
-        * @param newVisibleState the visibility status we want to set to the slider (true to set the slider visible, false else)
-        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
-        */
-       public static void setVisible(Slider slider, boolean newVisibleState) {
-               ScilabSliderBridge.setVisible(slider, newVisibleState);
-       }
-       
-       /**
-        * Set the Background color of the Slider
-        * @param slider the Slider we want to set the background of
-        * @param color the Color
-        */
-       public static void setBackground(Slider slider, Color color) {
-               ScilabSliderBridge.setBackground(slider, color);
-       }
-       /**
-        * Get the Background color of the Slider
-        * @param slider the Slider we want to get the background of
-        * @return the Color
-        */
-       public static Color getBackground(Slider slider) {
-               return ScilabSliderBridge.getBackground(slider);
-       }
-       /**
-        * Set the Foreground color of the Slider
-        * @param slider the Slider we want to set the foreground of
-        * @param color the Color
-        */
-       public static void setForeground(Slider slider, Color color) {
-               ScilabSliderBridge.setForeground(slider, color);
-       }
-       /**
-        * Get the Foreground color of the Slider
-        * @param slider the Slider we want to get the foreground of
-        * @return the Color
-        */
-       public static Color getForeground(Slider slider) {
-               return ScilabSliderBridge.getForeground(slider);
-       }
-       /**
-        * Set the font of the Slider.
-        * @param slider the Slider we want to set the font of
-        * @param font the font
-        */
-       public static void setFont(Slider slider, Font font) {
-               ScilabSliderBridge.setFont(slider, font);
-       }
-       
-       /**
-        * Get the font of the Slider.
-        * @param slider the Slider we want to get the font of
-        * @return the font
-        */
-       public static Font getFont(Slider slider) {
-               return ScilabSliderBridge.getFont(slider);
-       }
-       /**
-        * Set if the Slider is enabled or not
-        * @param slider the Slider we want to set the status of
-        * @param status true if the Slider is enabled
-        */
-       public static void setEnabled(Slider slider, boolean status) {
-               ScilabSliderBridge.setEnabled(slider, status);
-       }
-       
-       /**
-        * Gets the enable status of an Slider
-        * @param slider the Slider we want to get the status of
-        * @return the enable status of the Slider (true if the Slider is enabled, false if not)
-        */
-       public static boolean isEnabled(Slider slider) {
-               return ScilabSliderBridge.isEnabled(slider);
-       }
-       
-       /**
-        * Add a callback to the Slider
-        * @param slider the Slider we want to set the callback of
-        * @param callback the CallBack to set.
-        */
-       public static void setCallback(Slider slider, CommonCallBack callback) {
-               ScilabSliderBridge.setCallback(slider, callback);
-       }
-       /**
-        * Set the horizontal alignment for the Slider text
-        * @param slider the Slider we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setHorizontalAlignment(Slider slider, String alignment) {
-               ScilabSliderBridge.setHorizontalAlignment(slider, alignment);
-       }
-       /**
-        * Set the vertical alignment for the Slider text
-        * @param slider the Slider we want to set the alignment of
-        * @param alignment the value for the alignment (See ScilabAlignment.java)
-        */
-       public static void setVerticalAlignment(Slider slider, String alignment) {
-               ScilabSliderBridge.setVerticalAlignment(slider, alignment);
-       }
-       /**
-        * Set the minor tick spacing for a Slider
-        * @param slider the Slider we want to set the spacing of
-        * @param space the increment value
-        */
-       public static void setMinorTickSpacing(Slider slider, int space) {
-               ScilabSliderBridge.setMinorTickSpacing(slider, space);  
-       }