pub trait Visible {
// Required methods
fn is_visible(&self) -> bool;
fn set_visible(&mut self, v: bool);
// Provided methods
fn show(&mut self) { ... }
fn hide(&mut self) { ... }
}Available on crate feature
winio only.Expand description
Trait for a widget to set visibility.
Required Methods§
Sourcefn is_visible(&self) -> bool
fn is_visible(&self) -> bool
If the widget is visible.
Sourcefn set_visible(&mut self, v: bool)
fn set_visible(&mut self, v: bool)
Set the visibility.
Provided Methods§
Sourcefn show(&mut self)
fn show(&mut self)
Show the widget.
Examples found in repository?
examples/options/options.rs (line 71)
35 fn init(mut init: Self::Init<'_>, sender: &ComponentSender<Self>) -> Self {
36 let mut window = init.window(sender);
37 // window.set_size(Size::new(800.0, 600.0));
38
39 let mut enabled = Child::<CheckBox>::init(&window);
40 enabled.set_text("Enable");
41
42 let mut b = Child::<CheckBox>::init(&window);
43 b.set_text("Switch");
44
45 let mut e_label = Child::<Label>::init(&window);
46 e_label.set_text("Mode:");
47 let mut e = Child::<ComboBox>::init(&window);
48 e.insert(0, "A");
49 e.insert(1, "B");
50
51 let mut s_label = Child::<Label>::init(&window);
52 s_label.set_text("Message:");
53 let mut s = Child::<Edit>::init(&window);
54
55 HANDLER.with_app(|a| {
56 let config = a.config();
57
58 enabled.set_checked(config.enabled);
59 b.set_checked(config.b);
60
61 e.set_selection(Some(match config.e {
62 Mode::A => 0,
63 Mode::B => 1,
64 }));
65
66 s.set_text(&config.s);
67 });
68
69 sender.post(MainMessage::EnabledClick);
70
71 window.show();
72
73 Self {
74 window,
75 enabled,
76 b,
77 s_label,
78 s,
79 e_label,
80 e,
81 }
82 }More examples
examples/test/widgets.rs (line 130)
67 fn init(mut init: Self::Init<'_>, sender: &ComponentSender<Self>) -> Self {
68 // let mut window = Child::<Window>::init(init);
69 let mut window = init.window(sender);
70 window.set_text("Widgets example");
71 window.set_size(Size::new(800.0, 600.0));
72 init! {
73 canvas: Canvas = (&window),
74 ulabel: Label = (&window) => {
75 text: "Username:",
76 halign: HAlign::Right,
77 },
78 plabel: Label = (&window) => {
79 text: "Password:",
80 halign: HAlign::Right,
81 },
82 uentry: Edit = (&window) => {
83 text: "AAA",
84 },
85 pentry: Edit = (&window) => {
86 text: "123456",
87 password: true,
88 },
89 pcheck: CheckBox = (&window) => {
90 text: "Show",
91 checked: false,
92 },
93 combo: ComboBox = (&window),
94 list: ObservableVec<String> = (()) => {
95 // https://www.zhihu.com/question/23600507/answer/140640887
96 items: [
97 "烫烫烫",
98 "昍昍昍",
99 "フフフフフフ",
100 "쳌쳌쳌"
101 ],
102 },
103 r1: RadioButton = (&window) => {
104 text: "屯屯屯",
105 checked: true,
106 },
107 r2: RadioButton = (&window) => {
108 text: "锟斤拷",
109 },
110 r3: RadioButton = (&window) => {
111 text: "╠╠╠"
112 },
113 push_button: Button = (&window) => {
114 text: "Push",
115 },
116 pop_button: Button = (&window) => {
117 text: "Pop",
118 },
119 show_button: Button = (&window) => {
120 text: "Show",
121 },
122 progress: Progress = (&window) => {
123 indeterminate: true,
124 },
125 mltext: TextBox = (&window) => {
126 },
127 }
128 HANDLER.with_app(|a| mltext.set_text(&a.config().s));
129
130 window.show();
131
132 Self {
133 window,
134 ulabel,
135 plabel,
136 uentry,
137 pentry,
138 pcheck,
139 canvas,
140 combo,
141 list,
142 index: None,
143 r1,
144 r2,
145 r3,
146 rindex: 0,
147 push_button,
148 pop_button,
149 show_button,
150 progress,
151 mltext,
152 }
153 }