pub struct Notice {
pub handle: ControlHandle,
}
Expand description
An invisible component that can be triggered by other thread.
A notice object does not send data between threads. Rust has already plenty of way to do this. The notice object only serve to “wake up” the GUI thread.
A notice must have a parent window. If the parent is destroyed before the notice, the notice becomes invalid.
Requires the notice
feature.
§Example
use native_windows_gui as nwg;
fn build_notice(notice: &mut nwg::Notice, window: &nwg::Window) {
nwg::Notice::builder()
.parent(window)
.build(notice);
}
use native_windows_gui as nwg;
use std::thread;
use std::time;
fn notice(noticer: &nwg::Notice) {
let sender = noticer.sender();
thread::spawn(move || {
thread::sleep(time::Duration::new(5, 0));
sender.notice();
});
}
Fields§
§handle: ControlHandle
Implementations§
Source§impl Notice
impl Notice
pub fn builder() -> NoticeBuilder
Sourcepub fn create<C: Into<ControlHandle>>(parent: C) -> Result<Notice, NwgError>
pub fn create<C: Into<ControlHandle>>(parent: C) -> Result<Notice, NwgError>
A shortcut over the builder API for the notice object
Sourcepub fn valid(&self) -> bool
pub fn valid(&self) -> bool
Checks if the notice is still usable. A notice becomes unusable when the parent window is destroyed. This will also return false if the notice is not initialized.
Sourcepub fn window_handle(&self) -> Option<ControlHandle>
pub fn window_handle(&self) -> Option<ControlHandle>
Return an handle to the notice window or None
if the window was destroyed.
Sourcepub fn set_window_handle<C: Into<ControlHandle>>(&mut self, window: C)
pub fn set_window_handle<C: Into<ControlHandle>>(&mut self, window: C)
Change the parent window of the notice. This won’t update the NoticeSender already created. Panics if the control is not a window-like control or if the notice was not initialized
Sourcepub fn sender(&self) -> NoticeSender
pub fn sender(&self) -> NoticeSender
Create a new NoticeSender
bound to this Notice