#[non_exhaustive]pub enum ComboBoxMessage {
Insert {
at: usize,
value: String,
},
Remove {
at: usize,
},
Replace {
at: usize,
value: String,
},
Clear,
}Available on crate feature
winio only.Expand description
Messages of ComboBox.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Insert
An element inserted.
Remove
An element removed.
Replace
An element of specific position is replaced.
Clear
The vector has been cleared.
Implementations§
Source§impl ComboBoxMessage
impl ComboBoxMessage
Sourcepub fn from_observable_vec_event_by<T>(
e: ObservableVecEvent<T>,
f: impl FnMut(T) -> String,
) -> ComboBoxMessage
pub fn from_observable_vec_event_by<T>( e: ObservableVecEvent<T>, f: impl FnMut(T) -> String, ) -> ComboBoxMessage
Retrive ComboBoxMessage from ObservableVecEvent by custom
function.
Sourcepub fn from_observable_vec_event<T>(e: ObservableVecEvent<T>) -> ComboBoxMessagewhere
T: ToString,
pub fn from_observable_vec_event<T>(e: ObservableVecEvent<T>) -> ComboBoxMessagewhere
T: ToString,
Retrive ComboBoxMessage from ObservableVecEvent.
Examples found in repository?
examples/test/widgets.rs (line 191)
176 async fn update(
177 &mut self,
178 message: Self::Message,
179 sender: &ComponentSender<Self>,
180 ) -> Result<bool, Self::Error> {
181 // futures_util::future::join(self.window.update(), self.canvas.update()).await;
182 Ok(match message {
183 MainMessage::Noop => false,
184 MainMessage::PasswordCheck => {
185 self.pentry.set_password(!self.pcheck.is_checked()?);
186 true
187 }
188 MainMessage::List(e) => {
189 self.pop_button.set_enabled(!self.list.is_empty());
190 self.combo
191 .emit(ComboBoxMessage::from_observable_vec_event(e))
192 .await?
193 }
194 MainMessage::Select => {
195 self.index = self.combo.selection()?;
196 false
197 }
198 MainMessage::Push => {
199 self.list.push(self.radio_group[self.rindex].text()?);
200 false
201 }
202 MainMessage::Pop => {
203 self.list.pop();
204 false
205 }
206 MainMessage::RSelect(i) => {
207 self.rindex = i;
208 false
209 }
210 MainMessage::Show => {
211 MessageBox::new()
212 .title("Show selected item")
213 .message(
214 self.index
215 .and_then(|index| self.list.get(index))
216 .map(|s| s.as_str())
217 .unwrap_or("No selection."),
218 )
219 .buttons(MessageBoxButton::Ok)
220 // https://github.com/compio-rs/winio/issues/105
221 .show(unsafe { BorrowedWindow::win32(self.window.as_container().as_win32()) })
222 .await;
223 false
224 }
225 MainMessage::OptionsPage(m) => {
226 tracing::debug!(?m, "Options page message");
227 match m {
228 OptionsPageMessage::Redraw => true,
229 OptionsPageMessage::Close => {
230 sender.output(());
231 false
232 }
233 OptionsPageMessage::Save(config, tx) => {
234 config.s = self.mltext.text()?;
235 tx.send(config).unwrap();
236 false
237 }
238 }
239 }
240 })
241 }Trait Implementations§
Auto Trait Implementations§
impl Freeze for ComboBoxMessage
impl RefUnwindSafe for ComboBoxMessage
impl Send for ComboBoxMessage
impl Sync for ComboBoxMessage
impl Unpin for ComboBoxMessage
impl UnsafeUnpin for ComboBoxMessage
impl UnwindSafe for ComboBoxMessage
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