pub struct WindowFactory {}Implementations§
Source§impl WindowFactory
impl WindowFactory
Sourcepub fn create<T>() -> Rc<RefCell<T>>
pub fn create<T>() -> Rc<RefCell<T>>
Create a new Rc<RefCell<_>> using the Window’s Default implementation
Examples found in repository?
examples/datagrid.rs (line 108)
107 fn default() -> Self {
108 let datagrid = WindowFactory::create::<DataGrid>();
109 {
110 let mut brw = datagrid.borrow_mut();
111 brw.set_data_source(Box::new(ExampleDataSource::default()));
112 //brw.set_radix(Radix::Hexadecimal);
113 brw.set_selection_color(Some(Color::Cyan));
114 }
115
116 Self {
117 uid: WindowUID::new(),
118 datagrid,
119 running: true,
120 }
121 }More examples
examples/scrollviewer.rs (line 64)
53 fn default() -> Self {
54 let values = [
55 "Tomatoes",
56 "Tofu",
57 "Flatbread",
58 "Olive oil",
59 "Salt",
60 "Oregano",
61 "Butter",
62 ];
63
64 let scrollviewer = WindowFactory::create::<ScrollViewer>();
65 scrollviewer
66 .borrow_mut()
67 .set_border(BorderStyle::new(BorderKind::Solid, None, None));
68 let stackpanel = WindowFactory::create::<Stackpanel>();
69 for v in values {
70 let cbx = WindowFactory::create::<TextCheckbox>();
71 cbx.borrow_mut().set_text(v);
72 stackpanel.borrow_mut().add_item(cbx);
73 }
74 ScrollViewer::set_content(
75 &scrollviewer,
76 Some(&(stackpanel as Rc<RefCell<dyn Scrollable>>)),
77 );
78
79 Self {
80 uid: WindowUID::new(),
81 scrollviewer,
82 running: true,
83 }
84 }examples/tabview.rs (line 32)
31 fn default() -> Self {
32 let label = WindowFactory::create::<Label>();
33 label.borrow_mut().set_text("Lorem ipsum");
34 let label2 = WindowFactory::create::<Label>();
35 label2.borrow_mut().set_text("Bibsum loram");
36 let label3 = WindowFactory::create::<Label>();
37 label3.borrow_mut().set_text("Epsum larel");
38 let label4 = WindowFactory::create::<Label>();
39 label4.borrow_mut().set_text("Ipsel Aarel");
40
41 let tabview = WindowFactory::create::<TabView>();
42 {
43 let mut brw = tabview.borrow_mut();
44 brw.enable_tab_enumeration();
45 brw.set_highlight_fg_color(Some(Color::Grey));
46 brw.set_highlight_bg_color(Some(Color::Blue));
47 brw.add_item(Tab::new("WIP Tab Number. 1", label));
48 brw.add_item(Tab::new("WIP Tab Number. 2", label2));
49 brw.add_item(Tab::new("WIP Tab Number. 3", label3));
50 brw.add_item(Tab::new("WIP Tab Number. 4", label4));
51 }
52
53 Self {
54 uid: WindowUID::new(),
55 tabview,
56 running: true,
57 }
58 }examples/dockpanel.rs (line 31)
30 fn default() -> Self {
31 let label = WindowFactory::create::<Label>();
32 label.borrow_mut().set_text("Lorem ipsum");
33 let label2 = WindowFactory::create::<Label>();
34 label2.borrow_mut().set_text("Bibsum loram");
35 let label3 = WindowFactory::create::<Label>();
36 label3.borrow_mut().set_text("Epsum larel");
37 let label4 = WindowFactory::create::<Label>();
38 label4.borrow_mut().set_text("Ipsel Aarel");
39 let input = WindowFactory::create::<Textbox>();
40
41 let dockpanel = WindowFactory::create::<DockPanel>();
42 {
43 let mut brw = dockpanel.borrow_mut();
44 brw.set_child(DockAlignment::Center, Some(input));
45 brw.set_child(DockAlignment::Top, Some(label));
46 brw.set_child(DockAlignment::Right, Some(label2));
47 brw.set_child(DockAlignment::Left, Some(label3));
48 brw.set_child(DockAlignment::Bottom, Some(label4));
49 brw.set_border(BorderStyle::new(BorderKind::Dashed, None, None));
50 brw.set_inner_border(true);
51 }
52
53 Self {
54 uid: WindowUID::new(),
55 dockpanel,
56 running: true,
57 }
58 }examples/stackpanel.rs (line 53)
52 fn default() -> Self {
53 let label = WindowFactory::create::<Label>();
54 label
55 .borrow_mut()
56 .set_text("Please enter a valid number (x ∈ ℕ):");
57 let button = WindowFactory::create::<Button>();
58 button.borrow_mut().set_text("Press to increment:");
59 button.borrow_mut().set_border(BorderKind::Solid.into());
60 let mut cb: Combobox<u8> = Combobox::default();
61 for v in [1, 2, 4] {
62 cb.add_item(DisplayValue::new(v, format!("Increment by {}", v)));
63 }
64 let cb = Rc::new(RefCell::new(cb));
65 let combobox = cb.clone();
66 let numeric = WindowFactory::create::<Numeric>();
67 numeric.borrow_mut().set_base(Radix::Hexadecimal);
68 numeric.borrow_mut().set_min_range(8);
69 numeric.borrow_mut().set_max_range(64);
70 numeric.borrow_mut().set_focus_color(Some(Color::Cyan));
71 let nc = numeric.clone();
72 combobox
73 .borrow_mut()
74 .set_selection_changed_callback(move |cb| {
75 let mut brw = nc.borrow_mut();
76 brw.set_stepcount(*cb.get_value().unwrap().value())
77 });
78
79 let stackpanel = WindowFactory::create::<Stackpanel>();
80 stackpanel.borrow_mut().set_border(BorderKind::Solid.into());
81 stackpanel.borrow_mut().add_item(label);
82 stackpanel.borrow_mut().add_item(numeric);
83 stackpanel.borrow_mut().add_item(cb);
84
85 Self {
86 uid: WindowUID::new(),
87 stackpanel,
88 running: true,
89 }
90 }Auto Trait Implementations§
impl Freeze for WindowFactory
impl RefUnwindSafe for WindowFactory
impl Send for WindowFactory
impl Sync for WindowFactory
impl Unpin for WindowFactory
impl UnsafeUnpin for WindowFactory
impl UnwindSafe for WindowFactory
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