36 lines
959 B
Rust
36 lines
959 B
Rust
use iris::prelude::*;
|
|
use winit::event::WindowEvent;
|
|
|
|
fn main() {
|
|
DesktopApp::<Client>::run();
|
|
}
|
|
|
|
#[derive(DesktopUiState)]
|
|
pub struct Client {
|
|
ui_state: DesktopUiState,
|
|
info: WeakWidget<Text>,
|
|
}
|
|
|
|
impl DesktopAppState for Client {
|
|
fn new(mut ui_state: DesktopUiState, rsc: &mut StdRsc<Self>, _: Proxy<Self::Event>) -> Self {
|
|
let widgets = tabs_ui::build(rsc, &mut ui_state);
|
|
Self {
|
|
ui_state,
|
|
info: widgets.info,
|
|
}
|
|
}
|
|
|
|
fn window_event(&mut self, _: WindowEvent, rsc: &mut StdRsc<Self>) {
|
|
let render_state = rsc.ui.render_state();
|
|
let new = format!(
|
|
"widgets: {}\nactive: {}\nviews: {}",
|
|
rsc.widgets().len(),
|
|
render_state.get().active_widgets(),
|
|
self.ui_state.renderer.ui.view_count(),
|
|
);
|
|
if new != *rsc.widgets()[self.info].content {
|
|
*rsc.widgets_mut()[self.info].content = new;
|
|
}
|
|
}
|
|
}
|