GUI module ported to api_scilab. test_run("gui")
[scilab.git] / scilab / modules / gui / sci_gateway / cpp / sci_printsetupbox.cpp
index 0d5ffef..8543693 100644 (file)
@@ -2,11 +2,11 @@
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) INRIA - Allan CORNET
 * Copyright (C) 2008 - INRIA - Vincent COUVERT (Java version)
-* 
+*
 * 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
 *
 */
@@ -18,7 +18,7 @@
 extern "C"
 {
 #include "MALLOC.h"
-#include "stack-c.h"
+#include "api_scilab.h"
 #include "localization.h"
 #include "getScilabJavaVM.h"
 #include "Scierror.h"
@@ -30,29 +30,31 @@ using namespace org_scilab_modules_gui_bridge;
 /*--------------------------------------------------------------------------*/
 int sci_printsetupbox(char *fname, unsigned long l)
 {
-    static int n1 = 0;
-    int *paramoutINT = new int[1];
+    int paramoutINT = 0;
 
-    CheckRhs(0, 0);
-    CheckLhs(0, 1);
+    CheckInputArgument(pvApiCtx, 0, 0);
+    CheckOutputArgument(pvApiCtx, 0, 1);
 
     try
     {
-        paramoutINT[0] = (int)CallScilabBridge::pageSetup(getScilabJavaVM());
+        paramoutINT = (int)CallScilabBridge::pageSetup(getScilabJavaVM());
     }
-    catch(const GiwsException::JniException & e)
+    catch (const GiwsException::JniException & e)
     {
         Scierror(999, _("%s: A Java exception arisen:\n%s"), fname, e.whatStr().c_str());
-        return FALSE;
+        return 1;
+    }
+
+    if (createScalarBoolean(pvApiCtx, nbInputArgument(pvApiCtx) + 1, paramoutINT))
+    {
+        Scierror(999, _("%s: Memory allocation error.\n"), fname);
+        return 1;
     }
 
-    n1 = 1;
-    CreateVarFromPtr(Rhs + 1, MATRIX_OF_BOOLEAN_DATATYPE, &n1, &n1, &paramoutINT);
-    LhsVar(1) = Rhs + 1;
-    delete[]paramoutINT;
-    PutLhsVar();
+    AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1;
+    returnArguments(pvApiCtx);
 
-    return TRUE;
+    return 0;
 }
 
 /*--------------------------------------------------------------------------*/