Readd fig support in xinit/xend.sci.
Jean-baptiste Silvy [Thu, 10 Jul 2008 16:21:29 +0000 (16:21 +0000)]
Modify xinit so that a call without any argument open a new window as before.
Update help pages consequently.

scilab/modules/graphic_export/help/en_US/xinit.xml
scilab/modules/graphic_export/help/fr_FR/xend.xml
scilab/modules/graphic_export/help/fr_FR/xinit.xml
scilab/modules/graphic_export/macros/driver.sci
scilab/modules/graphic_export/macros/xend.sci
scilab/modules/graphic_export/macros/xinit.sci

index d3d57f3..fa1f579 100644 (file)
@@ -2,6 +2,7 @@
 <!--
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) ENPC - Jean-Philippe Chancelier
+ * Copyright (C) 2008 - INRIA - Jean-Baptiste Silvy
  * 
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
   </info>
   <refnamediv>
     <refname>xinit</refname>
-    <refpurpose> initialisation of a graphics driver</refpurpose>
+    <refpurpose>Initialization of a graphics driver</refpurpose>
   </refnamediv>
   <refsynopsisdiv>
     <title>Calling Sequence</title>
-    <synopsis>xinit([driver-name])</synopsis>
+    <synopsis>xinit(FileName)</synopsis>
+    <synopsis>xinit()</synopsis>
   </refsynopsisdiv>
   <refsection>
     <title>Parameters</title>
     <variablelist>
       <varlistentry>
-        <term>driver-name</term>
+        <term>FileName</term>
         <listitem>
-          <para>string.</para>
+          <para>string: name of the export file.</para>
         </listitem>
       </varlistentry>
     </variablelist>
   <refsection>
     <title>Description</title>
     <para>
-    Initialisation of the given driver.</para>
-    <para>
-    For X Window
-    <literal>driver-name</literal> can be a string which gives the name of a display
-    and a new graphics window is created. If the argument is omitted 
-    the value of the environment variable DISPLAY is used if it exists or 
-    the value "unix:0.0" is used.</para>
-    <para>
-    For the Postscript, Xfig or Gif driver, <literal>driver-name</literal> is a name of 
+    For the Postscript, Xfig, Gif or PPM driver, <literal>FileName</literal> must be specified. It is the name of 
     the file where all the graphics operations are recorded.</para>
-    <para>Note that in Postscript case the generated file is not a complete
-      postscript file. It should be converted using the BEpsf or Blatexpr shell
-      programs (see printing)</para>
+    <para>For screen drivers (X11 or Rec), <literal>xinit</literal> should be called without any argument and
+         opens an empty graphic window.</para>
   </refsection>
   <refsection>
     <title>Examples</title>
@@ -66,15 +59,20 @@ driver("X11")
     <title>See Also</title>
     <simplelist type="inline">
       <member>
-        <link linkend="xbasimp">xbasimp</link>
+        <link linkend="driver">driver</link>
       </member>
       <member>
         <link linkend="xend">xend</link>
       </member>
+      <member>
+        <link linkend="scf">scf</link>
+      </member>
     </simplelist>
   </refsection>
   <refsection>
     <title>Authors</title>
     <para>J.Ph.C.  </para>
+    <para>Jean-Baptiste Silvy</para>
   </refsection>
 </refentry>
+
index dd6ae3e..4858bdf 100644 (file)
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:lang="en" xml:id="xend">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:lang="fr" xml:id="xend">
   <info>
     <pubdate>$LastChangedDate$</pubdate>
   </info>
   <refnamediv>
     <refname>xend</refname>
-    <refpurpose> close a graphics session</refpurpose>
+    <refpurpose> termine la session graphique courante  </refpurpose>
   </refnamediv>
   <refsynopsisdiv>
-    <title>Calling Sequence</title>
+    <title>Séquence d'appel</title>
     <synopsis>xend()</synopsis>
   </refsynopsisdiv>
   <refsection>
     <title>Description</title>
-    <para><literal>xend</literal> is used to close a graphics session. Under the Postscript,
-    Xfig or Gif drivers <literal>xend</literal> closes the
-    file which was opened by <literal>xinit</literal>.</para>
+    <para><literal>xend</literal> est utilisée pour terminer une session graphique. Avec les pilotes PostScript, XFig ou Gif,  <literal>xend</literal> ferme le fichier qui a été ouvert par <literal>xinit</literal>. 
+  </para>
   </refsection>
   <refsection>
-    <title>Examples</title>
+    <title>Exemples</title>
     <programlisting role="example"><![CDATA[
-
 driver("Pos")
 xinit("foo.ps")
 plot2d()
 xend()
 driver("X11")
-  ]]></programlisting>
+ ]]></programlisting>
   </refsection>
   <refsection>
-    <title>See Also</title>
+    <title>Voir Aussi</title>
     <simplelist type="inline">
       <member>
         <link linkend="xbasimp">xbasimp</link>
@@ -52,7 +49,7 @@ driver("X11")
     </simplelist>
   </refsection>
   <refsection>
-    <title>Authors</title>
+    <title>Auteurs</title>
     <para>J.Ph.C.  </para>
   </refsection>
 </refentry>
index d3d57f3..a78e6d5 100644 (file)
  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
  *
  -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:lang="en" xml:id="xinit">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:lang="fr" xml:id="xinit">
   <info>
     <pubdate>$LastChangedDate$</pubdate>
   </info>
   <refnamediv>
     <refname>xinit</refname>
-    <refpurpose> initialisation of a graphics driver</refpurpose>
+    <refpurpose>Initialisation d'un pilote graphique</refpurpose>
   </refnamediv>
   <refsynopsisdiv>
-    <title>Calling Sequence</title>
-    <synopsis>xinit([driver-name])</synopsis>
+    <title>Séquence d'appel</title>
+    <synopsis>xinit(fileName)</synopsis>
+    <synopsis>xinit()</synopsis>
   </refsynopsisdiv>
   <refsection>
-    <title>Parameters</title>
+    <title>Paramètres</title>
     <variablelist>
       <varlistentry>
-        <term>driver-name</term>
+        <term>fileName</term>
         <listitem>
-          <para>string.</para>
+          <para>chaîne de caractères: nom du fichier d'export.</para>
         </listitem>
       </varlistentry>
     </variablelist>
   <refsection>
     <title>Description</title>
     <para>
-    Initialisation of the given driver.</para>
-    <para>
-    For X Window
-    <literal>driver-name</literal> can be a string which gives the name of a display
-    and a new graphics window is created. If the argument is omitted 
-    the value of the environment variable DISPLAY is used if it exists or 
-    the value "unix:0.0" is used.</para>
-    <para>
-    For the Postscript, Xfig or Gif driver, <literal>driver-name</literal> is a name of 
-    the file where all the graphics operations are recorded.</para>
-    <para>Note that in Postscript case the generated file is not a complete
-      postscript file. It should be converted using the BEpsf or Blatexpr shell
-      programs (see printing)</para>
+           Pour les pilotes Postscript, Xfig, Gif ou PPM <literal>fileName</literal> doit être spécifié. Il determine
+             le nom du fichier où tous les ordres graphiques sont enregistrés.
+  </para>
+  <para>Pour les pilotes écrans (X11 ou Rec), <literal>xinit</literal> doit être appelé sans argument. Dans ce cas,
+       une fenêtre graphique vide est ouverte.</para>
   </refsection>
   <refsection>
-    <title>Examples</title>
+    <title>Exemples</title>
     <programlisting role="example"><![CDATA[
-
 driver("Pos")
 xinit("foo.ps")
 plot2d()
 xend()
 driver("X11")
-  ]]></programlisting>
+ ]]></programlisting>
   </refsection>
   <refsection>
-    <title>See Also</title>
+    <title>Voir Aussi</title>
     <simplelist type="inline">
       <member>
         <link linkend="xbasimp">xbasimp</link>
@@ -71,10 +62,15 @@ driver("X11")
       <member>
         <link linkend="xend">xend</link>
       </member>
+      <member>
+        <link linkend="scf">scf</link>
+      </member>
     </simplelist>
   </refsection>
   <refsection>
-    <title>Authors</title>
+    <title>Auteurs</title>
     <para>J.Ph.C.  </para>
+    <para>Jean-Baptiste Silvy</para>
   </refsection>
 </refentry>
+
index e988fc1..0f23cfc 100644 (file)
@@ -23,7 +23,7 @@ function  [curDriver] = driver(driverName)
     end
     
     if (~checkDriverName(driverName)) then
-      error(gettext("driver: wrong value for first input argument: must be ""Rec"", ""X11"", ""Pos"", ""PPM"" or ""GIF""."));
+      error(gettext("driver: wrong value for first input argument: must be ""Rec"", ""X11"", ""Pos"", ""PPM"", ""GIF"" or ""Fig""."));
      return;
     end
     
@@ -53,7 +53,8 @@ check =   driverName == "Rec"..
         | driverName == "X11"..
         | driverName == "Pos"..
         | driverName == "GIF"..
-        | driverName == "PPM";
+        | driverName == "PPM"..
+        | driverName == "Fig";
 
 endfunction
 
index 2ac9fe9..7fe9895 100644 (file)
@@ -40,6 +40,11 @@ function xend()
       xs2ppm(curFigId, %exportFileName);
       // delete figure used for export
       delete(curFig);
+    case "Fig" then
+      drawnow();
+      xs2fig(curFigId, %exportFileName);
+      // delete figure used for export
+      delete(curFig);
   end
 
   // export done reset exportFileName
index 3396ed2..ee27459 100644 (file)
@@ -12,20 +12,30 @@ function  xinit(fileName)
 
   global %exportFileName;
 
-  if (argn(2) > 1) then
-    // incorrect number of arguments
-    error(39);
-    return
-  end
-
-
-  if (type(fileName) <> 10) then
-    // wrong type for driverName
-    error(55, 1);
-    return;
-  end
+  rhs = argn(2);
+
+  global %driverName;
+  if (%driverName == "Rec" | %driverName == "X11" | %driverName == "" | %driverName == []) then
+    // screen display, should be xinit without argument
+    if (rhs <> 0) then
+      error(msprintf(gettext("%s: Wrong number of input arguments: Function has no input argument with ''Rec'' or ''X11'' drivers.\n"), "xinit"));
+    end
+    scf();
+  else
+    // file driver
+    if (rhs <> 1) then
+      error(msprintf(gettext("%s: Wrong number of input arguments: A string expected with ''GIF'', ''PPM'', ''POS'' or ''Fig'' drivers.\n"), "xinit"));
+    end
+
+    if (type(fileName) <> 10) then
+      // wrong type for driverName
+      error(msprintf(gettext("%s: Wrong type for input arguments #%d: A string expected with ''GIF'', ''PPM'', ''POS'' or ''Fig'' drivers.\n"), "xinit",1));
+      return;
+    end
+  
+    %exportFileName = fileName;
     
-  %exportFileName = fileName;
+  end
 
 endfunction