1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
4//
5//  This file is distributed under the same license as the Scilab package.
6// =============================================================================
7
8// <-- TEST WITH GRAPHIC -->
9
10
11function fig = createFigure(layout)
12    fig = figure("dockable", "off" ,"infobar_visible", "off", "toolbar_visible", "off", "menubar_visible", "off", "default_axes", "off")
13    fig.layout = layout;
14endfunction
15
16//constraints
17
18//no border
19createFigure("none");
20
21c = createConstraints("nolayout");
22u = uicontrol("constraints", c, "string", "button", "position", [10 10 100 30]);
23assert_checkequal(u.constraints, c);
24
25delete(gcf());
26
27//border layout
28createFigure("border");
29
30c = createConstraints("border", "center");
31u = uicontrol("constraints", c, "string", "center [-1 -1]");
32assert_checkequal(u.constraints, c);
33
34c = createConstraints("border", "left", [150 150]);
35u = uicontrol("constraints", c, "string", "left [150 150]");
36assert_checkequal(u.constraints, c);
37
38c = createConstraints("border", "right", [250 250]);
39u = uicontrol("constraints", c, "string", "right [250 250]");
40assert_checkequal(u.constraints, c);
41
42c = createConstraints("border", "top", [50 50]);
43u = uicontrol("constraints", c, "string", "top [50 50]");
44assert_checkequal(u.constraints, c);
45
46c = createConstraints("border", "bottom", [100, 100]);
47u = uicontrol("constraints", c, "string", "bottom [100 100]");
48assert_checkequal(u.constraints, c);
49
50delete(gcf());
51
52//grid layout
53f = createFigure("grid");
54f.layout_options = createLayoutOptions("grid", [3 4], [10 10]);
55uicontrol("constraints", c, "string", "11");
56uicontrol("constraints", c, "string", "12");
57uicontrol("constraints", c, "string", "13");
58uicontrol("constraints", c, "string", "14");
59uicontrol("constraints", c, "string", "21");
60uicontrol("constraints", c, "string", "22");
61uicontrol("constraints", c, "string", "23");
62uicontrol("constraints", c, "string", "24");
63uicontrol("constraints", c, "string", "31");
64uicontrol("constraints", c, "string", "32");
65uicontrol("constraints", c, "string", "33");
66uicontrol("constraints", c, "string", "34");
67
68delete(gcf());
69
70//gridbag layout
71f = createFigure("gridbag");
72
73c = createConstraints("gridbag", [1 1 1 1]);
74u = uicontrol("constraints", c, "string", "text1");
75assert_checkequal(u.constraints, c);
76
77c = createConstraints("gridbag", [2 1 1 1], [1.0 1.0]);
78u = uicontrol("constraints", c, "string", "text2");
79assert_checkequal(u.constraints, c);
80
81c = createConstraints("gridbag", [1 2 2 1], [1.0 1.0], "vertical");
82u = uicontrol("constraints", c, "string", "text3");
83assert_checkequal(u.constraints, c);
84
85c = createConstraints("gridbag", [3 1 1 2], [1.0 1.0], "both", "lower_left", [0 0]);
86u = uicontrol("constraints", c, "string", "text4");
87assert_checkequal(u.constraints, c);
88
89c = createConstraints("gridbag", [1 4 3 2], [1.0 1.0], "both", "center", [0 0], [-1 -1]);
90u = uicontrol("constraints", c, "string", "text5");
91assert_checkequal(u.constraints, c);
92
93c = createConstraints("gridbag", [1 6 3 2], [1.0 1.0], "both", "center", [0 0], [200 200]);
94u = uicontrol("constraints", c, "string", "text6");
95assert_checkequal(u.constraints, c);
96
97delete(gcf());
98
99
100// options
101createFigure("none");
102f = gcf();
103assert_checkequal(f.layout_options, createLayoutOptions("nolayout"));
104f.layout_options = createLayoutOptions("none");
105assert_checkequal(f.layout_options, createLayoutOptions("none"));
106delete(gcf());
107
108createFigure("gridbag");
109f = gcf();
110assert_checkequal(f.layout_options, createLayoutOptions("gridbag"));
111f.layout_options = createLayoutOptions("gridbag");
112assert_checkequal(f.layout_options, createLayoutOptions("gridbag"));
113delete(gcf());
114
115createFigure("border");
116f = gcf();
117assert_checkequal(f.layout_options, createLayoutOptions("border"));
118
119f.layout_options = createLayoutOptions("border", [10,20]);
120assert_checkequal(f.layout_options, createLayoutOptions("border", [10,20]));
121delete(gcf());
122
123createFigure("grid");
124f = gcf();
125assert_checkequal(f.layout_options, createLayoutOptions("grid"));
126
127f.layout_options = createLayoutOptions("grid", [5,3]);
128assert_checkequal(f.layout_options, createLayoutOptions("grid", [5,3]));
129
130f.layout_options = createLayoutOptions("grid", [5,3], [30,40]);
131assert_checkequal(f.layout_options, createLayoutOptions("grid", [5,3], [30,40]));
132delete(gcf());
133
134