1 USING: ui.gadgets.packs ui.gadgets.packs.private
2 ui.gadgets.labels ui.gadgets ui.gadgets.debug ui.render
3 ui.baseline-alignment kernel namespaces tools.test math.parser
4 sequences math.rectangles accessors ;
5 IN: ui.gadgets.packs.tests
8 { 0 0 } { 100 100 } <rect> clip set
11 100 [ number>string <label> add-gadget ] each
14 visible-children [ label? ] all?
20 <gadget> vertical >>orientation
24 ! Test baseline alignment
25 <shelf> +baseline+ >>align
26 5 5 { 10 10 } <baseline-gadget> add-gadget
27 10 10 { 10 10 } <baseline-gadget> add-gadget
30 [ ] [ "g" get prefer ] unit-test
32 [ { 20 15 } ] [ "g" get dim>> ] unit-test
34 [ V{ { 0 5 } { 10 0 } } ] [
37 children>> [ loc>> ] map
40 ! Test mixed baseline and ordinary alignment
41 <shelf> +baseline+ >>align
42 <gadget> { 20 20 } >>dim add-gadget
43 10 10 { 10 10 } <baseline-gadget> add-gadget
46 [ { 30 20 } ] [ "g" get pref-dim ] unit-test
48 [ ] [ "g" get layout ] unit-test
50 [ V{ { 0 0 } { 20 5 } } ] [
51 "g" get children>> [ loc>> ] map
54 <shelf> +baseline+ >>align
55 <gadget> { 15 15 } >>dim add-gadget
56 5 5 { 10 10 } <baseline-gadget> add-gadget
59 [ { 25 15 } ] [ "g" get pref-dim ] unit-test
61 [ ] [ "g" get prefer ] unit-test
63 [ ] [ "g" get layout ] unit-test
65 [ V{ { 0 0 } { 15 5 } } ] [
66 "g" get children>> [ loc>> ] map
69 <shelf> +baseline+ >>align
70 <gadget> { 20 20 } >>dim add-gadget
71 30 30 { 10 50 } <baseline-gadget> add-gadget
74 [ { 30 50 } ] [ "g" get pref-dim ] unit-test
76 [ ] [ "g" get prefer ] unit-test
78 [ ] [ "g" get layout ] unit-test
80 [ V{ { 0 5 } { 20 0 } } ] [
81 "g" get children>> [ loc>> ] map
84 <shelf> +baseline+ >>align
85 <gadget> { 30 30 } >>dim add-gadget
86 30 4 { 30 30 } <baseline-gadget> add-gadget
89 [ { 60 43 } ] [ "g" get pref-dim ] unit-test
91 [ ] [ "g" get prefer ] unit-test
93 [ ] [ "g" get layout ] unit-test
95 ! Baseline alignment without any text gadgets should behave like align=1/2
96 <shelf> +baseline+ >>align
97 <gadget> { 30 30 } >>dim add-gadget
98 <gadget> { 30 20 } >>dim add-gadget
101 [ { 60 30 } ] [ "g" get pref-dim ] unit-test
103 [ ] [ "g" get prefer ] unit-test
105 [ ] [ "g" get layout ] unit-test
107 [ V{ { 0 0 } { 30 5 } } ]
108 [ "g" get children>> [ loc>> ] map ] unit-test
110 <shelf> +baseline+ >>align
111 <gadget> { 30 30 } >>dim add-gadget
112 10 10 { 10 10 } <baseline-gadget> add-gadget
115 [ ] [ "g" get prefer ] unit-test
117 [ ] [ "g" get layout ] unit-test
119 [ V{ { 0 0 } { 30 10 } } ]
120 [ "g" get children>> [ loc>> ] map ] unit-test
122 <shelf> +baseline+ >>align
123 <shelf> <gadget> { 30 30 } >>dim add-gadget add-gadget
124 10 10 { 10 10 } <baseline-gadget> add-gadget
127 [ ] [ "g" get prefer ] unit-test
129 [ ] [ "g" get layout ] unit-test
131 [ V{ { 0 0 } { 30 10 } } ]
132 [ "g" get children>> [ loc>> ] map ] unit-test
134 <shelf> +baseline+ >>align
135 <gadget> { 24 24 } >>dim add-gadget
136 12 9 { 15 15 } <baseline-gadget> add-gadget
139 [ { 39 24 } ] [ "g" get pref-dim ] unit-test