4
4
extern crate iui;
5
5
use iui:: prelude:: * ;
6
6
use iui:: controls:: { Label , Spinbox , Slider , Entry , MultilineEntry , LayoutGrid ,
7
- GridAlignment , HorizontalSeparator } ;
7
+ GridAlignment , GridExpand , HorizontalSeparator } ;
8
8
use std:: rc:: Rc ;
9
9
use std:: cell:: RefCell ;
10
10
@@ -43,17 +43,17 @@ fn main() {
43
43
// This is position (by slot) and size, expansion, and alignment.
44
44
// In this case, row 0, col 0, 1 by 1, compress as much as possible,
45
45
// and align to the fill.
46
- 0 , 0 , 1 , 1 , false , false , GridAlignment :: Fill , GridAlignment :: Fill ) ;
46
+ 0 , 0 , 1 , 1 , GridExpand :: Neither , GridAlignment :: Fill , GridAlignment :: Fill ) ;
47
47
grid. append ( & ui, spinner. clone ( ) ,
48
48
// This one is at column zero, row 1.
49
- 0 , 1 , 1 , 1 , false , false , GridAlignment :: Fill , GridAlignment :: Fill ) ;
49
+ 0 , 1 , 1 , 1 , GridExpand :: Neither , GridAlignment :: Fill , GridAlignment :: Fill ) ;
50
50
grid. append ( & ui, HorizontalSeparator :: new ( & ui) ,
51
- 0 , 3 , 1 , 1 , false , false , GridAlignment :: Fill , GridAlignment :: Fill ) ;
51
+ 0 , 3 , 1 , 1 , GridExpand :: Neither , GridAlignment :: Fill , GridAlignment :: Fill ) ;
52
52
grid. append ( & ui, entry. clone ( ) ,
53
- 0 , 4 , 1 , 1 , false , false , GridAlignment :: Fill , GridAlignment :: Fill ) ;
53
+ 0 , 4 , 1 , 1 , GridExpand :: Neither , GridAlignment :: Fill , GridAlignment :: Fill ) ;
54
54
grid. append ( & ui, multi. clone ( ) ,
55
55
// The multiline entry is at column 0, row 1, and expands vertically.
56
- 0 , 5 , 1 , 1 , false , true , GridAlignment :: Fill , GridAlignment :: Fill ) ;
56
+ 0 , 5 , 1 , 1 , GridExpand :: Vertical , GridAlignment :: Fill , GridAlignment :: Fill ) ;
57
57
( slider, spinner, entry, multi)
58
58
} ;
59
59
@@ -65,13 +65,15 @@ fn main() {
65
65
let text_label = Label :: new ( & ui, "" ) ;
66
66
let bigtext_label = Label :: new ( & ui, "" ) ;
67
67
grid. append ( & ui, add_label. clone ( ) ,
68
- 1 , 0 , 1 , 1 , false , false , GridAlignment :: Fill , GridAlignment :: Fill ) ;
68
+ 1 , 0 , 1 , 1 , GridExpand :: Neither , GridAlignment :: Fill , GridAlignment :: Fill ) ;
69
69
grid. append ( & ui, sub_label. clone ( ) ,
70
- 1 , 1 , 1 , 1 , false , false , GridAlignment :: Fill , GridAlignment :: Fill ) ;
70
+ 1 , 1 , 1 , 1 , GridExpand :: Neither , GridAlignment :: Fill , GridAlignment :: Fill ) ;
71
+ // We skip the #2 & 3 slots so that the text labels will align with their inputs.
72
+ // This is important because the big text label can expand vertically.
71
73
grid. append ( & ui, text_label. clone ( ) ,
72
- 1 , 2 , 1 , 1 , false , false , GridAlignment :: Fill , GridAlignment :: Fill ) ;
74
+ 1 , 4 , 1 , 1 , GridExpand :: Neither , GridAlignment :: Fill , GridAlignment :: Fill ) ;
73
75
grid. append ( & ui, bigtext_label. clone ( ) ,
74
- 1 , 3 , 1 , 1 , false , false , GridAlignment :: Fill , GridAlignment :: Fill ) ;
76
+ 1 , 5 , 1 , 1 , GridExpand :: Neither , GridAlignment :: Fill , GridAlignment :: Fill ) ;
75
77
( add_label, sub_label, text_label, bigtext_label)
76
78
} ;
77
79
0 commit comments