Skip to main content

StatusDef

Struct StatusDef 

Source
pub struct StatusDef {
    pub min: u16,
    pub max: u16,
    pub items: Vec<StatusItem>,
}
Expand description

Status line definition - defines which items are visible for a command set range

Matches Borland: TStatusDef

In Borland, TStatusDef is a linked list node with:

  • min, max: command range for which this def is active
  • items: pointer to first item in linked list
  • next: pointer to next status def

In Rust, we use Vec for type safety and provide convenient builders.

Fields§

§min: u16

Minimum command ID for which this definition is active

§max: u16

Maximum command ID for which this definition is active

§items: Vec<StatusItem>

Status items to display

Implementations§

Source§

impl StatusDef

Source

pub fn new(min: u16, max: u16, items: Vec<StatusItem>) -> Self

Create a new status definition

Matches Borland: TStatusDef(min, max, items)

§Example
ⓘ
let def = StatusDef::new(0, 0xFFFF, vec![
    StatusItemBuilder::new().text("~F1~ Help").key("F1").command(CM_HELP).build(),
    StatusItemBuilder::new().text("~Alt+X~ Exit").key("Alt+X").command(CM_QUIT).build(),
]);
Source

pub fn default_range(items: Vec<StatusItem>) -> Self

Create a status definition for all command ranges (default)

Matches Borland: TStatusDef(0, 0xFFFF, items)

Source

pub fn applies_to(&self, command_set: u16) -> bool

Check if this definition applies to the given command set

In Borland, the status line checks which definition’s range matches the currently focused view’s command set.

Source

pub fn add(&mut self, item: StatusItem)

Add an item to this definition

Source

pub fn len(&self) -> usize

Get the number of items

Source

pub fn is_empty(&self) -> bool

Check if definition has no items

Trait Implementations§

Source§

impl Clone for StatusDef

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StatusDef

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.