demos index build only when we need + .start embedded in a function (cleared after) 54/3954/4
Allan CORNET [Thu, 5 May 2011 13:57:28 +0000 (15:57 +0200)]
Change-Id: I17ae3835e167aea25a604ffc8b1d92cc5808f701

53 files changed:
scilab/etc/scilab.start
scilab/modules/atoms/etc/atoms.start
scilab/modules/atoms/macros/atomsAutoload.sci
scilab/modules/cacsd/demos/cacsd.dem.gateway.sce
scilab/modules/cacsd/etc/cacsd.start
scilab/modules/compatibility_functions/etc/compatibility_functions.start
scilab/modules/core/demos/core.dem.gateway.sce [new file with mode: 0644]
scilab/modules/core/demos/intro/dem01_gateway.sce [deleted file]
scilab/modules/core/demos/intro/intro.dem.sce [moved from scilab/modules/core/demos/intro/dem01.dem with 100% similarity]
scilab/modules/core/etc/core.start
scilab/modules/data_structures/etc/data_structures.start
scilab/modules/demo_tools/macros/demo_gui.sci
scilab/modules/development_tools/etc/development_tools.start
scilab/modules/differential_equations/demos/differential_equations.dem.gateway.sce [new file with mode: 0644]
scilab/modules/differential_equations/demos/simulation.dem.gateway.sce [deleted file]
scilab/modules/differential_equations/etc/differential_equations.start
scilab/modules/dynamic_link/demos/dynamic_link.dem.gateway.sce
scilab/modules/dynamic_link/etc/dynamic_link.start
scilab/modules/elementary_functions/etc/elementary_functions.start
scilab/modules/fftw/etc/fftw.start
scilab/modules/fileio/etc/fileio.start
scilab/modules/graphic_export/etc/graphic_export.start
scilab/modules/graphics/demos/graphics.dem.gateway.sce
scilab/modules/graphics/etc/graphics.start
scilab/modules/gui/demos/gui.dem.gateway.sce
scilab/modules/gui/etc/gui.start
scilab/modules/helptools/etc/helptools.start
scilab/modules/history_manager/etc/history_manager.start
scilab/modules/localization/etc/localization.start
scilab/modules/modules_manager/etc/modules_manager.start
scilab/modules/optimization/demos/optimization.dem.gateway.sce
scilab/modules/optimization/etc/optimization.start
scilab/modules/polynomials/demos/polynomials.dem.gateway.sce
scilab/modules/polynomials/etc/polynomials.start
scilab/modules/pvm/demos/pvm.dem.gateway.sce [new file with mode: 0644]
scilab/modules/pvm/demos/pvm.dem.sce [moved from scilab/modules/pvm/demos/pvm.dem with 100% similarity]
scilab/modules/pvm/etc/pvm.start
scilab/modules/randlib/demos/randlib.dem.gateway.sce [moved from scilab/modules/randlib/demos/random.dem.gateway.sce with 70% similarity]
scilab/modules/randlib/etc/randlib.start
scilab/modules/scicos/etc/scicos.start
scilab/modules/signal_processing/demos/signal_processing.dem.gateway.sce [moved from scilab/modules/signal_processing/demos/signal.dem.gateway.sce with 65% similarity]
scilab/modules/signal_processing/etc/signal_processing.start
scilab/modules/sound/demos/sound.dem.gateway.sce [new file with mode: 0644]
scilab/modules/sound/etc/sound.start
scilab/modules/spreadsheet/demos/spreadsheet.dem.gateway.sce [new file with mode: 0644]
scilab/modules/spreadsheet/etc/spreadsheet.start
scilab/modules/tclsci/demos/tclsci.dem.gateway.sce [new file with mode: 0644]
scilab/modules/tclsci/demos/tk/tcltk.dem.gateway.sce [deleted file]
scilab/modules/tclsci/etc/tclsci.start
scilab/modules/texmacs/etc/texmacs.start
scilab/modules/windows_tools/etc/windows_tools.start
scilab/modules/xcos/demos/xcos.dem.gateway.sce
scilab/modules/xcos/etc/xcos.start

index e6240ce..d5789cc 100644 (file)
@@ -1,6 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2007-2008 - INRIA
-// Copyright (C) 2009-2010 - DIGITEO
+// Copyright (C) 2009-2011 - DIGITEO
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -18,27 +18,30 @@ clear  // erase all variables
 clearglobal();
 
 // Set stack size   ===================================================
-defaultstacksize = 5000000;
-old = stacksize()
-params = sciargs();
-nparam = find(params=="-mem");
-if (nparam) then
-  ierr = execstr("newstacksize="+params(nparam+1),"errcatch");
-  if (ierr == 0) then
-    if old(1) <> newstacksize then
-      stacksize(newstacksize);
+function setStackSize()
+  defaultstacksize = 5000000;
+  old = stacksize()
+  params = sciargs();
+  nparam = find(params == "-mem");
+  if (nparam) then
+    ierr = execstr("newstacksize=" + params(nparam + 1), "errcatch");
+    if (ierr == 0) then
+      if old(1) <> newstacksize then
+        stacksize(newstacksize);
+      end
+    else
+      if old(1) <> defaultstacksize then 
+        stacksize(defaultstacksize);
+      end
     end
   else
     if old(1) <> defaultstacksize then 
       stacksize(defaultstacksize);
     end
   end
-else
-  if old(1) <> defaultstacksize then 
-    stacksize(defaultstacksize);
-  end
-end
-clear nparam params ierr old newstacksize defaultstacksize
+endfunction
+setStackSize();
+clear setStackSize;
 
 // Special variables definition =======================================
 ieee(2);
@@ -48,31 +51,14 @@ ieee(0);
 // boolean variables
 %T = %t;
 %F = %f;
-MSDOS = (getos() == 'Windows');
-%pvm = with_module('pvm');
-%tk = (with_module('tclsci') & getscilabmode() <> 'NWNI');
-// Set LANGUAGE  ======================================================
-// used mainly for on-line help
-args = sciargs();
-larg = find(args=="-l");
-if larg<>[] & larg<=size(args,"*") then
-  L = args(larg+1);
-  setlanguage(L);
-end
-clear larg args L
-
-// Startup message  ===================================================
-
-if (sciargs()<>"-nb") & ~fromjava() & ~fromc() then
-  banner();
-  write(%io(2),[' ';' ';gettext("Startup execution:")]);
-  write(%io(2),gettext("  loading initial environment"));
-end
+MSDOS = (getos() == "Windows");
+%pvm = with_module("pvm");
+%tk = (with_module("tclsci") & getscilabmode() <> "NWNI");
 
 // Default Obsolete Warning policy  ===================================
 global %modalWarning;
 // False -> Scilab will only display a Warning message in the console
-//          if warnings are enabled [warning('on'/'off')].
+//          if warnings are enabled [warning("on"/"off")].
 // True  -> Scilab will show a blocking popup.
 %modalWarning = %F;
 clear %modalWarning;
@@ -80,34 +66,28 @@ clear %modalWarning;
 // Create some configuration variables ================================
 PWD = pwd();
 
-// Define Initial demo tables  ========================================
-// demolist is a two column matrix of strings
-global demolist
-demolist = [];
-clear demolist;
+// Startup message  ===================================================
+if (sciargs()<>"-nb") & ~fromjava() & ~fromc() then
+  banner();
+  write(%io(2),[" ";" ";gettext("Startup execution:")]);
+  write(%io(2),gettext("  loading initial environment"));
+end
 
 // loads modules ======================================================
-
 modules    = getmodules();
-WITH_DEMOS = ((with_module("demo_tools")) & (getscilabmode() <> "NWNI"));
-
 for i=1:size(modules,"*")
-  exec("SCI/modules/"+modules(i)+"/etc/"+modules(i)+".start",-1);
+  exec("SCI/modules/" + modules(i) + "/etc/" + modules(i) + ".start", -1);
 end
-
-clear modules i add_demo WITH_DEMOS
+clear modules i
 
 // Create some configuration variables ================================
-home = getenv("HOME",SCI);
-if getos() == 'Windows' then
-  // path of scilab main directory for Windows
-  WSCI = getlongpathname(pathconvert(SCI,%f,%f,"w"));
-else
-  if getenv('PRINTERS','ndef') == "ndef" then
-    setenv("PRINTERS","lp");
+home = getenv("HOME", SCI);
+if getos() <> "Windows" then
+  if getenv("PRINTERS", "ndef") == "ndef" then
+    setenv("PRINTERS", "lp");
   end
 end
-setenv("VERSION",getversion());
+setenv("VERSION", getversion());
 
 // ATOMS ===============================================================
 if with_module("atoms") then
@@ -129,35 +109,38 @@ _DEFAULT_LN_ = lines();
 lines(0);
 
 // load contrib menu if present ========================================
-if isfile(SCI+"/contrib/loader.sce") then
-  global %toolboxes;
-  global %toolboxes_dir;
-  exec(SCI+"/contrib/loader.sce");
-  clear %toolboxes %toolboxes_dir;
-end
+function loadContrib()
+  if isfile(SCI+"/contrib/loader.sce") then
+    global %toolboxes;
+    global %toolboxes_dir;
+    exec(SCI+"/contrib/loader.sce");
+  end
+endfunction
+loadContrib();
+clear loadContrib;
 
 // calling user initialization =========================================
+function startUserConf()
+  if sciargs()<>"-nouserstartup" then
 
-if sciargs()<>"-nouserstartup" then
+    startupfiles = [ SCIHOME + filesep() + ".scilab"     ; .. // Home directory startup
+                   SCIHOME + filesep() + "scilab.ini" ];    //  ""      ""    startup
 
-  startupfiles = [ SCIHOME + filesep() + ".scilab"     ; .. // Home directory startup
-                   SCIHOME + filesep() + "scilab.ini" ];    //  ''      ''    startup
-
-  if SCIHOME <> pwd() then
-    startupfiles = [ startupfiles     ; ..
-                     ".scilab"        ; .. // Working directory startup
-                     "scilab.ini" ]   ;    //  ''         ''    startup
-  end
+    if SCIHOME <> pwd() then
+      startupfiles = [ startupfiles     ; ..
+                       ".scilab"        ; .. // Working directory startup
+                       "scilab.ini" ]   ;    //  ""         ""    startup
+    end
 
-  for i=1:size(startupfiles,"*")
-    if isfile(startupfiles(i)) then
-      exec(startupfiles(i),-1);
+    for i=1:size(startupfiles,"*")
+      if isfile(startupfiles(i)) then
+        exec(startupfiles(i),-1);
+      end
     end
   end
-
-  clear startupfiles isempty i;
-
-end
+endfunction
+startUserConf();
+clear startUserConf;
 
 // Menus/toolbar can now be enabled ====================================
 if getscilabmode() == "STD" then
@@ -167,16 +150,16 @@ if getscilabmode() == "STD" then
   setmenu(gettext("&Control"));
   setmenu(gettext("&Applications"));
   if ~with_module("scinotes") then // Desactivate Editor menu
-    unsetmenu(gettext("&Applications"),1);
+    unsetmenu(gettext("&Applications"), 1);
   end
   if ~with_module("xcos") then // Desactivate xcos menu
-    unsetmenu(gettext("&Applications"),3);
+    unsetmenu(gettext("&Applications"), 3);
   end
   if ~with_module("m2sci") then // Desactivate mfile2sci menu
-    unsetmenu(gettext("&Applications"),5);
+    unsetmenu(gettext("&Applications"), 5);
   end
   if ~with_module("atoms") then // Desactivate atoms menu
-    unsetmenu(gettext("&Applications"),7);
+    unsetmenu(gettext("&Applications"), 7);
   end
   setmenu(gettext("&?"));
   setmenu(gettext("&Toolboxes"));
index bd372df..a20a69a 100644 (file)
@@ -7,14 +7,21 @@
 // are also available at    
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
+function [atomslib, atomsguilib] = startModule()
 // Load  functions libraries
 // =============================================================================
 
 // Command lines functions
-load("SCI/modules/atoms/macros/lib");
+  load("SCI/modules/atoms/macros/lib");
 
 // GUI functions
-if or(getscilabmode() == ["NW";"STD"]) then
   load("SCI/modules/atoms/macros/atoms_gui/lib");
-end
 
+endfunction
+
+if or(getscilabmode() == ["NW";"STD"]) then
+   [atomslib, atomsguilib] = startModule();
+else
+   atomslib = startModule();
+end
+clear startModule;
index 159c545..9abca5d 100644 (file)
@@ -91,6 +91,18 @@ function result = atomsAutoload()
 
     end
 
+    global demolist
+
+    if isempty(demolist) then
+      // we load scilab demos before ATOMS
+      modules = getmodules();
+      for i=1:size(modules,"*")
+        if isfile("SCI/modules/"+modules(i)+"/demos/" + modules(i) + ".dem.gateway.sce") then
+          exec("SCI/modules/"+modules(i)+"/demos/" + modules(i) + ".dem.gateway.sce",-1);
+        end
+      end
+    end
+
     // Load the wanted packages
     // =========================================================================
     result = atomsLoad([packages(:,1) packages(:,2)]);
index eafa453..716f86e 100644 (file)
@@ -1,18 +1,23 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) ????-2008 - INRIA
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
 //
 // This file is released under the 3-clause BSD license. See COPYING-BSD.
 
+function subdemolist = demo_gateway()
+  demopath = get_absolute_file_path("cacsd.dem.gateway.sce");
+  add_demo(gettext("CACSD"), demopath + "cacsd.dem.gateway.sce");
 
-demopath = get_absolute_file_path("cacsd.dem.gateway.sce");
+  subdemolist = [_("LQG")                , "lqg/lqg.dem"
+                 _("Mixed-sensitivity")  , "mixed.dem"
+                 _("PID")                , "pid.dem"
+                 _("Inverted pendulum")  , "pendulum/pendule.dem"
+                 _("Flat systems")       , "flat/flat.dem.gateway.sce"
+                 _("Tracking")           , "tracking/track.dem.sce"
+                 _("Robust control")     , "robust/rob.dem"]
 
-subdemolist = ["LQG"                , "lqg/lqg.dem"
-               "Mixed-sensitivity"  , "mixed.dem"
-               "PID"                , "pid.dem"
-               "Inverted pendulum"  , "pendulum/pendule.dem"
-               "Flat systems"       , "flat/flat.dem.gateway.sce"
-               "Tracking"           , "tracking/track.dem.sce"
-               "Robust control"     , "robust/rob.dem"]
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+endfunction
 
-subdemolist(:,2) = demopath + subdemolist(:,2);
-clear demopath;
\ No newline at end of file
+subdemolist = demo_gateway();
+clear demo_gateway;
index 57c70b8..1b0ee00 100644 (file)
@@ -7,15 +7,13 @@
 // are also available at    
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
+function cacsdlib = startModule()
+
 //Load  functions libraries
 // =============================================================================
-load("SCI/modules/cacsd/macros/lib");
+  load("SCI/modules/cacsd/macros/lib");
 
-// add demos
-// =============================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/cacsd/demos/cacsd.dem.gateway.sce",%f,%t);
-       add_demo(gettext("CACSD"),pathdemos);
-       clear pathdemos ;
-end
+endfunction
 
+cacsdlib = startModule();
+clear startModule;
\ No newline at end of file
index 6f3ec8e..8716b5a 100644 (file)
@@ -7,7 +7,13 @@
 // are also available at    
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
+function compatibility_functilib = startModule()
+
 //Load  functions libraries
 // =============================================================================
-load(SCI+"/modules/compatibility_functions/macros/lib");
+  load(SCI+"/modules/compatibility_functions/macros/lib");
+
+endfunction
 
+compatibility_functilib = startModule();
+clear startModule;
diff --git a/scilab/modules/core/demos/core.dem.gateway.sce b/scilab/modules/core/demos/core.dem.gateway.sce
new file mode 100644 (file)
index 0000000..cadb170
--- /dev/null
@@ -0,0 +1,18 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function subdemolist = demo_gateway()
+
+  demopath = get_absolute_file_path("core.dem.gateway.sce");
+  add_demo(_("Introduction"), demopath + "core.dem.gateway.sce");
+
+  subdemolist = [_("Getting started with Scilab")  ,"intro/intro.dem.sce"]
+
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+
+endfunction  
+
+subdemolist = demo_gateway();
+clear demo_gateway;
diff --git a/scilab/modules/core/demos/intro/dem01_gateway.sce b/scilab/modules/core/demos/intro/dem01_gateway.sce
deleted file mode 100644 (file)
index 3b2ce61..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-//
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-// This file is distributed under the same license as the Scilab package.
-//
-
-demo_begin();
-demo_run("SCI/demos/basic/intro/dem01.dem");
-demo_end();
index 82d6855..f47db3a 100644 (file)
@@ -8,15 +8,13 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
+function corelib = startModule()
+
 // =============================================================================
 // Load functions libraries
 // =============================================================================
-load('SCI/modules/core/macros/lib');
-
-// Add demos
-// =============================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/core/demos/intro/dem01.dem",%f,%t);
-       add_demo(gettext("Introduction"),pathdemos);
-end
+  load('SCI/modules/core/macros/lib');
+endfunction
 
+corelib = startModule();
+clear startModule;
\ No newline at end of file
index fb401de..8ab6610 100644 (file)
@@ -7,7 +7,13 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
+function data_structureslib = startModule()
+
 //Load  functions libraries
 // =============================================================================
-load("SCI/modules/data_structures/macros/lib");
+  load("SCI/modules/data_structures/macros/lib");
+
+endfunction
 
+data_structureslib = startModule();
+clear startModule;
index 5118a74..26c23f7 100644 (file)
 //
 
 function demo_gui()
-       
-       global demolist // Demos list is defined in scilab.start
-       
-       global margin_x;
-       global margin_y;
-       
-       global frame_w;
-       global frame_h;
-       
-       global button_w;
-       global button_h;
-       
-       // Parameters
-       // =========================================================================
-       
-       frame_w      = 200;     // Frame width
-       frame_h      = 450;     // Frame height
-       
-       margin_x     = 15;      // Horizontal margin between each elements
-       margin_y     = 15;      // Vertical margin between each elements
-       
-       button_w     = 0;       // Button width
-       button_h     = 0;       // Button height
-       
-       defaultfont  = "arial"; // Default Font
-       
-       frame_number = 1;       // Frame number
-       
-       // Figure creation
-       // ========================================================================= 
-       
-       axes_w       = (frame_number+1)*margin_x + frame_number*frame_w; // axes width
-       axes_h       = 3*margin_y + frame_h + button_h;                  // axes height
-       
-       demo_fig = figure(100000);
-       
-       // Remove Scilab graphics menus & toolbar
-       
-       delmenu(demo_fig.figure_id, gettext("&File"));
-       delmenu(demo_fig.figure_id, gettext("&Tools"));
-       delmenu(demo_fig.figure_id, gettext("&Edit"));
-       delmenu(demo_fig.figure_id, gettext("&?"));
-       toolbar(demo_fig.figure_id, "off");
-       demo_fig.visible = "off"; // to be sure that no plot can appear in the plot
-       
-       // Add the new one
-       
-       h = uimenu( "parent", demo_fig,          ..
-                   "label" , gettext("File"));
-       
-       uimenu( "parent"    , h,                 ..
-               "label"     , gettext("Close"),  ..
-               "callback"  , "demo_fig=get_figure_handle(100000);delete(demo_fig);", ..
-               "tag"       , "close_menu");
-       
-       // Background, Resize, title ...
-       
-       demo_fig.background      = -2;
-       demo_fig.axes_size       = [axes_w axes_h];
-       demo_fig.figure_name     = gettext("Demos");
-       
-       // Frame creation
-       
-       create_frame(demo_fig,1,"Demos",demolist);
-       
-       demo_fig.axes_size       = [axes_w axes_h];
-       
-       // pushbutton creation
-       
-//     my_button = uicontrol( ...
-//             "parent"              , demo_fig,...
-//             "relief"              , "groove",...
-//             "style"               , "pushbutton",...
-//             "string"              , gettext("View Code"),...
-//             "units"               , "pixels",...
-//     "position"            , [ floor(axes_w/2 - button_w/2) margin_y button_w button_h ], ...
-//             "fontunits"           , "points",...
-//             "fontsize"            , 12,...
-//             "fontweight"          , "bold", ...
-//             "horizontalalignment" , "center", ...
-//             "visible"             , "on", ...
-//             "tag"                 , "button_view_code" );
-       
+
+  global demolist // Demos list is defined in scilab.start
+
+  if isempty(demolist) then
+    modules = getmodules();
+    for i=1:size(modules,"*")
+    if isfile("SCI/modules/"+modules(i)+"/demos/" + modules(i) + ".dem.gateway.sce") then
+      exec("SCI/modules/"+modules(i)+"/demos/" + modules(i) + ".dem.gateway.sce",-1);
+    end
+    end
+  end
+
+  global margin_x;
+  global margin_y;
+
+  global frame_w;
+  global frame_h;
+
+  global button_w;
+  global button_h;
+
+  // Parameters
+  // =========================================================================
+
+  frame_w    = 200;   // Frame width
+  frame_h    = 450;   // Frame height
+
+  margin_x   = 15;    // Horizontal margin between each elements
+  margin_y   = 15;    // Vertical margin between each elements
+
+  button_w   = 0;     // Button width
+  button_h   = 0;     // Button height
+
+  defaultfont  = "arial"; // Default Font
+
+  frame_number = 1;     // Frame number
+
+  // Figure creation
+  // =========================================================================
+
+  axes_w     = (frame_number+1)*margin_x + frame_number*frame_w; // axes width
+  axes_h     = 3*margin_y + frame_h + button_h;          // axes height
+
+  demo_fig = figure(100000);
+
+  // Remove Scilab graphics menus & toolbar
+
+  delmenu(demo_fig.figure_id, gettext("&File"));
+  delmenu(demo_fig.figure_id, gettext("&Tools"));
+  delmenu(demo_fig.figure_id, gettext("&Edit"));
+  delmenu(demo_fig.figure_id, gettext("&?"));
+  toolbar(demo_fig.figure_id, "off");
+  demo_fig.visible = "off"; // to be sure that no plot can appear in the plot
+
+  // Add the new one
+
+  h = uimenu( "parent", demo_fig,      ..
+              "label" , gettext("File"));
+  
+  lst_vars_locals = ["%h_delete";
+                     "demo_fig";
+                     "get_figure_handle";
+                     "subdemolist";
+                     "delete_frame";
+                     "update_button_position";
+                     "resize_gui";
+                     "demo_gui_update";
+                     "create_frame";
+                     "demo_gui"];
+
+  lst_vars_global = ["margin_x";
+                     "margin_y";
+                     "frame_w";
+                     "frame_h";
+                     "button_w";
+                     "button_h";
+                     "subdemolist";
+                     "frame_number"];
+
+  clear_vars_str = strcat("clear " + lst_vars_locals, ";") + ";" + ..
+                   strcat("clearglobal " + lst_vars_global, ";") + ";";
+  
+  callback_close_str = "demo_fig=get_figure_handle(100000);delete(demo_fig);";
+  callback_close_str = callback_close_str + clear_vars_str;
+
+  uimenu( "parent"  , h,         ..
+          "label"   , gettext("Close"),  ..
+          "callback"  , callback_close_str, ..
+          "tag"     , "close_menu");
+
+  // Background, Resize, title ...
+
+  demo_fig.background    = -2;
+  demo_fig.axes_size     = [axes_w axes_h];
+  demo_fig.figure_name   = gettext("Demos");
+
+  // Frame creation
+
+  create_frame(demo_fig,1,"Demos",demolist);
+
+  demo_fig.axes_size     = [axes_w axes_h];
+
+  // pushbutton creation
+
+//  my_button = uicontrol( ...
+//    "parent"        , demo_fig,...
+//    "relief"        , "groove",...
+//    "style"         , "pushbutton",...
+//    "string"        , gettext("View Code"),...
+//    "units"         , "pixels",...
+//    "position"      , [ floor(axes_w/2 - button_w/2) margin_y button_w button_h ], ...
+//    "fontunits"       , "points",...
+//    "fontsize"      , 12,...
+//    "fontweight"      , "bold", ...
+//    "horizontalalignment" , "center", ...
+//    "visible"       , "on", ...
+//    "tag"         , "button_view_code" );
+
 endfunction
 
 function create_frame(my_fig_handle,fr_position,fr_title,fr_items)
-       
-       // my_fig_handle : Handle de la figure englobante
-       // fr_position   : position de la frame à créer
-       // fr_position   : titre de la frame à créer
-       // fr_items      : liste des items de la listbox
-
-       // Parameters
-       // =========================================================================
-       
-       frame_w      = 200;     // Frame width
-       frame_h      = 450;     // Frame height
-       
-       margin_x     = 15;      // Horizontal margin between each elements
-       margin_y     = 15;      // Vertical margin between each elements
-       
-       button_w     = 0;       // Button width
-       button_h     = 0;       // Button height
-       
-       defaultfont  = "arial"; // Default Font
-       
-       // =========================================================================
-       
-       
-       // if no item, no display
-       if fr_items == []  then
-               my_visible = "off";
-       else
-               my_visible = "on";
-       end
-       
-       axes_h = my_fig_handle.axes_size(2);
-       
-       
-       if fr_position <> 1 then
-               this_frame_w     = frame_w;
-               this_frame_h     = frame_h;
-               this_frame_pos_x = (margin_x+(fr_position-1)*(margin_x+frame_w));
-               this_frame_pos_y = axes_h-(margin_y+frame_h);
-       else
-               this_frame_w     = frame_w;
-               this_frame_h     = frame_h - 150 ;
-               this_frame_pos_x = (margin_x+(fr_position-1)*(margin_x+frame_w));
-               this_frame_pos_y = axes_h-(margin_y+frame_h)+150;
-       end
-       
-       // frame
-       uicontrol( ...
-               "parent"              , my_fig_handle,...
-               "relief"              , "groove",...
-               "style"               , "frame",...
-               "units"               , "pixels",...
-               "position"            , [ this_frame_pos_x this_frame_pos_y this_frame_w this_frame_h ],...
-               "horizontalalignment" , "center", ...
-               "background"          , [1 1 1], ...
-               "visible"             , my_visible, ...
-               "tag"                 , "frame_"+string(fr_position));
-       
-       // Frame title
-       uicontrol( ...
-               "parent"              , my_fig_handle,...
-               "style"               , "text",...
-               "string"              , " "+gettext(fr_title),...
-               "units"               , "pixels",...
-               "position"            , [ this_frame_pos_x+10 axes_h-(margin_y)-9 this_frame_w-20 18 ],...
-               "fontunits"           , "points",...
-               "fontsize"            , 12,...
-               "fontWeight"          , "bold",...
-               "horizontalalignment" , "center", ...
-               "background"          , [1 1 1], ...
-               "visible"             , my_visible, ...
-               "tag"                 , "title_frame_"+string(fr_position));
-               
-       // List Box
-       uicontrol( ...
-               "parent"              , my_fig_handle,...
-               "style"               , "listbox",...
-               "string"              , " "+strcat(fr_items(:,1),"| "),...
-               "units"               , "pixels",...
-               "position"            , [ this_frame_pos_x+5 this_frame_pos_y+5 this_frame_w-12 this_frame_h-14-10 ],...
-               "fontunits"           , "points",...
-               "fontsize"            , 12,...
-               "horizontalalignment" , "left", ...
-               "BackgroundColor"     , [255/255 , 255/255 , 255/255 ], ...
-               "callback"            , "script_path = demo_gui_update();exec(script_path,-1);clear script_path;",...
-               "visible"             , my_visible, ...
-               "user_data"           , fr_items, ...
-               "tag"                 , "listbox_"+string(fr_position));
-       
-       // Logo Scilab
-       // =========================================================================
-       
-       if fr_position == 1 then
-       
-               str = "";
-               str = str + "<html>";
-               str = str + "<img src=""file:///"+SCI+"/modules/demo_tools/images/logo_scilab.png"" />";
-               str = str + "</html>";
-               
-               my_text = uicontrol( ...
-                       "parent"              , my_fig_handle,...
-                       "style"               , "text",...
-                       "string"              , str,...
-                       "units"               , "pixels",...
-                       "position"            , [ (margin_x+(fr_position-1)*(margin_x+frame_w)) axes_h-(margin_y+frame_h) frame_w 150],...
-                       "background"          , [1 1 1], ...
-                       "tag"                 , "my_text", ...
-                       "horizontalalignment" , "center", ...
-                       "verticalalignment"   , "middle" ...
-               );
-               
-       end
-       
-       
+
+  // my_fig_handle : Handle de la figure englobante
+  // fr_position   : position de la frame à créer
+  // fr_position   : titre de la frame à créer
+  // fr_items    : liste des items de la listbox
+
+  // Parameters
+  // =========================================================================
+
+  frame_w    = 200;   // Frame width
+  frame_h    = 450;   // Frame height
+
+  margin_x   = 15;    // Horizontal margin between each elements
+  margin_y   = 15;    // Vertical margin between each elements
+
+  button_w   = 0;     // Button width
+  button_h   = 0;     // Button height
+
+  defaultfont  = "arial"; // Default Font
+
+  // =========================================================================
+
+
+  // if no item, no display
+  if fr_items == []  then
+    my_visible = "off";
+  else
+    my_visible = "on";
+  end
+
+  axes_h = my_fig_handle.axes_size(2);
+
+
+  if fr_position <> 1 then
+    this_frame_w   = frame_w;
+    this_frame_h   = frame_h;
+    this_frame_pos_x = (margin_x+(fr_position-1)*(margin_x+frame_w));
+    this_frame_pos_y = axes_h-(margin_y+frame_h);
+  else
+    this_frame_w   = frame_w;
+    this_frame_h   = frame_h - 150 ;
+    this_frame_pos_x = (margin_x+(fr_position-1)*(margin_x+frame_w));
+    this_frame_pos_y = axes_h-(margin_y+frame_h)+150;
+  end
+
+  // frame
+  uicontrol( ...
+    "parent"        , my_fig_handle,...
+    "relief"        , "groove",...
+    "style"         , "frame",...
+    "units"         , "pixels",...
+    "position"      , [ this_frame_pos_x this_frame_pos_y this_frame_w this_frame_h ],...
+    "horizontalalignment" , "center", ...
+    "background"      , [1 1 1], ...
+    "visible"       , my_visible, ...
+    "tag"         , "frame_"+string(fr_position));
+
+  // Frame title
+  uicontrol( ...
+    "parent"        , my_fig_handle,...
+    "style"         , "text",...
+    "string"        , " "+gettext(fr_title),...
+    "units"         , "pixels",...
+    "position"      , [ this_frame_pos_x+10 axes_h-(margin_y)-9 this_frame_w-20 18 ],...
+    "fontunits"       , "points",...
+    "fontsize"      , 12,...
+    "fontWeight"      , "bold",...
+    "horizontalalignment" , "center", ...
+    "background"      , [1 1 1], ...
+    "visible"       , my_visible, ...
+    "tag"         , "title_frame_"+string(fr_position));
+
+  // List Box
+  uicontrol( ...
+    "parent"        , my_fig_handle,...
+    "style"         , "listbox",...
+    "string"        , " "+strcat(fr_items(:,1),"| "),...
+    "units"         , "pixels",...
+    "position"      , [ this_frame_pos_x+5 this_frame_pos_y+5 this_frame_w-12 this_frame_h-14-10 ],...
+    "fontunits"       , "points",...
+    "fontsize"      , 12,...
+    "horizontalalignment" , "left", ...
+    "BackgroundColor"   , [255/255 , 255/255 , 255/255 ], ...
+    "callback"      , "script_path = demo_gui_update();exec(script_path,-1);clear script_path;",...
+    "visible"       , my_visible, ...
+    "user_data"       , fr_items, ...
+    "tag"         , "listbox_"+string(fr_position));
+
+  // Logo Scilab
+  // =========================================================================
+
+  if fr_position == 1 then
+
+    str = "";
+    str = str + "<html>";
+    str = str + "<img src=""file:///"+SCI+"/modules/demo_tools/images/logo_scilab.png"" />";
+    str = str + "</html>";
+
+    my_text = uicontrol( ...
+      "parent"        , my_fig_handle,...
+      "style"         , "text",...
+      "string"        , str,...
+      "units"         , "pixels",...
+      "position"      , [ (margin_x+(fr_position-1)*(margin_x+frame_w)) axes_h-(margin_y+frame_h) frame_w 150],...
+      "background"      , [1 1 1], ...
+      "tag"         , "my_text", ...
+      "horizontalalignment" , "center", ...
+      "verticalalignment"   , "middle" ...
+    );
+
+  end
+
+
 endfunction
 
 function script_path = demo_gui_update()
-       
-       my_counter = 0;
-       
-       global subdemolist;
-       global frame_number;
-       
-       my_selframe     = get(gcbo,"tag");
-       
-       // Suppression d'une figure précédemment dessiné, si figure il y a ...
-    all_figs = winsid();
-    all_figs = all_figs(all_figs >= 100001); // All Scilab graphic windows opened for demos
-    for fig_index = 1:size(all_figs, "*")
-        fig_to_del = get_figure_handle(all_figs(fig_index));
-        if ~isempty(fig_to_del) then
-            delete(fig_to_del);
-        end
+
+  my_counter = 0;
+
+  global subdemolist;
+  global frame_number;
+
+  my_selframe   = get(gcbo,"tag");
+
+  // Suppression d'une figure précédemment dessiné, si figure il y a ...
+  all_figs = winsid();
+  all_figs = all_figs(all_figs >= 100001); // All Scilab graphic windows opened for demos
+  for fig_index = 1:size(all_figs, "*")
+    fig_to_del = get_figure_handle(all_figs(fig_index));
+    if ~isempty(fig_to_del) then
+      delete(fig_to_del);
     end
-    
-       // Handle de la figure
-       demo_fig        = gcbo.parent;
-
-       // Frame sur laquelle on a cliqué
-       my_selframe_num = msscanf(my_selframe,"listbox_%d");
-       
-       // Récupération de la liste des démos
-       my_index = get(findobj("tag",my_selframe), "value"    );
-       my_data  = get(findobj("tag",my_selframe), "user_data");
-       
-       script_path = my_data(my_index(1,1),2);
-       
-       if grep(script_path,"dem.gateway.sce") == 1 then
-               
-               // On est dans le cas ou une nouvelle frame va être affichée
-               
-               // Mise à jour du nombre de frame
-               frame_number    = my_selframe_num+1;
-               resize_gui(demo_fig,frame_number);
-               previous_demolist      = subdemolist;
-               
-               mode(-1);
-               exec(script_path,-1);
-               create_frame(demo_fig,my_selframe_num+1,my_data(my_index(1,1),1),subdemolist);
-               subdemolist = previous_demolist;
-               
-       else
-               // Mise à jour du nombre de frame
-               frame_number    = my_selframe_num;
-               resize_gui(demo_fig,frame_number);
-       end
-       
+  end
+
+  // Handle de la figure
+  demo_fig    = gcbo.parent;
+
+  // Frame sur laquelle on a cliqué
+  my_selframe_num = msscanf(my_selframe,"listbox_%d");
+
+  // Récupération de la liste des démos
+  my_index = get(findobj("tag",my_selframe), "value"  );
+  my_data  = get(findobj("tag",my_selframe), "user_data");
+
+  script_path = my_data(my_index(1,1),2);
+
+  if grep(script_path,"dem.gateway.sce") == 1 then
+
+    // On est dans le cas ou une nouvelle frame va être affichée
+
+    // Mise à jour du nombre de frame
+    frame_number  = my_selframe_num+1;
+    resize_gui(demo_fig,frame_number);
+    previous_demolist    = subdemolist;
+
+    mode(-1);
+    exec(script_path,-1);
+    create_frame(demo_fig,my_selframe_num+1,my_data(my_index(1,1),1),subdemolist);
+    subdemolist = previous_demolist;
+
+  else
+    // Mise à jour du nombre de frame
+    frame_number  = my_selframe_num;
+    resize_gui(demo_fig,frame_number);
+  end
+
 endfunction
 
 function resize_gui(my_fig_handle,frame_number)
-       
-       // Parameters
-       // =========================================================================
-       
-       frame_w      = 200;     // Frame width
-       frame_h      = 450;     // Frame height
-       
-       margin_x     = 15;      // Horizontal margin between each elements
-       margin_y     = 15;      // Vertical margin between each elements
-       
-       button_w     = 0;       // Button width
-       button_h     = 0;       // Button height
-       
-       defaultfont  = "arial"; // Default Font
-       
-       // =========================================================================
-       
-       axes_w                     = (frame_number+1)*margin_x + frame_number*frame_w; // axes width
-       my_fig_handle.axes_size(1) = axes_w;
-       
-       for i=(frame_number+1):10
-               
-               my_frame               = findobj("tag", "frame_"      +string(i));
-               my_frame_title         = findobj("tag", "title_frame_"+string(i));
-               my_listbox             = findobj("tag", "listbox_"    +string(i));
-               
-               if my_frame <> [] then
-                       delete_frame(my_fig_handle,i);
-               end
-               
-       end
-       
-       // update_button_position(my_fig_handle,axes_w);
-       
+
+  // Parameters
+  // =========================================================================
+
+  frame_w    = 200;   // Frame width
+  frame_h    = 450;   // Frame height
+
+  margin_x   = 15;    // Horizontal margin between each elements
+  margin_y   = 15;    // Vertical margin between each elements
+
+  button_w   = 0;     // Button width
+  button_h   = 0;     // Button height
+
+  defaultfont  = "arial"; // Default Font
+
+  // =========================================================================
+
+  axes_w           = (frame_number+1)*margin_x + frame_number*frame_w; // axes width
+  my_fig_handle.axes_size(1) = axes_w;
+
+  for i=(frame_number+1):10
+
+    my_frame         = findobj("tag", "frame_"    +string(i));
+    my_frame_title     = findobj("tag", "title_frame_"+string(i));
+    my_listbox       = findobj("tag", "listbox_"  +string(i));
+
+    if my_frame <> [] then
+      delete_frame(my_fig_handle,i);
+    end
+
+  end
+
+  // update_button_position(my_fig_handle,axes_w);
+
 endfunction
 
 function update_button_position(my_fig_handle,axes_w)
-       
-       // Update button position
-       
-       global margin_y;
-       global button_w;
-       global button_h;
-       
-       my_button = findobj("tag", "button_view_code");
-       my_button.position = [ floor((axes_w/2) - (button_w/2)) margin_y button_w button_h ];
-       
+
+  // Update button position
+
+  global margin_y;
+  global button_w;
+  global button_h;
+
+  my_button = findobj("tag", "button_view_code");
+  my_button.position = [ floor((axes_w/2) - (button_w/2)) margin_y button_w button_h ];
+
 endfunction
 
 function delete_frame(my_fig_handle,fr_position)
-       
-       my_frame               = findobj("tag", "frame_"      +string(fr_position));
-       my_frame_title         = findobj("tag", "title_frame_"+string(fr_position));
-       my_listbox             = findobj("tag", "listbox_"    +string(fr_position));
-       
-       delete(my_frame);
-       delete(my_frame_title);
-       delete(my_listbox);
-       
+
+  my_frame         = findobj("tag", "frame_"    +string(fr_position));
+  my_frame_title     = findobj("tag", "title_frame_"+string(fr_position));
+  my_listbox       = findobj("tag", "listbox_"  +string(fr_position));
+
+  delete(my_frame);
+  delete(my_frame_title);
+  delete(my_listbox);
+
 endfunction
index bac1cc5..4459472 100644 (file)
@@ -1,5 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2006-2008 - INRIA
+// Copyright (C) 2011 - DIGITEO
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -9,6 +10,5 @@
 
 // Load  functions libraries
 // =============================================================================
-load('SCI/modules/development_tools/macros/lib');
-load('SCI/modules/development_tools/macros/assert/lib');
-
+  load('SCI/modules/development_tools/macros/lib');
+  load('SCI/modules/development_tools/macros/assert/lib');
diff --git a/scilab/modules/differential_equations/demos/differential_equations.dem.gateway.sce b/scilab/modules/differential_equations/demos/differential_equations.dem.gateway.sce
new file mode 100644 (file)
index 0000000..f87c861
--- /dev/null
@@ -0,0 +1,28 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function subdemolist = demo_gateway()
+
+  demopath = get_absolute_file_path("differential_equations.dem.gateway.sce");
+  add_demo(gettext("Simulation"), demopath + "differential_equations.dem.gateway.sce");
+
+  subdemolist = [_("n-pendulum")         ,"n_pendulum/n_pendulum.dem.sce" ;
+                 _("Wheel simulation")   ,"wheel/wheel.dem.gateway.sce"   ;
+                 _("Bike simulation")    ,"bike/bike.dem.gateway.sce"     ;
+                 _("ODE''S")             ,"ode/ode.dem.gateway.sce"       ;
+                 _("DAE''S")             ,"dae/dae.dem.gateway.sce"       ];
+
+  if ~ usecanvas() then
+    subdemolist = [ subdemolist                               ; ..
+                 _("Flow simulation")    ,"flow/flow.dem.gateway.sce" ; ..
+                 _("Levitron")           ,"levitron/levitron.dem.sce" ];
+  end
+
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
diff --git a/scilab/modules/differential_equations/demos/simulation.dem.gateway.sce b/scilab/modules/differential_equations/demos/simulation.dem.gateway.sce
deleted file mode 100644 (file)
index 31c1b53..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-// This file is released under the 3-clause BSD license. See COPYING-BSD.
-
-demopath = get_absolute_file_path("simulation.dem.gateway.sce");
-
-subdemolist = ["n-pendulum"         ,"n_pendulum/n_pendulum.dem.sce" ;
-               "Wheel simulation"   ,"wheel/wheel.dem.gateway.sce"   ;
-               "Bike simulation"    ,"bike/bike.dem.gateway.sce"     ;
-               "ODE''S"             ,"ode/ode.dem.gateway.sce"       ;
-               "DAE''S"             ,"dae/dae.dem.gateway.sce"       ];
-
-if ~ usecanvas() then
-    subdemolist = [ subdemolist                               ; ..
-        "Flow simulation"   ,"flow/flow.dem.gateway.sce" ; ..
-        "Levitron"          ,"levitron/levitron.dem.sce" ];
-end
-
-subdemolist(:,2) = demopath + subdemolist(:,2);
-clear demopath;
\ No newline at end of file
index b38c124..31e5296 100644 (file)
@@ -1,6 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2006-2008 - INRIA
-// Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2009-2011 - DIGITEO
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
 
 // Load  functions libraries
 // =============================================================================
-load("SCI/modules/differential_equations/macros/lib");
-
-// Add demos
-// =============================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/differential_equations/demos/simulation.dem.gateway.sce",%f,%t);
-       add_demo(gettext("Simulation"),pathdemos);
-end
-
+  load("SCI/modules/differential_equations/macros/lib");
index 38c65a5..0f7243a 100644 (file)
@@ -1,12 +1,18 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2009 - DIGITEO - Allan CORNET
+// Copyright (C) 2009-2011 - DIGITEO - Allan CORNET
 //
 // This file is released under the 3-clause BSD license. See COPYING-BSD.
 
-demopath = get_absolute_file_path("dynamic_link.dem.gateway.sce");
+function subdemolist = demo_gateway()
 
-subdemolist = ["call a C function"             , "call_c.sce" ;
-               "call a fortran subroutine"             , "call_fortran.sce" ;];
+  demopath = get_absolute_file_path("dynamic_link.dem.gateway.sce");
+  add_demo(_("Dynamic link"), demopath+"dynamic_link.dem.gateway.sce");
 
-subdemolist(:,2) = demopath + subdemolist(:,2)
-clear demopath;
\ No newline at end of file
+  subdemolist = ["call a C function"             , "call_c.sce" ;
+                "call a fortran subroutine"             , "call_fortran.sce" ;];
+
+  subdemolist(:,2) = demopath + subdemolist(:,2)
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
index 54953d9..4e583a7 100644 (file)
@@ -1,6 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) INRIA - Allan CORNET
-// Copyright (C) DIGITEO - 2010 - Allan CORNET
+// Copyright (C) DIGITEO - 2010-2011 - 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
@@ -8,35 +8,30 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
+function dynamic_linklib = startModule()
+
 //Load  functions libraries
 // =============================================================================
-load('SCI/modules/dynamic_link/macros/lib');
+  load('SCI/modules/dynamic_link/macros/lib');
 
 // Configure Environment Variables for Microsoft Visual Studio C and
 // Intel Fortran
-if getos() == 'Windows' then
-  if findmsvccompiler() <> 'unknown' then
-    // Configure Ms VC environment
-    configure_msvc();
-    clear configure_msvc
-    if findmsifortcompiler() <> 'unknown' then
-      // Configure Intel Fortran environment
-      configure_msifort();
-      clear configure_msifort
-    else
-      // Use F2C 
-      setenv('USE_F2C', 'YES');
+  if getos() == 'Windows' then
+    if findmsvccompiler() <> 'unknown' then
+      // Configure Ms VC environment
+      configure_msvc();
+      if findmsifortcompiler() <> 'unknown' then
+        // Configure Intel Fortran environment
+        configure_msifort();
+      else
+        // Use F2C 
+        setenv('USE_F2C', 'YES');
+      end
     end
-    clear findmsifortcompiler
   end
-  clear findmsvccompiler
-end
 
-// Add demos
-// =============================================================================
-if WITH_DEMOS then
-  pathdemos = pathconvert(SCI + "/modules/dynamic_link/demos/dynamic_link.dem.gateway.sce", %f, %t);
-  add_demo(gettext("Dynamic link"), pathdemos);
-  clear pathdemos;
-end
-// =============================================================================
+endfunction
+
+dynamic_linklib = startModule();
+clear startModule;
+
index 17c1ef0..1dd0dff 100644 (file)
@@ -1,5 +1,5 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2009-2011 - DIGITEO
 // 
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -9,5 +9,4 @@
 
 //Load  functions libraries
 // =============================================================================
-load('SCI/modules/elementary_functions/macros/lib');
-
+  load('SCI/modules/elementary_functions/macros/lib');
index 4be341d..4e1018a 100644 (file)
@@ -1,5 +1,5 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2009-2011  - DIGITEO - 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
@@ -7,58 +7,50 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
-if %fftw then
-
+function fftptr = startModule()
+  fftptr = fft;
+  
+  if %fftw then
     if getos() == "Windows" then
-        librarynamefftw = SCI+"/bin/fftw/libfftw3-3"+getdynlibext();
-        librarynamefftw3 = "";
+      librarynamefftw = SCI+"/bin/fftw/libfftw3-3"+getdynlibext();
+      librarynamefftw3 = "";
     else
-        librarynamefftw = "libfftw3"+getdynlibext();
-        // Some distribs/os are not adding the .3 extension...
-        librarynamefftw3 = librarynamefftw+".3";
+      librarynamefftw = "libfftw3"+getdynlibext();
+      // Some distribs/os are not adding the .3 extension...
+      librarynamefftw3 = librarynamefftw+".3";
     end
 
     if ( loadfftwlibrary(librarynamefftw3) | loadfftwlibrary(librarynamefftw)) then
-        //Load  functions libraries
-        //load("SCI/modules/fftw/macros/lib");
-        // ===========================================================
-        // replace scilab fft function by fftw
-        clearfun fft;
-        fft=fftw;
-
-        //add demos
-
-        // path = get_absolute_file_path("fftw.start");
-        // path = getshortpathname(path);
-        // pathdemos = pathconvert(part(path,1:(length(path)-5))+"/demos/fftw.dem",%f,%f);
-        // add_demo("FFTW",pathdemos);
-        // clear path
-        // clear pathdemos;
+      // replace scilab fft function by fftw
+      clearfun fft;
+      fftptr = fftw;
 
     else  // if ( loadfftwlibrary(librarynamefftw) )
-        // TO DO : replace this by a Message box
-        settings_file = pathconvert(SCIHOME+"/.scilab_settings",%f,%t)
-        w=fileinfo(settings_file);
-        show=%t;
-        if w <> [] then
-            show=grep(mgetl(SCIHOME+"/.scilab_settings"),"displayWarningFFTW=no")==[]
+      settings_file = pathconvert(SCIHOME+"/.scilab_settings", %f, %t)
+      w = fileinfo(settings_file);
+      show = %t;
+      if w <> [] then
+        show = grep(mgetl(SCIHOME+"/.scilab_settings"),"displayWarningFFTW=no")==[]
+      end
+      if show then
+        MSG_FTTW = [_("You choose to install scilab with fftw module.");
+                  _("This module requires : "+librarynamefftw+" (GPL licence).");
+                  _("Scilab will use standard fft by default until you install this library.");
+                  _("See help fftw for more informations.")];
+      
+        if getscilabmode() == "STD" then
+          messagebox(MSG_FTTW,"","info");
+        else
+          warning(MSG_FTTW);
         end
-        if show then
-            MSG_FTTW = "You choose to install scilab with fftw module."+ascii(10)+ ..
-                "This module requires : "+librarynamefftw+" (GPL licence)."+ascii(10)+ ..
-                "Scilab will use standard fft by default until you install this library."+ascii(10)+ ..
-                "See help fftw for more informations."+ascii(10);
-            printf("\n");
-            warning(MSG_FTTW);
-            clear MSG_FTTW;
-            mputl("displayWarningFFTW=no",SCIHOME+"/.scilab_settings")
-            clear printf;
-        end
-        clear show;
-        clear settings_file;
-        clear w;
-    end // if ( loadfftwlibrary(librarynamefftw) ) then
+        mputl("displayWarningFFTW=no",SCIHOME+"/.scilab_settings")
+      end
+    end // if ( loadfftwlibrary(librarynamefftw) ) 
+  end
+
+endfunction
 
-    clear librarynamefftw
-    clear librarynamefftw3
-end
+funcprot(0);
+fft = startModule();
+funcprot(1);
+clear startModule;
index bea7a75..a4bc68a 100644 (file)
@@ -1,5 +1,5 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2009-2011 - DIGITEO
 // 
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -9,5 +9,4 @@
 
 //Load  functions libraries
 // =============================================================================
-load('SCI/modules/fileio/macros/lib');
-
+  load('SCI/modules/fileio/macros/lib');
index 1969546..85ac7aa 100644 (file)
@@ -1,28 +1,32 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2008 - INRIA
-// Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2009-2011 - DIGITEO
 //
 // 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 graphic_exportlib = startModule()
+
 //Load  functions libraries
 // =============================================================================
-if (getscilabmode() <> 'NWNI') then
-       load(SCI+"/modules/graphic_export/macros/lib");
-end
-
+  load(SCI+"/modules/graphic_export/macros/lib");
 
 // global variable for export
 // =============================================================================
-global %driverName;
-global %exportFileName;
+  global %driverName;
+  global %exportFileName;
+
+  %driverName = "Rec";
+  %exportFileName = [];
+endfunction
+
 
-%driverName = "Rec";
-%exportFileName = [];
+if (getscilabmode() <> 'NWNI') then
+  graphic_exportlib = startModule();
+end
 
-clear %driverName;
-clear %exportFileName;
+clear startModule;
\ No newline at end of file
index eca1a07..fae7446 100644 (file)
@@ -1,28 +1,34 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2008 - INRIA
 // Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
 //
 // This file is released under the 3-clause BSD license. See COPYING-BSD.
 
-demopath = get_absolute_file_path("graphics.dem.gateway.sce");
 
-subdemolist = ["2D and 3D plots"             ,"2d_3d_plots/2d_3d_plots.dem.gateway.sce"             ; ..
-               "Basic functions"             ,"basic_functions/basic_functions.dem.gateway.sce"     ; ..
-               "Animation"                   ,"anim/anim.dem.gateway.sce"                           ; ..
-               "Finite Elements"             ,"fec/fec.dem.gateway.sce"                             ; ..
-               "Bezier curves and surfaces"  ,"bezier/bezier.dem.gateway.sce"                       ; ..
-               "More surfaces"               ,"surface/surfaces.dem.gateway.sce"                    ; ..
-               "Complex elementary functions","cmplxfunc/cmplxfunc.dem.gateway.sce"                 ; ..
-               "bar histogram"               ,"bar/bar.dem.sce"; ..
-               "LaTeX/MathML"                ,"textrendering/textrendering.dem.gateway.sce"                                     ];
+function subdemolist = demo_gateway()
 
+  demopath = get_absolute_file_path("graphics.dem.gateway.sce");
+  add_demo(gettext("Graphics"), demopath+"graphics.dem.gateway.sce");
 
+  subdemolist = [_("2D and 3D plots")             ,"2d_3d_plots/2d_3d_plots.dem.gateway.sce"             ; ..
+                 _("Basic functions")             ,"basic_functions/basic_functions.dem.gateway.sce"     ; ..
+                 _("Animation")                   ,"anim/anim.dem.gateway.sce"                           ; ..
+                 _("Finite Elements")             ,"fec/fec.dem.gateway.sce"                             ; ..
+                 _("Bezier curves and surfaces")  ,"bezier/bezier.dem.gateway.sce"                       ; ..
+                 _("More surfaces")               ,"surface/surfaces.dem.gateway.sce"                    ; ..
+                 _("Complex elementary functions"),"cmplxfunc/cmplxfunc.dem.gateway.sce"                 ; ..
+                 _("bar histogram")               ,"bar/bar.dem.sce"; ..
+                 _("LaTeX/MathML")                ,"textrendering/textrendering.dem.gateway.sce"                                     ];
 
-if ~ usecanvas() then
+  if ~ usecanvas() then
     subdemolist = [ subdemolist ;
-                "Misc"                        ,"misc/misc.dem.sce"                                  ; ..
-                "Colormap"                    ,"colormap/colormap.dem.sce"                        ];
-end
+                 _("Misc")                        ,"misc/misc.dem.sce"; ..
+                 _("Colormap")                    ,"colormap/colormap.dem.sce"];
+  end
 
-subdemolist(:,2) = demopath + subdemolist(:,2);
-clear demopath;
\ No newline at end of file
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
index eb7a621..c70cb32 100644 (file)
@@ -1,6 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2006-2008 - INRIA
-// Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2009-2011 - DIGITEO
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -8,23 +8,17 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
+function [graphicslib, datatipslib] = startModule()
+
 //Load  functions libraries
 // =============================================================================
-if (getscilabmode() <> 'NWNI') then
-       load(SCI+"/modules/graphics/macros/lib");
-       load(SCI+"/modules/graphics/macros/datatips/lib");
-end
+  load(SCI+"/modules/graphics/macros/lib");
+  load(SCI+"/modules/graphics/macros/datatips/lib");
 
-// check bug 7575 on Windows
-// =============================================================================
-if getos() == "Windows" then
-  exec(SCI+"/modules/graphics/etc/nvidia_bug_7575.sce", -1);
-end
+endfunction
 
-// Add demo
-// =============================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/graphics/demos/graphics.dem.gateway.sce",%f,%t);
-       add_demo(gettext("Graphics"),pathdemos);
-       clear pathdemos;
+if (getscilabmode() <> 'NWNI') then
+  [graphicslib, datatipslib] = startModule();
 end
+
+clear startModule;
index ccf81e0..9dc44a5 100644 (file)
@@ -1,19 +1,29 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2008 - INRIA
 // Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
 //
 // This file is released under the 3-clause BSD license. See COPYING-BSD.
 
-demopath = get_absolute_file_path("gui.dem.gateway.sce");
 
-subdemolist = ["Dialogs"   ,"dialog.dem.sce" ; ..
-       "Uicontrols 1" ,"uicontrol.dem.sce" ];
+function subdemolist = demo_gateway()
 
-if ~ usecanvas() then
-       subdemolist = [ subdemolist ; "Uicontrols 2" ,"uicontrol_plot3d.dem.sce" ];
-end
+  demopath = get_absolute_file_path("gui.dem.gateway.sce");
+  add_demo(gettext("GUI"), demopath + "gui.dem.gateway.sce");
 
-subdemolist = [ subdemolist ; "Uicontrols with LaTeX/MathML" ,  "uicontrol_LaTeX.dem.sce" ];
+  subdemolist = [_("Dialogs")   ,"dialog.dem.sce" ; ..
+                 _("Uicontrols 1") ,"uicontrol.dem.sce" ];
 
-subdemolist(:,2) = demopath + subdemolist(:,2);
-clear demopath;
\ No newline at end of file
+  if ~ usecanvas() then
+    subdemolist = [ subdemolist ; 
+                  _("Uicontrols 2") ,"uicontrol_plot3d.dem.sce" ];
+  end
+
+  subdemolist = [ subdemolist ; 
+                 _("Uicontrols with LaTeX/MathML") ,  "uicontrol_LaTeX.dem.sce" ];
+
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
index e1c872b..b7896f5 100644 (file)
@@ -1,6 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2006-2008 - INRIA
-// Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2009-2011 - DIGITEO
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -8,15 +8,17 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
+function [guilib, uitreelib] = startModule()
+
 //Load  functions libraries
 // =============================================================================
-load("SCI/modules/gui/macros/lib");
-load("SCI/modules/gui/macros/tree/lib");
+  load("SCI/modules/gui/macros/lib");
+  load("SCI/modules/gui/macros/tree/lib");
 
-// Add demo
-// =============================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/gui/demos/gui.dem.gateway.sce",%f,%t);
-       add_demo(gettext("GUI"),pathdemos);
-       clear pathdemos;
+endfunction
+
+if (getscilabmode() <> 'NWNI') then
+  [guilib, uitreelib] = startModule();
 end
+
+clear startModule;
\ No newline at end of file
index afd1ef9..0b191f7 100644 (file)
@@ -1,6 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2006-2008 - INRIA
-// Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2009-2011 - DIGITEO
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -10,5 +10,4 @@
 
 //Load  functions libraries
 // =============================================================================
-load('SCI/modules/helptools/macros/lib');
-
+  load('SCI/modules/helptools/macros/lib');
index c23e406..c1c22a7 100644 (file)
@@ -1,6 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2006-2008 - INRIA
-// Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2009-2011 - DIGITEO
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -8,10 +8,16 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
-if (sciargs() <> "-nouserstartup") & ~fromjava() & ~fromc() then
-  // enable history manager
-  historymanager("on");
-  // load history file
-  loadhistory();
-end
+function startModule()
 
+  if (sciargs() <> "-nouserstartup") & ~fromjava() & ~fromc() then
+    // enable history manager
+    historymanager("on");
+    // load history file
+    loadhistory();
+  end
+
+endfunction
+
+startModule();
+clear startModule;
index 9645b25..87de4a0 100644 (file)
@@ -1,5 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2006 - INRIA - Allan CORNET
+// Copyright (C) 2011 - DIGITEO - 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
@@ -7,3 +8,19 @@
 // are also available at    
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
+function startModule()
+
+// Set LANGUAGE  ======================================================
+// used mainly for on-line help
+
+  args = sciargs();
+  larg = find(args == "-l");
+  
+  if larg<>[] & larg <= size(args, "*") then
+    L = args(larg + 1);
+    setlanguage(L);
+  end
+endfunction
+
+startModule();
+clear startModule;
index 0f9287d..ffe4fc5 100644 (file)
@@ -1,5 +1,5 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2010-2011 - DIGITEO - 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
@@ -9,5 +9,4 @@
 
 // Load  functions libraries
 // =============================================================================
-load("SCI/modules/modules_manager/macros/lib");
-
+  load("SCI/modules/modules_manager/macros/lib");
index 7c26a66..f1c4594 100644 (file)
@@ -1,21 +1,30 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2008 - INRIA
-// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2010-2011 - DIGITEO - Allan CORNET
 //
 // This file is released under the 3-clause BSD license. See COPYING-BSD.
 
-subdemolist = [_("Non linear data fitting"), "datafit/datafit.dem.gateway.sce"; ..
-               _("Optimisation"),            "optim/optim.dem.gateway.sce"; ..
-               _("fminsearch"),              "neldermead/neldermead.dem.gateway.sce"];
+function subdemolist = demo_gateway()
 
-if with_module('genetic_algorithms') then
-  subdemolist = [subdemolist; ..
+  demopath = get_absolute_file_path("optimization.dem.gateway.sce");
+  add_demo(gettext("Optimization and Simulation"), demopath+"optimization.dem.gateway.sce");
+
+  subdemolist = [_("Non linear data fitting"), "datafit/datafit.dem.gateway.sce"; ..
+                 _("Optimisation"),            "optim/optim.dem.gateway.sce"; ..
+                 _("fminsearch"),              "neldermead/neldermead.dem.gateway.sce"];
+
+  if with_module('genetic_algorithms') then
+    subdemolist = [subdemolist; ..
                  _("Genetic algorithms"), "../../genetic_algorithms/demos/genetic_algorithms.dem.gateway.sce"];
-end
+  end
 
-if with_module('simulated_annealing') then
-  subdemolist = [subdemolist; ..
+  if with_module('simulated_annealing') then
+    subdemolist = [subdemolist; ..
                  _("Simulated Annealing"), "../../simulated_annealing/demos/simulated_annealing.dem.gateway.sce"];
-end
+  end
+
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+endfunction
 
-subdemolist(:,2) = SCI + "/modules/optimization/demos/"+ subdemolist(:,2);
+subdemolist = demo_gateway();
+clear demo_gateway;
index b54e789..12d2e7c 100644 (file)
@@ -1,5 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2006-2008 - INRIA
+// Copyright (C) 2011 - DIGITEO
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -15,10 +16,3 @@ load('SCI/modules/optimization/macros/optimbase/lib');
 load('SCI/modules/optimization/macros/optimsimplex/lib');
 
 
-// Add demos
-// =============================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/optimization/demos/optimization.dem.gateway.sce",%f,%t);
-       add_demo(gettext("Optimization and Simulation"),pathdemos);
-       clear pathdemos;
-end
index 6455cfb..d96c6d1 100644 (file)
@@ -1,9 +1,19 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2008 - INRIA - Michael Baudin
-// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2010-2011 - DIGITEO - Allan CORNET
 //
 // This file is released under the 3-clause BSD license. See COPYING-BSD.
 
-subdemolist = [_("Introduction")             , "intro/poly.intro.dem.sce" ];
+function subdemolist = demo_gateway()
 
-subdemolist(:,2) = SCI + "/modules/polynomials/demos/" + subdemolist(:,2);
+  demopath = get_absolute_file_path("polynomials.dem.gateway.sce");
+  add_demo(gettext("Polynomials"),demopath+"polynomials.dem.gateway.sce");
+
+  subdemolist = [_("Introduction")             , "intro/poly.intro.dem.sce" ];
+
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+  
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
\ No newline at end of file
index 48885f8..0a69d14 100644 (file)
@@ -1,5 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2006-2008 - INRIA
+// Copyright (C) 2011 - DIGITEO
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
 
 //Load  functions libraries
 // =============================================================================
-load('SCI/modules/polynomials/macros/lib');
+  load('SCI/modules/polynomials/macros/lib');
 
 // Special variables definition
 // =============================================================================
-%s = poly(0,'s');
-%z = poly(0,'z');
-$  = poly(0,'$')
-
-// Add demo
-// =============================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/polynomials/demos/polynomials.dem.gateway.sce",%f,%t);
-       add_demo(gettext("Polynomials"),pathdemos);
-       clear pathdemos ;
-end
+  %s = poly(0,'s');
+  %z = poly(0,'z');
+  $  = poly(0,'$');
diff --git a/scilab/modules/pvm/demos/pvm.dem.gateway.sce b/scilab/modules/pvm/demos/pvm.dem.gateway.sce
new file mode 100644 (file)
index 0000000..941a184
--- /dev/null
@@ -0,0 +1,18 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+// Copyright (C) 2010-2011 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function subdemolist = demo_gateway()
+
+  demopath = get_absolute_file_path("pvm.dem.gateway.sce");
+  add_demo(_("PVM parallel Toolbox"), demopath+"pvm.dem.gateway.sce");
+
+  subdemolist = [_("Master and slave")  ,"pvm.dem.sce"];
+
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
index 69b5e07..da289e7 100644 (file)
@@ -1,29 +1,25 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2006 - INRIA
-// 
+// Copyright (C) 2011 - DIGITEO
+//
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
 // you should have received as part of this distribution.  The terms
-// are also available at    
+// are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
-if with_module('pvm') then
-       
-       // Load  functions libraries
-       // =========================================================================
-       load('SCI/modules/pvm/macros/lib');
-       
-       // Add demos
-       // =========================================================================
-       if WITH_DEMOS then
-               pathdemos = pathconvert(SCI+"/modules/pvm/demos/pvm.dem",%f,%t);
-               add_demo(gettext("PVM parallel Toolbox"),pathdemos);
-               clear pathdemos
-       end
-       
-       if getos() == 'Windows' then
-               configure_pvm()
-               clear configure_pvm
-       end
-       
-end
+function pvmlib = startModule()
+
+  if with_module('pvm') then
+    // Load  functions libraries
+    // =========================================================================
+    load('SCI/modules/pvm/macros/lib');
+
+    if getos() == 'Windows' then
+        configure_pvm()
+    end
+  end
+endfunction
+
+pvmlib = startModule();
+clear startModule;
\ No newline at end of file
@@ -4,7 +4,12 @@
 //
 // This file is released under the 3-clause BSD license. See COPYING-BSD.
 
-subdemolist = [_("binomial random variable")        ,"binomial.dem.sce"      ; ..
+function subdemolist = demo_gateway()
+
+  demopath = get_absolute_file_path("randlib.dem.gateway.sce");
+  add_demo(_("Random"), demopath + "randlib.dem.gateway.sce");
+
+  subdemolist = [_("binomial random variable")        ,"binomial.dem.sce"      ; ..
                _("discrete random variable")        ,"discrete.dem.sce"      ; ..
                _("discrete uniform random variable"),"discrete_uni.dem.sce"  ; ..
                _("geometric random variable")       ,"geometric.dem.sce"     ; ..
@@ -14,4 +19,9 @@ subdemolist = [_("binomial random variable")        ,"binomial.dem.sce"      ; .
                _("Hyper geometric random variable") ,"hypergeom.dem.sce"     ; ..
                _("Erlang random variable")          ,"erlang.dem.sce"        ];
 
-subdemolist(:,2) = SCI + "/modules/randlib/demos/" + subdemolist(:,2);
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+  
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
index c57d06e..7471346 100644 (file)
@@ -1,16 +1,9 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2006-2008 - INRIA
+// Copyright (C) 2011 - DIGITEO
 //
 // 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
-
-// Add demos
-// =========================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/randlib/demos/random.dem.gateway.sce",%f,%t);
-       add_demo(gettext("Random"),pathdemos);
-       clear pathdemos
-end
index 65cbb7c..4179ec7 100644 (file)
@@ -1,5 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) - INRIA
+// Copyright (C) - 2011 - DIGITEO
 //
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -7,10 +8,10 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
-clear  scicos_pal // explicitly clear %helps scicos_pal variables
+clear scicos_pal // explicitly clear scicos_pal variable
 
 //Load functions libraries
 // =============================================================================
 load('SCI/modules/scicos/macros/scicos_utils/lib');
 load('SCI/modules/scicos/macros/scicos_auto/lib')
-// =============================================================================
+
@@ -1,10 +1,15 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) ????-2008 - INRIA
-// Copyright (C) 2010 - DIGITEO - Allan CORNET
+// Copyright (C) 2010-2011 - DIGITEO - Allan CORNET
 //
 // This file is released under the 3-clause BSD license. See COPYING-BSD.
 
-subdemolist = [_("Spectral Estimation")               , "spect.dem.sce"
+function subdemolist = demo_gateway()
+
+  demopath = get_absolute_file_path("signal_processing.dem.gateway.sce");
+  add_demo(gettext("Signal Processing"), demopath + "signal_processing.dem.gateway.sce");
+
+  subdemolist = [_("Spectral Estimation")               , "spect.dem.sce"
                _("IIR filter design")                 , "iir.dem.sce"
                _("Minimax FIR filter design")         , "remezfilt.dem.sce"
                _("Discrete IIR filter")               , "iirfilt.dem.sce"
@@ -15,4 +20,9 @@ subdemolist = [_("Spectral Estimation")               , "spect.dem.sce"
                _("Arma, bidimensional version")       , "arma/arma2.dem.sce"
                _("Arma, Spectral power estimation")   , "arma/arma3.dem.sce"];
 
-subdemolist(:,2) = SCI + "/modules/signal_processing/demos/" + subdemolist(:,2);
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
\ No newline at end of file
index 94a0b8b..90bf725 100644 (file)
 //Load  functions libraries
 // =============================================================================
 load('SCI/modules/signal_processing/macros/lib');
-
-
-// Add demos
-// =========================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/signal_processing/demos/signal.dem.gateway.sce",%f,%t);
-       add_demo(gettext("Signal Processing"),pathdemos);
-       clear pathdemos;
-end
diff --git a/scilab/modules/sound/demos/sound.dem.gateway.sce b/scilab/modules/sound/demos/sound.dem.gateway.sce
new file mode 100644 (file)
index 0000000..34bb419
--- /dev/null
@@ -0,0 +1,18 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function subdemolist = demo_gateway()
+
+  demopath = get_absolute_file_path("sound.dem.gateway.sce");
+  add_demo(gettext('Sound file handling'), demopath + "sound.dem.gateway.sce");
+
+  subdemolist = [_("FFT on a wav file")  ,"sound.dem.sce"]
+
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+  
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
\ No newline at end of file
index 4da72fe..0ab60ff 100644 (file)
 // Load  functions libraries
 // =============================================================================
 load('SCI/modules/sound/macros/lib');
-
-// Add demos
-// =============================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/sound/demos/sound.dem.sce",%f,%t);
-       add_demo(gettext('Sound file handling'),pathdemos);
-       clear pathdemos;
-end
diff --git a/scilab/modules/spreadsheet/demos/spreadsheet.dem.gateway.sce b/scilab/modules/spreadsheet/demos/spreadsheet.dem.gateway.sce
new file mode 100644 (file)
index 0000000..b70aded
--- /dev/null
@@ -0,0 +1,18 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function subdemolist = demo_gateway()
+
+  demopath = get_absolute_file_path("spreadsheet.dem.gateway.sce");
+  add_demo(gettext('Spreadsheet'), demopath + "spreadsheet.dem.gateway.sce");
+
+  subdemolist = [_("Read a xls file")  ,"spreadsheet.dem.sce"];
+
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+  
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
\ No newline at end of file
index 5911444..4d4ed8f 100644 (file)
 //Load  functions libraries
 // =============================================================================
 load('SCI/modules/spreadsheet/macros/lib');
-
-// Add demos
-// =============================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/spreadsheet/demos/spreadsheet.dem.sce",%f,%t);
-       add_demo(gettext('Spreadsheet'),pathdemos);
-       clear pathdemos;
-end
diff --git a/scilab/modules/tclsci/demos/tclsci.dem.gateway.sce b/scilab/modules/tclsci/demos/tclsci.dem.gateway.sce
new file mode 100644 (file)
index 0000000..0425392
--- /dev/null
@@ -0,0 +1,21 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+// Copyright (C) 2010-2011 - DIGITEO - Allan CORNET
+//
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function subdemolist = demo_gateway()
+
+  demopath = get_absolute_file_path("tclsci.dem.gateway.sce");
+  add_demo(gettext('Tcl/Tk'), demopath + "tclsci.dem.gateway.sce");
+
+  subdemolist = [_("Color")  ,"color.dem.sce"      ; ..
+                 _("Puzzle") ,"puzzle.dem.sce"     ; ..
+                 _("Scroll") ,"scroll.dem.sce"     ; ..
+                 _("Scale")  ,"scale.dem.sce"      ]
+
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
diff --git a/scilab/modules/tclsci/demos/tk/tcltk.dem.gateway.sce b/scilab/modules/tclsci/demos/tk/tcltk.dem.gateway.sce
deleted file mode 100644 (file)
index d9e69ed..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-// Copyright (C) 2010 - DIGITEO - Allan CORNET
-//
-// This file is released under the 3-clause BSD license. See COPYING-BSD.
-
-
-subdemolist = [_("Color")  ,"color.dem.sce"      ; ..
-               _("Puzzle") ,"puzzle.dem.sce"     ; ..
-               _("Scroll") ,"scroll.dem.sce"     ; ..
-               _("Scale")  ,"scale.dem.sce"      ]
-
-subdemolist(:,2) = SCI + "/modules/tclsci/demos/tk/" + subdemolist(:,2);
index fc9a94c..0d788df 100644 (file)
 // =============================================================================
 load('SCI/modules/tclsci/macros/lib');
 
-// Add demos
-// =============================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/tclsci/demos/tk/tcltk.dem.gateway.sce",%f,%t);
-       add_demo(gettext('Tcl/Tk'),pathdemos);
-       clear pathdemos;
-end
index e5b5607..2bbb1b5 100644 (file)
@@ -7,11 +7,19 @@
 // are also available at    
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
+function [texmacslib, texmacsoverloadinglib] = startModule()
+
 //Load  functions libraries
 // =============================================================================
-if with_texmacs() then
   load('SCI/modules/texmacs/macros/overloading/lib');
+  load('SCI/modules/texmacs/macros/lib');
+endfunction
+
+
+if or(sciargs() == "--texmacs") then
+  [texmacslib, texmacsoverloadinglib] = startModule();
+else
+  texmacslib = startModule();
 end
-load('SCI/modules/texmacs/macros/lib');
-clear with_texmacs;
 
+clear startModule;
\ No newline at end of file
index 8a392fb..dd68fb0 100644 (file)
@@ -1,5 +1,6 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) INRIA - Allan CORNET
+// Copyright (C) DIGITEO - 2011 - 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
@@ -7,12 +8,22 @@
 // are also available at    
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
-// =============================================================================
+function [windows_toolslib, WSCI] = startModule()
+
 // Load  functions libraries
 // =============================================================================
-load("SCI/modules/windows_tools/macros/lib");
+  load("SCI/modules/windows_tools/macros/lib");
+
+// path of scilab main directory for Windows
 // =============================================================================
-if (getscilabmode() == 'STD') then 
-  consolebox('off');
-end
+  WSCI = getlongpathname(pathconvert(SCI, %f, %f, "w"));
+
 // =============================================================================
+  if (getscilabmode() == 'STD') then 
+    consolebox('off');
+  end
+  
+endfunction
+
+[windows_toolslib, WSCI] = startModule();
+clear startModule;
index 398ea51..c508147 100644 (file)
@@ -1,22 +1,30 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2008 - INRIA
 // Copyright (C) 2009-2010 - DIGITEO
+// Copyright (C) 2011 - DIGITEO - Allan CORNET
 //
 // This file is released under the 3-clause BSD license. See COPYING-BSD.
 
-subdemolist = [_("Standard demos")                       , "standard.dem.gateway.sce"       ; ..
-               _("Control Systems")                      , "control_systems.dem.gateway.sce"    ; ..
-               _("Electrical Systems")                   , "electrical_systems.dem.gateway.sce" ; ..
-               _("Mechanical Systems")                   , "mechanical_systems.dem.gateway.sce" ;];
+function subdemolist = demo_gateway()
 
-if with_modelica_compiler() then
-subdemolist = [subdemolist; ..
-               _("Modelica demos")                       , "modelica_demos.dem.gateway.sce"];
-end
+  demopath = get_absolute_file_path("xcos.dem.gateway.sce");
+  add_demo(gettext('Xcos'), demopath + "xcos.dem.gateway.sce");
 
-subdemolist = [subdemolist; ..
-               _("Old demos")                            , "old_demos.dem.gateway.sce"          ; ..
-              ];
+  subdemolist = [_("Standard demos")      , "standard.dem.gateway.sce"       ; ..
+                 _("Control Systems")     , "control_systems.dem.gateway.sce"    ; ..
+                 _("Electrical Systems")  , "electrical_systems.dem.gateway.sce" ; ..
+                 _("Mechanical Systems")  , "mechanical_systems.dem.gateway.sce" ;];
 
-subdemolist(:,2) = SCI + "/modules/xcos/demos/" + subdemolist(:,2);
-clear with_modelica_compiler;
+  if with_modelica_compiler() then
+    subdemolist = [subdemolist; ..
+                 _("Modelica demos")      , "modelica_demos.dem.gateway.sce"];
+  end
+
+  subdemolist = [subdemolist; ..
+                 _("Old demos")           , "old_demos.dem.gateway.sce"];
+
+  subdemolist(:,2) = demopath + subdemolist(:,2);
+endfunction
+
+subdemolist = demo_gateway();
+clear demo_gateway;
index 79f9601..995a913 100644 (file)
@@ -1,5 +1,5 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2009 - DIGITEO
+// Copyright (C) 2009-2011 - DIGITEO
 // 
 // This file must be used under the terms of the CeCILL.
 // This source file is licensed as described in the file COPYING, which
@@ -9,15 +9,4 @@
 
 // Load  functions libraries
 // =============================================================================
-load('SCI/modules/xcos/macros/lib');
-// =============================================================================
-// Add help chapter
-// =============================================================================
-// Add demos
-// =============================================================================
-if WITH_DEMOS then
-       pathdemos = pathconvert(SCI+"/modules/xcos/demos/xcos.dem.gateway.sce",%f,%t);
-       add_demo(gettext('Xcos'),pathdemos);
-       clear pathdemos;
-end
-// =============================================================================
+  load('SCI/modules/xcos/macros/lib');