Struct RichLabel

Source
pub struct RichLabel {
    pub handle: ControlHandle,
    /* private fields */
}
Expand description

A rich label is a label that supports rich text. This control is built on top of the rich text box control and as such require the rich-textbox feature. Enable “MULTI_LINE” to support multi line labels.

Unlike the basic Label, this version supports:

  • Colored text
  • Multiple fonts
  • Styled text such as bold, underscore, strikeout, etc
  • Bullet point list
  • Paragraph with custom indent/offset
  • Custom line spacing

Builder parameters:

  • parent: Required. The label parent container.
  • text: The label text.
  • size: The label size.
  • position: The label position.
  • enabled: If the label is enabled. A disabled label won’t trigger events
  • flags: A combination of the LabelFlags values.
  • ex_flags: A combination of win32 window extended flags. Unlike flags, ex_flags must be used straight from winapi
  • font: The font used for the label text
  • background_color: The background color of the label
  • h_align: The horizontal aligment of the label.
  • line_height: The line height in pixels for the vertical aligment. Can be None to disable vertical aligment. Real line height cannot be guessed by NWG due to the text formatting

Control events:

  • MousePress(_): Generic mouse press events on the label
  • OnMouseMove: Generic mouse mouse event
  • OnMouseWheel: Generic mouse wheel event

** Example **

use native_windows_gui as nwg;
fn build_label(label: &mut nwg::RichLabel, window: &nwg::Window, font: &nwg::Font) {
    nwg::RichLabel::builder()
        .text("Hello")
        .font(Some(font))
        .parent(window)
        .build(label);
}

Fields§

§handle: ControlHandle

Implementations§

Source§

impl RichLabel

Source

pub fn builder<'a>() -> RichLabelBuilder<'a>

Source

pub fn set_background_color(&self, color: [u8; 3])

Sets the background color for a rich edit control. You cannot get the background color of a rich label

Source

pub fn set_char_format(&self, r: Range<u32>, fmt: &CharFormat)

Sets the character format of the selected range of text

Source

pub fn char_format(&self, r: Range<u32>) -> CharFormat

Returns the character format of the selected range of text

Source

pub fn set_para_format(&self, r: Range<u32>, fmt: &ParaFormat)

Sets the paragraph formatting for the selected range of text in a rich edit control

Source

pub fn para_format(&self, r: Range<u32>) -> ParaFormat

Returns the paragraph formatting for the selected range of text in a rich edit control If more than one paragraph is selected, receive the attributes of the first paragraph

Source

pub fn selection(&self) -> Range<usize>

Return the selected range of characters by the user in the text input

Source

pub fn set_selection(&self, r: Range<u32>)

Return the selected range of characters by the user in the text input

Source

pub fn len(&self) -> u32

Return the length of the user input in the control. This is better than control.text().len() as it does not allocate a string in memory

Source

pub fn clear(&self)

Remove all text from the textbox

Source

pub fn set_line_height(&self, height: Option<i32>)

Sets the line height for the vertical alignment

Source

pub fn line_height(&self) -> Option<i32>

Returns the line height for the vertical alignment

Source

pub fn set_font(&self, font: Option<&Font>)

Set base font of the control It is not possible to get the base font handle of a rich label. Use char_format instead.

Source

pub fn visible(&self) -> bool

Return true if the control is visible to the user. Will return true even if the control is outside of the parent client view (ex: at the position (10000, 10000))

Source

pub fn set_visible(&self, v: bool)

Show or hide the control to the user

Source

pub fn size(&self) -> (u32, u32)

Return the size of the button in the parent window

Source

pub fn set_size(&self, x: u32, y: u32)

Set the size of the button in the parent window

Source

pub fn position(&self) -> (i32, i32)

Return the position of the button in the parent window

Source

pub fn set_position(&self, x: i32, y: i32)

Set the position of the button in the parent window

Source

pub fn text(&self) -> String

Return the text displayed in the TextInput

Source

pub fn set_text<'a>(&self, v: &'a str)

Set the text displayed in the TextInput

Source

pub fn class_name(&self) -> &'static str

Winapi class name used during control creation

Source

pub fn flags(&self) -> u32

Winapi base flags used during window creation

Source

pub fn forced_flags(&self) -> u32

Winapi flags required by the control

Trait Implementations§

Source§

impl Default for RichLabel

Source§

fn default() -> RichLabel

Returns the “default value” for a type. Read more
Source§

impl Drop for RichLabel

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl From<&RichLabel> for ControlHandle

Source§

fn from(control: &RichLabel) -> Self

Converts to this type from the input type.
Source§

impl From<&mut RichLabel> for ControlHandle

Source§

fn from(control: &mut RichLabel) -> Self

Converts to this type from the input type.
Source§

impl PartialEq<ControlHandle> for RichLabel

Source§

fn eq(&self, other: &ControlHandle) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<RichLabel> for ControlHandle

Source§

fn eq(&self, other: &RichLabel) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq for RichLabel

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.