frontend: the advoware GUI
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
This commit is contained in:
86
frontend/examples/messages.rs
Normal file
86
frontend/examples/messages.rs
Normal file
@@ -0,0 +1,86 @@
|
||||
// // This examples shows how you could send messages between different widgets / views.
|
||||
|
||||
// use orbtk::*;
|
||||
|
||||
// mod sender {
|
||||
// use orbtk::*;
|
||||
// use std::{cell::Cell, rc::Rc};
|
||||
|
||||
// #[derive(Default)]
|
||||
// struct SenderState {
|
||||
// send_message: Cell<bool>,
|
||||
// }
|
||||
|
||||
// impl State for SenderState {
|
||||
// fn update(&mut self, ctx: &mut Context<'_>) {
|
||||
// if self.send_message.get() {
|
||||
// ctx.send_message("receiver_view", StringMessage::from("Hello from sender."));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// widget!(SenderView);
|
||||
|
||||
// impl Widget for SenderView {
|
||||
// fn create() -> Self {
|
||||
// let state = Rc::new(SenderState::default());
|
||||
// let send_state = state.clone();
|
||||
|
||||
// SenderView::new()
|
||||
// .debug_name("SenderView")
|
||||
// .child(
|
||||
// Button::create()
|
||||
// .text("Send message")
|
||||
// .on_click(move |_| -> bool {
|
||||
// send_state.send_message.set(true);
|
||||
// true
|
||||
// }),
|
||||
// )
|
||||
// .state(state)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// mod receiver {
|
||||
// use super::sender;
|
||||
// use orbtk::*;
|
||||
// use std::rc::Rc;
|
||||
|
||||
// struct ReceiverState;
|
||||
|
||||
// impl State for ReceiverState {
|
||||
// fn receive_messages(&self, _context: &mut Context<'_>, messages: &Vec<MessageBox>) {
|
||||
// for message in messages {
|
||||
// if let Ok(message) = message.downcast_ref::<StringMessage>() {
|
||||
// println!("Message received: {}", message.0);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// widget!(ReceiverView);
|
||||
|
||||
// impl Widget for ReceiverView {
|
||||
// fn create() -> Self {
|
||||
// ReceiverView::new()
|
||||
// .debug_name("ReceiverView")
|
||||
// .child(Container::create().child(sender::SenderView::create()))
|
||||
// .attach(Selector::default().id("receiver_view"))
|
||||
// .state(Rc::new(ReceiverState))
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// fn main() {
|
||||
// let mut application = Application::default();
|
||||
// application
|
||||
// .create_window()
|
||||
// .bounds((100.0, 100.0, 420.0, 730.0))
|
||||
// .title("OrbTk - minimal example")
|
||||
// .root(receiver::ReceiverView::create())
|
||||
// .debug_flag(true)
|
||||
// .build();
|
||||
// application.run();
|
||||
// }
|
||||
|
||||
fn main() {}
|
||||
Reference in New Issue
Block a user