From db464f35f5a10b58d9ed1085e0b462689adee583 Mon Sep 17 00:00:00 2001
From: Siddhesh Wani
Date: Mon, 25 May 2015 14:46:31 +0530
Subject: Original Version

---
 macros/cb_sci2c_gui.sci | 135 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 135 insertions(+)
 create mode 100644 macros/cb_sci2c_gui.sci

(limited to 'macros/cb_sci2c_gui.sci')

diff --git a/macros/cb_sci2c_gui.sci b/macros/cb_sci2c_gui.sci
new file mode 100644
index 00000000..935c0e6f
--- /dev/null
+++ b/macros/cb_sci2c_gui.sci
@@ -0,0 +1,135 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - INRIA - Vincent COUVERT
+//
+// 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
+//
+
+// Callback function for SCI2C GUI (See sci2c_gui.sci)
+
+function cb_sci2c_gui
+
+//
+// --- File to convert ---
+//
+if get(gcbo,"tag")=="filebtn" then
+
+  filename = uigetfile("*.sci", pwd(), gettext("Select the file to translate"));
+  if ~isempty(filename) then
+    set(findobj("tag", "fileedit"), "string", filename);
+  end
+
+//
+// --- Sub-functions directory ---
+//
+elseif get(gcbo,"tag")=="subfunsbtn" then
+
+  directory = uigetdir(pwd(), gettext("Select your sub-functions directory"));
+  if ~isempty(directory) then
+    set(findobj("tag", "subfunsedit"), "string", directory);
+  end
+
+//
+// --- Output directory ---
+//
+elseif get(gcbo,"tag")=="outbtn" then
+
+  directory = uigetdir(pwd(), gettext("Select the directory for generated files"));
+  if ~isempty(directory) then
+    set(findobj("tag", "outedit"), "string", directory);
+  end
+
+//
+// --- Run mode option ---
+//
+elseif or(get(gcbo, "tag")==["runradioall","runradiotranslate","runradiogenlib"]) then
+
+  set(findobj("tag", "runradioall"), "value", 0);
+  set(findobj("tag", "runradiotranslate"), "value", 0);
+  set(findobj("tag", "runradiogenlib"), "value", 0);
+
+  set(gcbo, "value", 1);
+
+//
+// --- Copy Scilab code into C option ---
+//
+elseif or(get(gcbo, "tag")==["sciintocradioyes","sciintocradiono"]) then
+
+  set(findobj("tag", "sciintocradioyes"), "value", 0);
+  set(findobj("tag", "sciintocradiono"), "value", 0);
+
+  set(gcbo, "value", 1);
+
+//
+// --- Build Tool option ---
+//
+elseif or(get(gcbo, "tag")==["buildtoolradiowin","buildtoolradiounix"]) then
+
+  set(findobj("tag", "buildtoolradiowin"), "value", 0);
+  set(findobj("tag", "buildtoolradiounix"), "value", 0);
+
+  set(gcbo, "value", 1);
+
+//
+// --- Cancel conversion ---
+//
+elseif get(gcbo, "tag")=="cancelbtn" | get(gcbo, "tag")=="close_menu" then
+  delete(findobj("tag", "sci2cfig"));
+
+//
+// --- Launch conversion ---
+//
+elseif get(gcbo, "tag")=="convertbtn" then
+  UserScilabMainFile =  get(findobj("tag", "fileedit"), "string");
+
+  UserSciFilesPaths = get(findobj("tag", "subfunsedit"), "string");
+
+//  Sci2CLibMainHeaderFName = get(findobj("tag", "headeredit"), "string");
+
+  UserSciCodeMainDir = get(findobj("tag", "outedit"), "string");
+
+  if get(findobj("tag", "runradioall"), "value") == 1 then
+    RunMode = "All";
+  elseif get(findobj("tag", "runradiotranslate"), "value") == 1 then
+    RunMode = "Translate";
+  else
+    RunMode = "GenLibraryStructure";
+  end
+
+  CopySciCodeIntoCCode = get(findobj("tag", "sciintocradioyes"), "value") == 1;
+
+  if get(findobj("tag", "buildtoolradiowin"), "value") == 1 then
+    NativeBuild = "nmake";
+  elseif get(findobj("tag", "buildtoolradiounix"), "value") == 1 then
+    NativeBuild = "make";
+//  else
+//    CCompilerPathStyle = "cygwin";
+  end
+
+  // -*- DEBUG ONLY -*-
+  
+//  mprintf("UserScilabMainFile = {%s}\n", UserScilabMainFile);
+//  mprintf("UserSciFilesPaths = {%s}\n", UserSciFilesPaths);
+//  mprintf("UserSciCodeMainDir = {%s}\n", UserSciCodeMainDir);
+//  mprintf("RunMode = {%s}\n", RunMode);
+//  mprintf("CopySciCodeIntoCCode = {%d}\n", bool2s(CopySciCodeIntoCCode));
+//  mprintf("NativeBuild = {%s}\n", NativeBuild);
+  scilab2c(UserScilabMainFile, UserSciCodeMainDir, UserSciFilesPaths, RunMode, NativeBuild);
+//
+// --- sci2c help ---
+//
+elseif get(gcbo, "tag")=="sci2c_help_menu" then
+  help sci2c
+
+//
+// --- About SCI2C ---
+//
+elseif get(gcbo, "tag")=="about_sci2c_menu" then
+  help(gettext("About_SCI2C_tools"))
+end
+
+endfunction
-- 
cgit