Revert "Remove the 'toolboxes' menu" 48/448/2
Pierre MARECHAL [Wed, 5 May 2010 14:59:35 +0000 (16:59 +0200)]
This reverts commit cc1c3baf56c52283fc9def8ad3ef999738616d81.

scilab/CHANGES_5.3.X
scilab/contrib/Makefile.am
scilab/contrib/Makefile.in
scilab/contrib/loader.sce [new file with mode: 0644]
scilab/modules/core/macros/toolboxes.sci [new file with mode: 0644]

index 247d397..e9fe9c1 100644 (file)
@@ -236,8 +236,6 @@ Removed functions (previously declared as obsolete):
 
 * 'readc_' replaced by 'input'.
 
-* The "toolboxes" menu has been removed and replaced by atomsGui().
-
 Bug fixes:
 ==========
 
index 320afc4..87e27d5 100644 (file)
@@ -48,7 +48,8 @@ toolbox_skeleton/tests/unit_tests/c_sum.tst \
 toolbox_skeleton/tests/unit_tests/fortran_sum.tst \
 toolbox_skeleton/tests/unit_tests/scilab_sum.tst \
 toolbox_skeleton/toolbox_skeleton.iss \
-toolbox_skeleton/toolbox_skeleton_redist.iss
+toolbox_skeleton/toolbox_skeleton_redist.iss \
+loader.sce
 
 
 install-data-local:
index e96e9bc..f8775f6 100644 (file)
@@ -349,7 +349,8 @@ toolbox_skeleton/tests/unit_tests/c_sum.tst \
 toolbox_skeleton/tests/unit_tests/fortran_sum.tst \
 toolbox_skeleton/tests/unit_tests/scilab_sum.tst \
 toolbox_skeleton/toolbox_skeleton.iss \
-toolbox_skeleton/toolbox_skeleton_redist.iss
+toolbox_skeleton/toolbox_skeleton_redist.iss \
+loader.sce
 
 all: all-am
 
diff --git a/scilab/contrib/loader.sce b/scilab/contrib/loader.sce
new file mode 100644 (file)
index 0000000..d3b0089
--- /dev/null
@@ -0,0 +1,5 @@
+// search and add a toolbox menu 
+toolboxes(SCI+'/contrib');
+clear toolboxes  build   distrib_clean  distrib_zip 
+
+  
diff --git a/scilab/modules/core/macros/toolboxes.sci b/scilab/modules/core/macros/toolboxes.sci
new file mode 100644 (file)
index 0000000..46f9c69
--- /dev/null
@@ -0,0 +1,56 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) INRIA
+// Copyright (C) DIGITEO - 2009 - Allan CORNET
+// 
+// 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
+
+//===========================================================
+function [y] = toolboxes(path)
+// INTERNAL macro should NOT used by users
+// toolboxes loading
+// path is a directory to explore for contribs
+//===========================================================
+  global %toolboxes
+  global %toolboxes_dir
+//===========================================================
+  [lhs,rhs] = argn(0) 
+  y = [];
+  if (rhs == 1) & typeof(path)=="constant" then 
+    // return string to exec
+    y = 'exec(""" + %toolboxes_dir + %toolboxes(path) + filesep() + "loader.sce" + """);';
+    return 
+  end
+    
+  if rhs == 0 then 
+    path = SCI + filesep() + 'contrib';
+  end
+  
+  cur_wd = pwd();
+  chdir(path);
+  files = listfiles('.');
+  contribs = [];
+  for k = 1:size(files,'*') 
+    if fileinfo(files(k)+'/loader.sce') <> [] then 
+      contribs = [contribs ; files(k)];
+    end
+  end
+
+  if (contribs <> []) & (getscilabmode() == 'STD') then 
+    delmenu(gettext("&Toolboxes"));
+    h = uimenu("parent", 0, "label", gettext("&Toolboxes"));
+    for k=1:size(contribs,'*')
+      m = uimenu(h,'label', string(contribs(k)), 'callback','execstr(toolboxes('+string(k)+'))');
+    end
+    unsetmenu(gettext("&Toolboxes"));
+  end
+  
+  %toolboxes = contribs;
+  %toolboxes_dir = pathconvert(path);
+  chdir(cur_wd);
+  
+endfunction
+//===========================================================