pub struct MessageWindow {
pub handle: ControlHandle,
}
Expand description
A message only top level window. At least one top level window is required to make a NWG application. See the module documentation
Fields§
§handle: ControlHandle
Implementations§
Source§impl MessageWindow
impl MessageWindow
Sourcepub fn builder() -> MessageWindowBuilder
pub fn builder() -> MessageWindowBuilder
Examples found in repository?
examples/system_tray.rs (line 69)
60 fn build_ui(mut data: SystemTray) -> Result<SystemTrayUi, nwg::NwgError> {
61 use nwg::Event as E;
62
63 // Resources
64 nwg::Icon::builder()
65 .source_file(Some("./test_rc/cog.ico"))
66 .build(&mut data.icon)?;
67
68 // Controls
69 nwg::MessageWindow::builder()
70 .build(&mut data.window)?;
71
72 nwg::TrayNotification::builder()
73 .parent(&data.window)
74 .icon(Some(&data.icon))
75 .tip(Some("Hello"))
76 .build(&mut data.tray)?;
77
78 nwg::Menu::builder()
79 .popup(true)
80 .parent(&data.window)
81 .build(&mut data.tray_menu)?;
82
83 nwg::MenuItem::builder()
84 .text("Hello")
85 .parent(&data.tray_menu)
86 .build(&mut data.tray_item1)?;
87
88 nwg::MenuItem::builder()
89 .text("Popup")
90 .parent(&data.tray_menu)
91 .build(&mut data.tray_item2)?;
92
93 nwg::MenuItem::builder()
94 .text("Exit")
95 .parent(&data.tray_menu)
96 .build(&mut data.tray_item3)?;
97
98 // Wrap-up
99 let ui = SystemTrayUi {
100 inner: Rc::new(data),
101 default_handler: Default::default(),
102 };
103
104 // Events
105 let evt_ui = Rc::downgrade(&ui.inner);
106 let handle_events = move |evt, _evt_data, handle| {
107 if let Some(evt_ui) = evt_ui.upgrade() {
108 match evt {
109 E::OnContextMenu =>
110 if &handle == &evt_ui.tray {
111 SystemTray::show_menu(&evt_ui);
112 }
113 E::OnMenuItemSelected =>
114 if &handle == &evt_ui.tray_item1 {
115 SystemTray::hello1(&evt_ui);
116 } else if &handle == &evt_ui.tray_item2 {
117 SystemTray::hello2(&evt_ui);
118 } else if &handle == &evt_ui.tray_item3 {
119 SystemTray::exit(&evt_ui);
120 },
121 _ => {}
122 }
123 }
124 };
125
126 ui.default_handler.borrow_mut().push(
127 nwg::full_bind_event_handler(&ui.window.handle, handle_events)
128 );
129
130 return Ok(ui);
131 }
Trait Implementations§
Source§impl Default for MessageWindow
impl Default for MessageWindow
Source§fn default() -> MessageWindow
fn default() -> MessageWindow
Returns the “default value” for a type. Read more
Source§impl Drop for MessageWindow
impl Drop for MessageWindow
Source§impl From<&MessageWindow> for ControlHandle
impl From<&MessageWindow> for ControlHandle
Source§fn from(control: &MessageWindow) -> Self
fn from(control: &MessageWindow) -> Self
Converts to this type from the input type.
Source§impl From<&mut MessageWindow> for ControlHandle
impl From<&mut MessageWindow> for ControlHandle
Source§fn from(control: &mut MessageWindow) -> Self
fn from(control: &mut MessageWindow) -> Self
Converts to this type from the input type.
Source§impl PartialEq<ControlHandle> for MessageWindow
impl PartialEq<ControlHandle> for MessageWindow
Source§impl PartialEq<MessageWindow> for ControlHandle
impl PartialEq<MessageWindow> for ControlHandle
Source§impl PartialEq for MessageWindow
impl PartialEq for MessageWindow
impl Eq for MessageWindow
impl StructuralPartialEq for MessageWindow
Auto Trait Implementations§
impl Freeze for MessageWindow
impl RefUnwindSafe for MessageWindow
impl !Send for MessageWindow
impl !Sync for MessageWindow
impl Unpin for MessageWindow
impl UnwindSafe for MessageWindow
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