pub struct MessageWindowBuilder {}Implementations§
Source§impl MessageWindowBuilder
impl MessageWindowBuilder
Sourcepub fn build(self, out: &mut MessageWindow) -> Result<(), NwgError>
pub fn build(self, out: &mut MessageWindow) -> Result<(), NwgError>
Examples found in repository?
examples/system_tray.rs (line 70)
61 fn build_ui(mut data: SystemTray) -> Result<SystemTrayUi, nwg::NwgError> {
62 use nwg::Event as E;
63
64 // Resources
65 nwg::Icon::builder()
66 .source_file(Some("./test_rc/cog.ico"))
67 .build(&mut data.icon)?;
68
69 // Controls
70 nwg::MessageWindow::builder().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 }
114 E::OnMenuItemSelected => {
115 if &handle == &evt_ui.tray_item1 {
116 SystemTray::hello1(&evt_ui);
117 } else if &handle == &evt_ui.tray_item2 {
118 SystemTray::hello2(&evt_ui);
119 } else if &handle == &evt_ui.tray_item3 {
120 SystemTray::exit(&evt_ui);
121 }
122 }
123 _ => {}
124 }
125 }
126 };
127
128 ui.default_handler
129 .borrow_mut()
130 .push(nwg::full_bind_event_handler(
131 &ui.window.handle,
132 handle_events,
133 ));
134
135 return Ok(ui);
136 }Auto Trait Implementations§
impl Freeze for MessageWindowBuilder
impl RefUnwindSafe for MessageWindowBuilder
impl Send for MessageWindowBuilder
impl Sync for MessageWindowBuilder
impl Unpin for MessageWindowBuilder
impl UnsafeUnpin for MessageWindowBuilder
impl UnwindSafe for MessageWindowBuilder
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