fix .start and .quit modules scripts, add call to .quit when closing Scilab 11/4511/4
Antoine ELIAS [Tue, 19 Jul 2011 11:39:58 +0000 (13:39 +0200)]
Change-Id: I20b067c2a895549768b3d842f5ec3c1e67f51737

29 files changed:
scilab/etc/scilab.quit
scilab/etc/scilab.start
scilab/modules/core/etc/core.start
scilab/modules/core/includes/tasks.hxx
scilab/modules/core/sci_gateway/cpp/sci_banner.cpp
scilab/modules/core/src/cpp/banner.cpp
scilab/modules/core/src/cpp/scilab.cpp
scilab/modules/core/src/cpp/tasks.cpp
scilab/modules/data_structures/etc/data_structures.start
scilab/modules/development_tools/etc/development_tools.start
scilab/modules/dynamic_link/etc/dynamic_link.start
scilab/modules/elementary_functions/etc/elementary_functions.start
scilab/modules/fileio/etc/fileio.quit
scilab/modules/fileio/etc/fileio.start
scilab/modules/gui/etc/gui.start
scilab/modules/helptools/etc/helptools.start
scilab/modules/history_manager/etc/history_manager.quit
scilab/modules/history_manager/etc/history_manager.start
scilab/modules/history_manager/src/c/history_manager.vcxproj
scilab/modules/history_manager/src/c/history_manager.vcxproj.filters
scilab/modules/jvm/etc/jvm.start
scilab/modules/localization/etc/localization.start
scilab/modules/scinotes/etc/scinotes.start
scilab/modules/scinotes/includes/scinotes_gw.hxx
scilab/modules/scinotes/sci_gateway/cpp/scinotes_gw.cpp
scilab/modules/scinotes/src/c/scinotes.vcxproj
scilab/modules/scinotes/src/c/scinotes.vcxproj.filters
scilab/modules/system_env/src/cpp/sci_home.cpp
scilab/modules/windows_tools/etc/windows_tools.start

index 5dd28e5..c4a7b96 100644 (file)
 // ====================================================================
 // starts modules .quit
 modules = getmodules();
-
-WITH_DEMOS     = ((with_module("demo_tools")) & (getscilabmode() <> "NWNI"));
+WITH_DEMOS = ((with_module("demo_tools")) & (getscilabmode() <> "NWNI"));
  
 for i=1:size(modules,"*")
-  exec("SCI/modules/"+modules(i)+"/etc/"+modules(i)+".quit",-1);
+    exec("SCI/modules/"+modules(i)+"/etc/"+modules(i)+".quit",-1);
 end  
-clear modules i WITH_DEMOS
-
 // ====================================================================
index f93dad7..0ab8f92 100644 (file)
 
 mode(-1);  // silent execution mode
 
-// clean database when restarted ======================================
-predef("clear"); //unprotect all variables
-clear  // erase all variables
-clearglobal();
-
-// Set stack size   ===================================================
-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
-endfunction
-setStackSize();
-clear setStackSize;
-
-// Special variables definition =======================================
-ieee(2);
-%inf = 1/0;
-ieee(0);
-%nan = %inf-%inf;
-// boolean variables
-%T = %t;
-%F = %f;
 %pvm = with_module("pvm");
 %tk = (with_module("tclsci") & getscilabmode() <> "NWNI");
 
@@ -66,97 +27,102 @@ clear %modalWarning;
 PWD = pwd();
 
 // Startup message  ===================================================
-if (sciargs()<>"-nb") & ~fromjava() & ~fromc() then
-  banner();
-  write(%io(2),[" ";" ";gettext("Startup execution:")]);
-  write(%io(2),gettext("  loading initial environment"));
+//if (sciargs()<>"-nb") & ~fromjava() & ~fromc() then
+if sciargs() <> "-nb" then
+    banner();
+    printf("\n\n%s\n", gettext("Startup execution:"));
+    printf(gettext("  loading initial environment") + "\n");
 end
 
 // loads modules ======================================================
-modules    = getmodules();
-for i=1:size(modules,"*")
-  exec("SCI/modules/" + modules(i) + "/etc/" + modules(i) + ".start", -1);
-end
-clear modules i
+//function startModules()
+//    modules    = getmodules();
+//    for i=1:size(modules,"*")
+//        exec("SCI/modules/" + modules(i) + "/etc/" + modules(i) + ".start", -1);
+//    end
+//endfunction
+
+//startModules();
+//clear startModules;
 
 // Create some configuration variables ================================
 home = getenv("HOME", SCI);
 if getos() <> "Windows" then
-  if getenv("PRINTERS", "ndef") == "ndef" then
-    setenv("PRINTERS", "lp");
-  end
+    if getenv("PRINTERS", "ndef") == "ndef" then
+        setenv("PRINTERS", "lp");
+    end
 end
 setenv("VERSION", getversion());
 
 // ATOMS ===============================================================
 if with_module("atoms") then
-  atomsSystemInit();
-  atomsAutoload();
-  clear atomsSystemInit atomsAutoload
+    atomsSystemInit();
+    atomsAutoload();
+    clear atomsSystemInit atomsAutoload
 end
 
-// Protect variable previously defined  ================================
-predef("all");
-
-// At startup, no interactive vertical paging by default. ==============
-lines(0);
-
 // load contrib menu if present ========================================
 function loadContrib()
-  if isfile(SCI+"/contrib/loader.sce") then
-    global %toolboxes;
-    global %toolboxes_dir;
-    exec(SCI+"/contrib/loader.sce");
-  end
+    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
-
-    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
+    if sciargs()<>"-nouserstartup" then
+        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
+
+        for i=1:size(startupfiles,"*")
+            if isfile(startupfiles(i)) then
+                exec(startupfiles(i),-1);
+            end
+        end
     end
-
-    for i=1:size(startupfiles,"*")
-      if isfile(startupfiles(i)) then
-        exec(startupfiles(i),-1);
-      end
-    end
-  end
 endfunction
+
 startUserConf();
 clear startUserConf;
 
 // Menus/toolbar can now be enabled ====================================
 if getscilabmode() == "STD" then
-  setmenu(gettext("&File"));
-  setmenu(gettext("&Edit"));
-  setmenu(gettext("&Preferences"));
-  setmenu(gettext("&Control"));
-  setmenu(gettext("&Applications"));
-  if ~with_module("scinotes") then // Desactivate Editor menu
-    unsetmenu(gettext("&Applications"), 1);
-  end
-  if ~with_module("xcos") then // Desactivate xcos menu
-    unsetmenu(gettext("&Applications"), 3);
-  end
-  if ~with_module("m2sci") then // Desactivate mfile2sci menu
-    unsetmenu(gettext("&Applications"), 5);
-  end
-  if ~with_module("atoms") then // Desactivate atoms menu
-    unsetmenu(gettext("&Applications"), 7);
-  end
-  setmenu(gettext("&?"));
-  setmenu(gettext("&Toolboxes"));
-  toolbar(-1, "on");
+    setmenu(gettext("&File"));
+    setmenu(gettext("&Edit"));
+    setmenu(gettext("&Preferences"));
+    setmenu(gettext("&Control"));
+    setmenu(gettext("&Applications"));
+
+    if ~with_module("scinotes") then // Desactivate Editor menu
+        unsetmenu(gettext("&Applications"), 1);
+    end
+
+    if ~with_module("xcos") then // Desactivate xcos menu
+        unsetmenu(gettext("&Applications"), 3);
+    end
+
+    if ~with_module("m2sci") then // Desactivate mfile2sci menu
+        unsetmenu(gettext("&Applications"), 5);
+    end
+
+    if ~with_module("atoms") then // Desactivate atoms menu
+        unsetmenu(gettext("&Applications"), 7);
+    end
+
+    setmenu(gettext("&?"));
+    setmenu(gettext("&Toolboxes"));
+    toolbar(-1, "on");
 end
 
 // ====================================================================
index f47db3a..cd6a0b4 100644 (file)
@@ -8,13 +8,7 @@
 // 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');
-endfunction
-
-corelib = startModule();
-clear startModule;
\ No newline at end of file
+load('SCI/modules/core/macros/lib');
index 1dd253d..71ebda7 100644 (file)
@@ -69,5 +69,5 @@ void dumpStackTask(bool timed);
 **
 */
 void execScilabStartTask(void);
-
+void execScilabQuitTask(void);
 #endif /* !__TASKS_HXX__ */
index 755880d..7fbb00d 100644 (file)
@@ -19,7 +19,6 @@
 types::Function::ReturnValue sci_banner(types::typed_list &in, int _iRetCount, types::typed_list &out)
 {
     banner();
-
     return types::Function::OK;
 }
 /*--------------------------------------------------------------------------*/
index f280937..52cc034 100644 (file)
@@ -28,33 +28,33 @@ void banner(void)
     wchar_t *line = L"        ___________________________________________        ";
     int startVersion = (int)(floor((double)(wcslen(line)/2)) - floor((double)(wcslen(SCI_VERSION_WIDE_STRING)/2)));
 
-    YaspWriteW(line);
-    YaspWriteW(L"\n");
+    YaspForcedWriteW(line);
+    YaspForcedWriteW(L"\n");
 
     /* To center the version name */
     for(i = 0 ; i < startVersion ; i++ )
     {
-        YaspWriteW(L" ");
+        YaspForcedWriteW(L" ");
     }
 
-    YaspWriteW(SCI_VERSION_WIDE_STRING);
-    YaspWriteW(L"\n\n");
+    YaspForcedWriteW(SCI_VERSION_WIDE_STRING);
+    YaspForcedWriteW(L"\n\n");
 
-    YaspWriteW(_W("                 Consortium Scilab (DIGITEO)\n"));
+    YaspForcedWriteW(_W("                 Consortium Scilab (DIGITEO)\n"));
 
-    YaspWriteW(_W("               Copyright (c) 1989-2011 (INRIA)\n"));
-    YaspWriteW(_W("               Copyright (c) 1989-2007 (ENPC)\n"));
-    YaspWriteW(line);
-    YaspWriteW(L"\n");
-    YaspWriteW(L"\n");
-    YaspWriteW(L"                     -*- THIS IS YaSp -*-\n");
-    YaspWriteW(L"\n");
-    YaspWriteW(line);
-    YaspWriteW(L"\n");
+    YaspForcedWriteW(_W("               Copyright (c) 1989-2011 (INRIA)\n"));
+    YaspForcedWriteW(_W("               Copyright (c) 1989-2007 (ENPC)\n"));
+    YaspForcedWriteW(line);
+    YaspForcedWriteW(L"\n");
+    YaspForcedWriteW(L"\n");
+    YaspForcedWriteW(L"                     -*- THIS IS YaSp -*-\n");
+    YaspForcedWriteW(L"\n");
+    YaspForcedWriteW(line);
+    YaspForcedWriteW(L"\n");
 
 #if ( defined(_MSC_VER) && ( (_MSC_VER >= 1200) && (_MSC_VER < 1300) ) )
-    YaspWriteW(L"\n\n");
-    YaspWriteW(_W("Warning: the operational team of the Scilab Consortium\ndoesn't provide and doesn't support this version of Scilab built with\n"));
-    YaspWriteW(L"   ");
+    YaspForcedWriteW(L"\n\n");
+    YaspForcedWriteW(_W("Warning: the operational team of the Scilab Consortium\ndoesn't provide and doesn't support this version of Scilab built with\n"));
+    YaspForcedWriteW(L"   ");
 #endif
 }
index 6d3c0aa..979844d 100644 (file)
@@ -310,7 +310,7 @@ static int interactiveMain (void)
 
     if(noBanner == false)
     {
-        banner();
+        //banner();
     }
 
     InitializeHistoryManager();
@@ -644,6 +644,11 @@ int StartScilabEngine(int argc, char*argv[], int iFileIndex, int iLangIndex)
         iMainRet = batchMain(argv[iFileIndex]);
     }
 
+    //execute scilab.quit
+    if(noStart == false)
+    {
+        execScilabQuitTask();
+    }
     //close main scope
     symbol::Context::getInstance()->scope_end();
     delete pFM;
index 09c3a9b..eccc8a1 100644 (file)
@@ -23,7 +23,8 @@
 #include "yaspio.hxx"
 #include "runner.hxx"
 
-#define SCILAB_START L"/etc/scilab.start"
+#define SCILAB_START    L"/etc/scilab.start"
+#define SCILAB_QUIT     L"/etc/scilab.quit"
 
 Timer _timer;
 
@@ -188,7 +189,6 @@ void dumpStackTask(bool timed)
 */
 void execScilabStartTask(void)
 {
-    return;
     Parser parse;
     wstring stSCI = ConfigVariable::getSCIPath();
 
@@ -204,3 +204,27 @@ void execScilabStartTask(void)
 
     execAstTask(parse.getTree(), false, false);
 }
+
+/*
+** Execute scilab.start
+**
+*/
+void execScilabQuitTask(void)
+{
+    Parser parse;
+    wstring stSCI = ConfigVariable::getSCIPath();
+
+    stSCI += SCILAB_QUIT;
+    parse.parseFile(stSCI, L"");
+
+    if(parse.getExitStatus() != Parser::Succeded)
+    {
+        YaspWriteW(parse.getErrorMessage());
+        YaspWriteW(L"Failed to parse scilab.start");
+        return;
+    }
+
+    execAstTask(parse.getTree(), false, false);
+}
+
+
index 8ab6610..cbd5b2d 100644 (file)
@@ -7,13 +7,6 @@
 // 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");
-
-endfunction
-
-data_structureslib = startModule();
-clear startModule;
+load("SCI/modules/data_structures/macros/lib");
index 4459472..4ad1a8f 100644 (file)
@@ -10,5 +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');
index 883d286..1fcdfb7 100644 (file)
@@ -8,30 +8,23 @@
 // 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 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
+        // 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
-  end
-
-endfunction
-
-dynamic_linklib = startModule();
-clear startModule;
+end
 
index 1dd0dff..aa867aa 100644 (file)
@@ -9,4 +9,4 @@
 
 //Load  functions libraries
 // =============================================================================
-  load('SCI/modules/elementary_functions/macros/lib');
+load('SCI/modules/elementary_functions/macros/lib');
index 0c3ee9a..f8b4c30 100644 (file)
@@ -10,5 +10,6 @@
 
 // =============================================================================
 // close all opened files
-mclose('all');
+warning("off");
+mclose("all");
 // =============================================================================
index a4bc68a..e423890 100644 (file)
@@ -9,4 +9,4 @@
 
 //Load  functions libraries
 // =============================================================================
-  load('SCI/modules/fileio/macros/lib');
+load('SCI/modules/fileio/macros/lib');
index b7896f5..77d7cbe 100644 (file)
@@ -8,17 +8,9 @@
 // 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");
-
-endfunction
-
 if (getscilabmode() <> 'NWNI') then
-  [guilib, uitreelib] = startModule();
+    load("SCI/modules/gui/macros/lib");
+    load("SCI/modules/gui/macros/tree/lib");
 end
-
-clear startModule;
\ No newline at end of file
index 0b191f7..de7e0d8 100644 (file)
@@ -10,4 +10,4 @@
 
 //Load  functions libraries
 // =============================================================================
-  load('SCI/modules/helptools/macros/lib');
+load('SCI/modules/helptools/macros/lib');
index 5126acd..a000c02 100644 (file)
 
 // save history file
 // =============================================================================
-if (sciargs() <> '-nouserstartup') & ~fromjava() & ~fromc() then
-  // save history file
-  savehistory();
-  // disable history manager
-  historymanager('off');
+//if sciargs() <> '-nouserstartup' & ~fromjava() & ~fromc() then
+if sciargs() <> "-nouserstartup" then
+    // save history file
+    savehistory();
+    // disable history manager
+    historymanager('off');
 end
 
index c1c22a7..8bd4134 100644 (file)
@@ -9,14 +9,12 @@
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
 function startModule()
-
-  if (sciargs() <> "-nouserstartup") & ~fromjava() & ~fromc() then
-    // enable history manager
-    historymanager("on");
-    // load history file
-    loadhistory();
-  end
-
+    if sciargs() <> "-nouserstartup" then
+        //enable history manager
+        historymanager("on");
+        // load history file
+        loadhistory();
+    end
 endfunction
 
 startModule();
index 0f74517..bebc78f 100644 (file)
@@ -276,17 +276,6 @@ lib /DEF:"$(ProjectDir)system_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Plat
     <ClCompile Include="..\..\sci_gateway\c\sci_sethistoryfile.c" />
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\..\includes\dynlib_history_manager.h" />
-    <ClInclude Include="..\..\includes\getCommentDateSession.h" />
-    <ClInclude Include="..\..\includes\gw_history_manager.h" />
-    <ClInclude Include="..\cpp\HistoryFile.hxx" />
-    <ClInclude Include="..\..\includes\HistoryManager.h" />
-    <ClInclude Include="..\cpp\HistoryManager.hxx" />
-    <ClInclude Include="..\cpp\HistorySearch.hxx" />
-    <ClInclude Include="..\..\includes\InitializeHistoryManager.h" />
-    <ClInclude Include="..\..\includes\TerminateHistoryManager.h" />
-  </ItemGroup>
-  <ItemGroup>
     <None Include="..\..\locales\history_manager.pot" />
     <None Include="..\jni\HistoryManagement.i" />
     <None Include="fileio_Import.def" />
@@ -319,6 +308,15 @@ lib /DEF:"$(ProjectDir)system_env_Import.def" /SUBSYSTEM:WINDOWS /MACHINE:$(Plat
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\includes\dynlib_history_manager.h" />
+    <ClInclude Include="..\..\includes\dynlib_history_manager_gw.h" />
+    <ClInclude Include="..\..\includes\getCommentDateSession.h" />
+    <ClInclude Include="..\..\includes\gw_history_manager.h" />
+    <ClInclude Include="..\..\includes\HistoryManager.h" />
+    <ClInclude Include="..\..\includes\InitializeHistoryManager.h" />
+    <ClInclude Include="..\..\includes\TerminateHistoryManager.h" />
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index 79f00b8..d056063 100644 (file)
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\..\includes\dynlib_history_manager.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\includes\getCommentDateSession.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\includes\gw_history_manager.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\cpp\HistoryFile.hxx">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\includes\HistoryManager.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\cpp\HistoryManager.hxx">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\cpp\HistorySearch.hxx">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\includes\InitializeHistoryManager.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\includes\TerminateHistoryManager.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
     <None Include="..\jni\HistoryManagement.i">
       <Filter>Swig Files</Filter>
     </None>
       <Filter>Resource Files</Filter>
     </ResourceCompile>
   </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\includes\dynlib_history_manager.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\includes\dynlib_history_manager_gw.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\includes\getCommentDateSession.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\includes\gw_history_manager.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\includes\HistoryManager.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\includes\InitializeHistoryManager.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\includes\TerminateHistoryManager.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
 </Project>
\ No newline at end of file
index eb7deab..d78944d 100644 (file)
@@ -9,6 +9,6 @@
 // Load  functions libraries
 // =============================================================================
 if (getscilabmode()<>'NWNI') then
-  load('SCI/modules/jvm/macros/lib');
+    load('SCI/modules/jvm/macros/lib');
 end
 
index 87de4a0..3223f0d 100644 (file)
@@ -7,20 +7,3 @@
 // 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 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 47bd892..9368ee4 100644 (file)
@@ -7,4 +7,6 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
+// Load  functions libraries
+// =============================================================================
 load(SCI+"/modules/scinotes/macros/lib");
index 0d26a67..be1b39f 100644 (file)
 #ifndef __SCINOTES_GW_HXX__
 #define __SCINOTES_GW_HXX__
 
-#ifdef _MSC_VER
-   #if SCINOTES_GW_EXPORTS
-      #define EXTERN_SCINOTES_GW __declspec (dllexport)
-   #else
-      #define EXTERN_SCINOTES_GW __declspec (dllimport)
-   #endif
-#else
-   #define EXTERN_SCINOTES_GW
-#endif
+#include "dynlib_scinotes.h"
 
 class ScinotesModule
 {
 private :
    ScinotesModule() {};
    ~ScinotesModule() {};
+   
+   static bool loadedDep;
+   static void LoadDeps(void);
+
 public :
-   EXTERN_SCINOTES_GW static int Load();
+   SCINOTES_IMPEXP static int Load();
 };
 
+
 #endif /* !__SCINOTES_GW_HXX__ */
index b643400..8aacba9 100644 (file)
 extern "C"
 {
 #include "gw_scinotes.h"
+#include "loadOnUseClassPath.h"
 }
 
-int  ScinotesModule::Load()
+bool ScinotesModule::loadedDep = false;
+
+void ScinotesModule::LoadDeps(void)
+{
+    if (loadedDep == false)
+    {
+        loadOnUseClassPath("SciNotes");
+        loadedDep = true;
+    }
+}
+
+int ScinotesModule::Load()
 {
-    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"editor", &sci_scinotes, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"editor", &sci_scinotes, &ScinotesModule::LoadDeps, MODULE_NAME));
+    symbol::Context::getInstance()->AddFunction(types::Function::createFunction(L"closeEditor", &sci_closeSciNotesFromScilab, &ScinotesModule::LoadDeps, MODULE_NAME));
+    
     return 1;
 }
index e21e104..7be3aba 100644 (file)
   <ItemGroup>
     <ClInclude Include="..\..\includes\callscinotes.h" />
     <ClInclude Include="..\..\includes\dynlib_scinotes.h" />
+    <ClInclude Include="..\..\includes\scinotes_gw.hxx" />
     <ClInclude Include="..\jni\GiwsException.hxx" />
     <ClInclude Include="..\..\includes\gw_scinotes.h" />
     <ClInclude Include="ScilabKeywords.h" />
index 837f6d1..0a90cd0 100644 (file)
@@ -76,6 +76,9 @@
     <ClInclude Include="..\jni\SciNotes.hxx">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\includes\scinotes_gw.hxx">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="LibScilab_Import.def">
index 3af6036..6f45424 100644 (file)
@@ -75,7 +75,7 @@ wchar_t* computeSCIHOMEW(void)
 #ifdef _MSC_VER
 char* computeSCIHOME(void)
 {
-#define BASEDIR L"Scilab"
+#define BASEDIR "Scilab"
     int ierr = 0;
     int buflen = PATH_MAX;
     int iflag = 0;
index dd68fb0..8de314d 100644 (file)
@@ -8,22 +8,10 @@
 // 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");
-
-// path of scilab main directory for Windows
-// =============================================================================
-  WSCI = getlongpathname(pathconvert(SCI, %f, %f, "w"));
+load("SCI/modules/windows_tools/macros/lib");
 
-// =============================================================================
-  if (getscilabmode() == 'STD') then 
+if (getscilabmode() == 'STD') then 
     consolebox('off');
-  end
-  
-endfunction
-
-[windows_toolslib, WSCI] = startModule();
-clear startModule;
+end