pub struct Edit { /* private fields */ }Available on crate feature
winio only.Expand description
A simple single-line text input box.
Implementations§
Source§impl Edit
impl Edit
Sourcepub fn text(&self) -> String
pub fn text(&self) -> String
The text.
Examples found in repository?
examples/options/options.rs (line 124)
97 async fn update(&mut self, message: Self::Message, sender: &ComponentSender<Self>) -> bool {
98 futures_util::join!(self.window.update());
99 match message {
100 MainMessage::Noop => false,
101 MainMessage::Close => {
102 sender.output(());
103 false
104 }
105 MainMessage::Redraw => true,
106 MainMessage::EnabledClick => {
107 let enabled = self.enabled.is_checked();
108 self.b.set_enabled(enabled);
109 self.e.set_enabled(enabled);
110 self.s.set_enabled(enabled);
111 false
112 }
113 MainMessage::OptionsPage(m) => {
114 tracing::debug!(?m, "Options page message");
115 match m {
116 OptionsPageMessage::Save(config, tx) => {
117 config.enabled = self.enabled.is_checked();
118 config.b = self.b.is_checked();
119 config.e = match self.e.selection() {
120 Some(0) => Mode::A,
121 Some(1) => Mode::B,
122 _ => Default::default(),
123 };
124 config.s = self.s.text();
125 tx.send(config).unwrap()
126 }
127 }
128 false
129 }
130 }
131 }Sourcepub fn set_text(&mut self, s: impl AsRef<str>)
pub fn set_text(&mut self, s: impl AsRef<str>)
Set the text.
Examples found in repository?
examples/options/options.rs (line 66)
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 }Sourcepub fn is_password(&self) -> bool
pub fn is_password(&self) -> bool
If the text input is password.
Sourcepub fn set_password(&mut self, v: bool)
pub fn set_password(&mut self, v: bool)
Set if the text input is password.
Examples found in repository?
examples/test/widgets.rs (line 197)
187 async fn update(&mut self, message: Self::Message, sender: &ComponentSender<Self>) -> bool {
188 futures_util::future::join(self.window.update(), self.canvas.update()).await;
189 match message {
190 MainMessage::Noop => false,
191 MainMessage::Close => {
192 sender.output(());
193 false
194 }
195 MainMessage::Redraw => true,
196 MainMessage::PasswordCheck => {
197 self.pentry.set_password(!self.pcheck.is_checked());
198 true
199 }
200 MainMessage::List(e) => {
201 self.pop_button.set_enabled(!self.list.is_empty());
202 self.combo
203 .emit(ComboBoxMessage::from_observable_vec_event(e))
204 .await
205 }
206 MainMessage::Select => {
207 self.index = self.combo.selection();
208 false
209 }
210 MainMessage::Push => {
211 self.list.push(
212 match self.rindex {
213 0 => &self.r1,
214 1 => &self.r2,
215 2 => &self.r3,
216 _ => unreachable!(),
217 }
218 .text(),
219 );
220 false
221 }
222 MainMessage::Pop => {
223 self.list.pop();
224 false
225 }
226 MainMessage::RSelect(i) => {
227 self.rindex = i;
228 false
229 }
230 MainMessage::Show => {
231 MessageBox::new()
232 .title("Show selected item")
233 .message(
234 self.index
235 .and_then(|index| self.list.get(index))
236 .map(|s| s.as_str())
237 .unwrap_or("No selection."),
238 )
239 .buttons(MessageBoxButton::Ok)
240 .show(&self.window)
241 .await;
242 false
243 }
244 MainMessage::OptionsPage(m) => {
245 tracing::debug!(?m, "Options page message");
246 match m {
247 OptionsPageMessage::Save(config, tx) => {
248 config.s = self.mltext.text();
249 tx.send(config).unwrap()
250 }
251 }
252 false
253 }
254 }
255 }Sourcepub fn set_halign(&mut self, align: HAlign)
pub fn set_halign(&mut self, align: HAlign)
Set the horizontal alignment.
Trait Implementations§
Source§impl AsRawWidget for Edit
impl AsRawWidget for Edit
Source§fn as_raw_widget(&self) -> RawWidget
fn as_raw_widget(&self) -> RawWidget
Get the raw window handle.
Source§impl Component for Edit
impl Component for Edit
Source§type Init<'a> = BorrowedWindow<'a>
type Init<'a> = BorrowedWindow<'a>
Initial parameter type.
Source§fn init(
init: <Edit as Component>::Init<'_>,
_sender: &ComponentSender<Edit>,
) -> Edit
fn init( init: <Edit as Component>::Init<'_>, _sender: &ComponentSender<Edit>, ) -> Edit
Create the initial component.
Source§async fn update(
&mut self,
_message: <Edit as Component>::Message,
_sender: &ComponentSender<Edit>,
) -> bool
async fn update( &mut self, _message: <Edit as Component>::Message, _sender: &ComponentSender<Edit>, ) -> bool
Respond to the message.
Source§fn render(&mut self, _sender: &ComponentSender<Edit>)
fn render(&mut self, _sender: &ComponentSender<Edit>)
Render the widgets.
Source§impl Layoutable for Edit
impl Layoutable for Edit
Source§fn preferred_size(&self) -> Size2D<f64, LogicalSpace>
fn preferred_size(&self) -> Size2D<f64, LogicalSpace>
The preferred size.
Auto Trait Implementations§
impl Freeze for Edit
impl RefUnwindSafe for Edit
impl !Send for Edit
impl !Sync for Edit
impl Unpin for Edit
impl UnwindSafe for Edit
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