pub struct Label { /* private fields */ }Expand description
Represents a single text label
Design (optional Border):
┌─────┐
│Label│
└─────┘Implementations§
Source§impl Label
impl Label
Sourcepub fn set_text_alignment(&mut self, alignment: HorizontalAlignment)
pub fn set_text_alignment(&mut self, alignment: HorizontalAlignment)
Sets the alignment of the inner text
Sourcepub fn set_text(&mut self, text: &str)
pub fn set_text(&mut self, text: &str)
Replaces the inner text
Examples found in repository?
examples/tabview.rs (line 33)
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 }More examples
examples/dockpanel.rs (line 32)
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 56)
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 }pub fn set_focus_color(&mut self, color: Option<Color>)
Trait Implementations§
Source§impl HasWindowUID for Label
impl HasWindowUID for Label
Source§impl Widget for Label
impl Widget for Label
fn set_alignment( &mut self, horizontal: HorizontalAlignment, vertical: VerticalAlignment, )
fn set_visibility(&mut self, visibility: bool)
fn set_width(&mut self, width: Size)
fn set_height(&mut self, _: Size)
fn set_margin(&mut self, margin: Thickness)
fn set_border(&mut self, border: BorderStyle)
Source§fn set_enabled_state(&mut self, is_enabled: bool)
fn set_enabled_state(&mut self, is_enabled: bool)
Changing the IsEnabled state usually changes the highlight color
fn set_width_constraint(&mut self, width: SizeConstraint)
fn set_height_constraint(&mut self, _: SizeConstraint)
Source§impl WidgetColors for Label
impl WidgetColors for Label
fn set_disabled_color(&mut self, color: Option<Color>)
fn set_base_fg_color(&mut self, color: Option<Color>)
fn set_base_bg_color(&mut self, color: Option<Color>)
Source§impl Window for Label
impl Window for Label
Source§fn handle_event(&mut self, event: &mut WindowEvent)
fn handle_event(&mut self, event: &mut WindowEvent)
Source§fn is_enabled(&self) -> bool
fn is_enabled(&self) -> bool
Source§fn children(&mut self, builder: SubWindowBuilder) -> SubWindows
fn children(&mut self, builder: SubWindowBuilder) -> SubWindows
Returns all children windows (and layouting Rects)
Note: When changing the children make sure to also adjust the focus
Source§impl WindowLayout for Label
impl WindowLayout for Label
Source§fn desired_size(&self, available_size: TPoint) -> TPoint
fn desired_size(&self, available_size: TPoint) -> TPoint
Parents call this to get the desired size of the child
This must not exceed
available_size on any axis
When the result’s product is equal to 0, this window wont be drawnSource§fn alignment(&self) -> (HorizontalAlignment, VerticalAlignment)
fn alignment(&self) -> (HorizontalAlignment, VerticalAlignment)
fn margin(&self) -> Thickness
fn border(&self) -> BorderStyle
fn is_visible(&self) -> bool
Source§fn desired_size_pre_hook(&mut self, available_size: TPoint)
fn desired_size_pre_hook(&mut self, available_size: TPoint)
This is similar to desired_size but will not return anything and can mutably change self
This is executed before WindowLayout::desired_size
Only implement if actually necessary
Auto Trait Implementations§
impl Freeze for Label
impl RefUnwindSafe for Label
impl Send for Label
impl Sync for Label
impl Unpin for Label
impl UnsafeUnpin for Label
impl UnwindSafe for Label
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
Source§impl<T> Downcast for T
impl<T> Downcast for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> WindowHelper for Twhere
T: Window,
impl<T> WindowHelper for Twhere
T: Window,
Source§fn provoke_changed_property(&self, property: WindowProperty)
fn provoke_changed_property(&self, property: WindowProperty)
Helper method for WindowEventQueue::provoke_changed_property