fix figure dimension 17/16217/4
Anais AUBERT [Tue, 17 Mar 2015 08:19:28 +0000 (09:19 +0100)]
test_run graphics figure.figure_size // resize event
test_run graphics xset_xget // resize event
test_run graphics bug_1689 // MVC update/sleep
test_run graphics bug_3454 // MVC update/sleep

Change-Id: I4a7f0925d19d3e31f327000036fdb70f97ac9722

scilab/CHANGES_5.5.X
scilab/modules/graphics/tests/nonreg_tests/bug_1689.dia.ref
scilab/modules/graphics/tests/nonreg_tests/bug_1689.tst
scilab/modules/graphics/tests/nonreg_tests/bug_3454.dia.ref
scilab/modules/graphics/tests/nonreg_tests/bug_3454.tst
scilab/modules/graphics/tests/unit_tests/figure.figure_size.dia.ref
scilab/modules/graphics/tests/unit_tests/figure.figure_size.tst
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabCommonPanel.java
scilab/modules/gui/tests/nonreg_tests/bug_13766.dia.ref [new file with mode: 0644]
scilab/modules/gui/tests/nonreg_tests/bug_13766.tst [new file with mode: 0644]

index e6a4f38..055ba80 100644 (file)
@@ -123,6 +123,8 @@ Scilab Bug Fixes
 * Bug #13758 fixed - x_mdialog interpreted 'F' and 'T' as boolean values
                      whereas it should interpret '%F' and '%T' instead.
 
+* Bug #13766 fixed - Setting figure_size property lead to wrong display and figure properties values.
+
 * Bug #13772 fixed - Xcos GUI was not locked while setting parameters.
 
 
index a951a8f..a4af753 100644 (file)
@@ -18,6 +18,7 @@ figureSize = [800, 600];
 hf = gcf();
 xset ("wpdim", figureSize(1), figureSize(2));
 if (hf.figure_size <> figureSize) then bugmes();quit;end;
+sleep(200);//Wait for MVC update
 figureSize = [640, 480];
 hf.figure_size = figureSize;
 if (hf.figure_size <> figureSize) then bugmes();quit;end;
index 74986cf..ab5f0ac 100644 (file)
@@ -23,6 +23,8 @@ hf = gcf();
 xset ("wpdim", figureSize(1), figureSize(2));
 if (hf.figure_size <> figureSize) then pause; end;
 
+sleep(200);//Wait for MVC update
+
 figureSize = [640, 480];
 hf.figure_size = figureSize;
 if (hf.figure_size <> figureSize) then pause; end;
index 4bf8b31..c6dc8c9 100644 (file)
@@ -12,7 +12,7 @@
 //
 // <-- Short Description -->
 // figure.axes_size and figure.figure_size might not be updated immediately.
-//
+// 
 // Test 1 : axes_size, auto_resize = "on"
 // ===========================
 // Create a default figure
@@ -54,6 +54,7 @@ my_default_axes_size   = my_figure.axes_size;
 // auto_resize = "on"
 my_figure.auto_resize = "on";
 my_figure.figure_size = my_default_figure_size + 200;
+sleep(200);//Wait for MVC update
 if or( my_figure.figure_size <> (my_default_figure_size + 200) ) then bugmes();quit;end
 if or( my_figure.axes_size   <> (my_default_axes_size   + 200) ) then bugmes();quit;end
 // Delete
index 7b13f0b..83bab36 100644 (file)
@@ -14,7 +14,7 @@
 //
 // <-- Short Description -->
 // figure.axes_size and figure.figure_size might not be updated immediately.
-// 
+//
 
 // Test 1 : axes_size, auto_resize = "on"
 // ===========================
@@ -72,6 +72,7 @@ my_default_axes_size   = my_figure.axes_size;
 // auto_resize = "on"
 my_figure.auto_resize = "on";
 my_figure.figure_size = my_default_figure_size + 200;
+sleep(200);//Wait for MVC update
 if or( my_figure.figure_size <> (my_default_figure_size + 200) ) then pause; end
 if or( my_figure.axes_size   <> (my_default_axes_size   + 200) ) then pause; end
 
index aba8999..cc0cdd0 100644 (file)
 // Create a default figure
 my_figure = scf();
 clf(my_figure,"reset");
-sleep(200)//Wait for MVC update
+sleep(200);//Wait for MVC update
 // Get default values
 my_default_figure_size = my_figure.figure_size;
 my_default_axes_size   = my_figure.axes_size;
 // auto_resize = "on"
 my_figure.auto_resize = "on";
 my_figure.figure_size = my_default_figure_size + 200;
-sleep(200)//Wait for MVC update
+sleep(200);//Wait for MVC update
 if or( my_figure.figure_size <> (my_default_figure_size + 200) ) then bugmes();quit;end
 if or( my_figure.axes_size   <> (my_default_axes_size   + 200) ) then bugmes();quit;end
 // Delete
index 5100331..23b6a61 100644 (file)
@@ -14,7 +14,7 @@
 // Create a default figure
 my_figure = scf();
 clf(my_figure,"reset");
-sleep(200)//Wait for MVC update
+sleep(200);//Wait for MVC update
 // Get default values
 my_default_figure_size = my_figure.figure_size;
 my_default_axes_size   = my_figure.axes_size;
@@ -22,7 +22,7 @@ my_default_axes_size   = my_figure.axes_size;
 // auto_resize = "on"
 my_figure.auto_resize = "on";
 my_figure.figure_size = my_default_figure_size + 200;
-sleep(200)//Wait for MVC update
+sleep(200);//Wait for MVC update
 if or( my_figure.figure_size <> (my_default_figure_size + 200) ) then pause; end
 if or( my_figure.axes_size   <> (my_default_axes_size   + 200) ) then pause; end
 
index 9df70a2..726baeb 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2014 - Scilab Enterprises - Bruno JOFRET
+ * Copyright (C) 2015 - Scilab Enterprises - Anais AUBERT
  *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
@@ -139,11 +140,14 @@ public class SwingScilabCommonPanel {
                 Integer[] size = (Integer[]) value;
                 SwingScilabWindow figure = SwingScilabWindow.allScilabWindows.get(component.getParentWindowId());
                 Size oldFigureSize = figure.getDims();
+
                 if (oldFigureSize.getWidth() != 0 && oldFigureSize.getHeight() != 0 && ((oldFigureSize.getWidth() != size[0]) || (oldFigureSize.getHeight() != size[1]))
                         && ((Boolean) GraphicController.getController().getProperty(component.getId(), __GO_AUTORESIZE__))) {
                     figure.setDims(new Size(size[0], size[1]));
                     figure.validate();
-                    GraphicController.getController().setProperty(component.getId(), __GO_AXES_SIZE__, new Integer[] { figure.getContentPane().getWidth(), figure.getContentPane().getHeight() });
+                    // Axes are resized by resize event: SwingScilabDockablePanel::componentResized or SwingScilabStaticPanel::componentResized
+                    // ==> NO NEED TO FORCE RESIZE
+                    // GraphicController.getController().setProperty(component.getId(), __GO_AXES_SIZE__, new Integer[] { figure.getContentPane().getWidth(), figure.getContentPane().getHeight() });
 
                 }
                 break;
diff --git a/scilab/modules/gui/tests/nonreg_tests/bug_13766.dia.ref b/scilab/modules/gui/tests/nonreg_tests/bug_13766.dia.ref
new file mode 100644 (file)
index 0000000..616bf05
--- /dev/null
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+//
+// <-- Non-regression test for bug 13766 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/13766
+//
+// <-- Short Description -->
+// Setting figure_size property lead to wrong display and figure properties values.
+fg = figure();
+fg.figure_size = [100,100];
+assert_checkequal(fg.figure_size, [100,100]);
diff --git a/scilab/modules/gui/tests/nonreg_tests/bug_13766.tst b/scilab/modules/gui/tests/nonreg_tests/bug_13766.tst
new file mode 100644 (file)
index 0000000..9589e00
--- /dev/null
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- TEST WITH GRAPHIC -->
+//
+// <-- Non-regression test for bug 13766 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/13766
+//
+// <-- Short Description -->
+// Setting figure_size property lead to wrong display and figure properties values.
+
+fg = figure();
+fg.figure_size = [100,100];
+assert_checkequal(fg.figure_size, [100,100]);