* Bug 6973 fixed: missing stable demo figure 85/19685/4
Samuel GOUGEON [Sat, 20 Jan 2018 23:22:47 +0000 (00:22 +0100)]
  http://bugzilla.scilab.org/6973

  A big relief while viewing demos.
  Demos that need to force an external pannel should do it in their
  own code. Making this mode the default one is very brutal and
  uncomfortable.

Change-Id: I75aa7197ce931a5f228a2b25b52e847b3be9dfa8

scilab/CHANGES.md
scilab/modules/demo_tools/macros/demo_gui_update.sci
scilab/modules/graphics/demos/anim/anim8/anim8.sci
scilab/modules/graphics/demos/anim/bubbleSort/bubbleSort.sci
scilab/modules/graphics/demos/bar/bar.dem.sce
scilab/modules/graphics/demos/basic_functions/basic_functions_xarrows.dem.sce
scilab/modules/signal_processing/demos/winfilt.dem.sce

index 4dd2929..4a9f1bf 100644 (file)
@@ -372,6 +372,7 @@ Known issues
 * [#6608](http://bugzilla.scilab.org/show_bug.cgi?id=6608): Field and data insertion in an array of structures might fail.
 * [#6813](http://bugzilla.scilab.org/show_bug.cgi?id=6813): `makecell` used to create a N>2-D hyperarray yielded an error.
 * [#6911](http://bugzilla.scilab.org/show_bug.cgi?id=6911): `help_from_sci` did not accept numerical HTML entities like `ω` in heading comments.
+* [#6973](http://bugzilla.scilab.org/show_bug.cgi?id=6973): It was impossible to view figures of several demos in a stable docked panel.
 * [#7652](http://bugzilla.scilab.org/show_bug.cgi?id=7652): Inserting `list("")` in a cells array could be erroneous.
 * [#8140](http://bugzilla.scilab.org/show_bug.cgi?id=8140): Editing parameters of the EXPRESSION Xcos block changed Scilab's IEEE mode.
 * [#8297](http://bugzilla.scilab.org/show_bug.cgi?id=8297): `cat` slowness was exponential, crippling, and made it useless.
index 2cadf55..125e261 100644 (file)
@@ -3,6 +3,7 @@
 // Copyright (C) 2008 - INRIA - Pierre MARECHAL
 // Copyright (C) 2012 - DIGITEO - Vincent COUVERT
 // Copyright (C) 2014 - Scilab Enterprises - Anais AUBERT
+// Copyright (C) 2018 - Samuel GOUGEON
 //
 // Copyright (C) 2012 - 2016 - Scilab Enterprises
 //
 function script_path = demo_gui_update()
     global subdemolist;
 
-    // Suppression d'une figure précédemment dessinée, si figure il y a ...
+    // Deleting All existing demo figures, except the first one (it may be
+    // docked in order to view demos figures in a stable way:
+    // http://bugzilla.scilab.org/6973
     all_figs = winsid();
     all_figs = all_figs(all_figs >= 100001); // All Scilab graphic windows opened for demos
-    for fig_index = 1:size(all_figs, "*")
+    for fig_index = 2:size(all_figs, "*")
         fig_to_del = get_figure_handle(all_figs(fig_index));
         if ~isempty(fig_to_del) then
             delete(fig_to_del);
         end
     end
 
-    // Handle de la figure
+    // Handle of the main demos GUI
     demo_fig = get("scilab_demo_fig");
 
     // Frame sur laquelle on a cliqué
index 4c3b8b6..366b103 100644 (file)
@@ -46,7 +46,7 @@ function demo_riemann()
     my_axe               = gca();
     my_fac3d             = gce();
 
-    my_handle.axes_size  = [ 600 650 ];
+    // my_handle.axes_size  = [ 600 650 ];
 
     my_handle.background = -2;                 // white
     my_axe.background    = -1;                 // gray
index 70eb78c..bc1e399 100644 (file)
@@ -27,10 +27,13 @@ function demo_bubbleSort()
         res = in;
     endfunction
 
+    my_handle = scf(100001);
+    clf(my_handle, "reset");
+    demo_viewCode(SCI+"/modules/graphics/demos/anim/bubbleSort/bubbleSort.sci");
+    my_handle.figure_name = "Bubble sort";
+
     nbValues = 200;
     x = floor(rand(1, nbValues) * nbValues);
-    scf()
-    demo_viewCode(SCI+"/modules/graphics/demos/anim/bubbleSort/bubbleSort.sci");
     plot(x, "diamond-");
     a = gca();
     e = a.children(1).children(1);
index 7bb4dcf..478698f 100644 (file)
@@ -46,7 +46,7 @@ function demo_bar()
 
     // Adjustements
     histogramme = gcf();
-    histogramme.figure_size = [900,600];
+    // histogramme.figure_size = [900,600];
     histogramme.background = BackgroundColorId;
 
     axes = gca();
index bf6c7b1..7c984a1 100644 (file)
@@ -14,7 +14,8 @@ funcprot(0);
 warning("off");
 
 function demo_basic_function_xarrows()
-    f = figure("dockable", "off", "toolbar", "none", "visible", "off");
+    f = scf(100001);
+    clf(f, "reset");
     f.backgroundcolor = [1, 1, 1];
     f.figure_name = "xarrows in 3D";
 
index fc9f007..134a677 100644 (file)
@@ -24,7 +24,6 @@ function demo_winfilt()
         _("length 33")]);
 
         halt(_("Press Return to continue ... \n"));
-
     end
 
     // Stop band filter (length 127, Hamming window, cut-offs .2 and .3)
@@ -39,8 +38,6 @@ function demo_winfilt()
         _("length 127")]);
 
         halt(_("Press Return to continue ... \n"));
-
-
     end
 
     // Band pass filter (length 55, Chebyshev window, cut-offs .15 and .35)
@@ -55,8 +52,6 @@ function demo_winfilt()
         _("length 55")]);
 
         halt(_("Press Return to continue ... \n"));
-
-        delete(my_handle);
     end
 
 endfunction