pub struct OptionsPageInit<'a, A: PluginApp> { /* private fields */ }Available on crate feature
winio only.Implementations§
Source§impl<'a, A: PluginApp> OptionsPageInit<'a, A>
impl<'a, A: PluginApp> OptionsPageInit<'a, A>
Sourcepub async fn window<T: OptionsPageComponent<'a, App = A>>(
&mut self,
sender: &ComponentSender<T>,
) -> Result<Child<View>, Error>
pub async fn window<T: OptionsPageComponent<'a, App = A>>( &mut self, sender: &ComponentSender<T>, ) -> Result<Child<View>, Error>
Do not call set_size() after calling this in init(), otherwise the initial size will be overridden.
Examples found in repository?
examples/options/options.rs (line 39)
35 async fn init(
36 mut init: Self::Init<'_>,
37 sender: &ComponentSender<Self>,
38 ) -> Result<Self, Self::Error> {
39 let mut window = init.window(sender).await?;
40 // window.set_size(Size::new(800.0, 600.0));
41
42 let mut enabled = Child::<CheckBox>::init(&window).await?;
43 enabled.set_text("Enable");
44
45 let mut b = Child::<CheckBox>::init(&window).await?;
46 b.set_text("Switch");
47
48 let mut e_label = Child::<Label>::init(&window).await?;
49 e_label.set_text("Mode:");
50 let mut e = Child::<ComboBox>::init(&window).await?;
51 e.insert(0, "A");
52 e.insert(1, "B");
53
54 let mut s_label = Child::<Label>::init(&window).await?;
55 s_label.set_text("Message:");
56 let mut s = Child::<Edit>::init(&window).await?;
57
58 HANDLER.with_app(|a| {
59 let config = a.config();
60
61 enabled.set_checked(config.enabled);
62 b.set_checked(config.b);
63
64 e.set_selection(match config.e {
65 Mode::A => 0,
66 Mode::B => 1,
67 });
68
69 s.set_text(&config.s);
70 });
71
72 sender.post(MainMessage::EnabledClick);
73
74 window.show();
75
76 Ok(Self {
77 window,
78 enabled,
79 b,
80 s_label,
81 s,
82 e_label,
83 e,
84 })
85 }More examples
examples/test/widgets.rs (line 73)
68 async fn init(
69 mut init: Self::Init<'_>,
70 sender: &ComponentSender<Self>,
71 ) -> Result<Self, Self::Error> {
72 // let mut window = Child::<Window>::init(init);
73 let mut window = init.window(sender).await?;
74 // window.set_text("Widgets example");
75 window.set_size(Size::new(800.0, 600.0));
76
77 let canvas = Child::<Canvas>::init(&window).await?;
78 let mut ulabel = Child::<Label>::init(&window).await?;
79 ulabel.set_text("Username:");
80 ulabel.set_halign(HAlign::Right);
81 let mut plabel = Child::<Label>::init(&window).await?;
82 plabel.set_text("Password:");
83 plabel.set_halign(HAlign::Right);
84 let mut uentry = Child::<Edit>::init(&window).await?;
85 uentry.set_text("AAA");
86 let mut pentry = Child::<Edit>::init(&window).await?;
87 pentry.set_text("123456");
88 pentry.set_password(true);
89 let mut pcheck = Child::<CheckBox>::init(&window).await?;
90 pcheck.set_text("Show");
91 pcheck.set_checked(false);
92 let combo = Child::<ComboBox>::init(&window).await?;
93 let mut list = Child::<ObservableVec<String>>::init(Vec::new())
94 .await
95 .unwrap();
96 // https://www.zhihu.com/question/23600507/answer/140640887
97 list.push("烫烫烫".to_string());
98 list.push("昍昍昍".to_string());
99 list.push("フフフフフフ".to_string());
100 list.push("쳌쳌쳌".to_string());
101 let mut r1 = Child::<RadioButton>::init(&window).await?;
102 r1.set_text("屯屯屯");
103 r1.set_checked(true);
104 let mut r2 = Child::<RadioButton>::init(&window).await?;
105 r2.set_text("锟斤拷");
106 let mut r3 = Child::<RadioButton>::init(&window).await?;
107 r3.set_text("╠╠╠");
108 // Initialize radio group with the radio buttons
109 let radio_group = Child::<RadioButtonGroup>::init(vec![r1, r2, r3]).await?;
110
111 let mut push_button = Child::<Button>::init(&window).await?;
112 push_button.set_text("Push");
113 let mut pop_button = Child::<Button>::init(&window).await?;
114 pop_button.set_text("Pop");
115 let mut show_button = Child::<Button>::init(&window).await?;
116 show_button.set_text("Show");
117 let mut progress = Child::<Progress>::init(&window).await?;
118 progress.set_indeterminate(true);
119 let mut mltext = Child::<TextBox>::init(&window).await?;
120 HANDLER.with_app(|a| mltext.set_text(&a.config().s));
121
122 window.show();
123
124 Ok(Self {
125 window,
126 ulabel,
127 plabel,
128 uentry,
129 pentry,
130 pcheck,
131 canvas,
132 combo,
133 list,
134 index: None,
135 radio_group,
136 rindex: 0,
137 push_button,
138 pop_button,
139 show_button,
140 progress,
141 mltext,
142 })
143 }Sourcepub fn init<T: OptionsPageComponent<'a, App = A>>(
&mut self,
window: &mut View,
sender: &ComponentSender<T>,
)
pub fn init<T: OptionsPageComponent<'a, App = A>>( &mut self, window: &mut View, sender: &ComponentSender<T>, )
Do not call set_size() after calling this in init(), otherwise the initial size will be overridden.
Trait Implementations§
Auto Trait Implementations§
impl<'a, A> Freeze for OptionsPageInit<'a, A>
impl<'a, A> !RefUnwindSafe for OptionsPageInit<'a, A>
impl<'a, A> !Send for OptionsPageInit<'a, A>
impl<'a, A> !Sync for OptionsPageInit<'a, A>
impl<'a, A> Unpin for OptionsPageInit<'a, A>
impl<'a, A> UnsafeUnpin for OptionsPageInit<'a, A>
impl<'a, A> !UnwindSafe for OptionsPageInit<'a, A>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more