Skip to main content

Divider

Struct Divider 

Source
pub struct Divider { /* private fields */ }
Expand description

A rule between two groups of content.

The smallest widget here, and worth having only because everybody draws it slightly differently otherwise — one pixel or two, Base300 or a faded BaseContent, inset or full width. It is here so a panel is consistent with itself.

Not interactive, not focusable, no messages.

§A label only makes sense across

A horizontal divider with a label draws line, gap, text, gap, line. A vertical one ignores its label and draws an unbroken rule, because the text would have to be rotated and there is no rotated text in the rasteriser. Ignoring it is better than drawing horizontal text through a vertical line and calling that a feature.

§About “one pixel”

The thickness comes from Metrics::border, which is a logical pixel — one at scale factor 1, two under Metrics::TOUCH, and whatever the application’s scale factor makes of it on a dense display: a scale-aware application passes theme.scaled(factor) at construction and this widget’s rule thickens with everything else. See docs/design.md for the pattern.

Implementations§

Source§

impl Divider

Source

pub fn new() -> Self

A horizontal rule with no label.

Source

pub fn labelled(label: impl Into<String>) -> Self

A horizontal rule with label in the middle.

Source

pub fn vertical() -> Self

A vertical rule. Any label is ignored — see the type documentation.

Source

pub fn with_role(self, role: Role) -> Self

Sets the line’s colour role.

Source

pub fn with_style(self, style: TextStyle) -> Self

Sets the label’s font and size.

Source

pub fn label(&self) -> &str

The current label, empty if there is none.

Source

pub fn set_label(&mut self, label: impl Into<String>)

Replaces the label.

Source

pub fn set_style(&mut self, style: TextStyle)

Replaces the label’s font and size.

Source

pub const fn orientation(&self) -> Orientation

Which way it runs.

Trait Implementations§

Source§

impl Clone for Divider

Source§

fn clone(&self) -> Divider

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 Divider

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for Divider

Source§

fn default() -> Self

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

impl Describe for Divider

Source§

const KIND: &'static str = "divider"

The name a form file uses for this widget. Kebab-case.
Source§

const DOC: &'static str = "A line between things, with an optional label in the middle."

One line saying what this widget is, for somebody choosing one. Read more
Source§

const GROUP: Group = Group::Display

Which shelf of the catalogue this belongs on.
Source§

const ICON: &'static Icon

The widget’s glyph: a small portrait of the thing, for a palette to draw beside — or instead of — its name. Read more
Source§

const PROPERTIES: &'static [Property]

Every property, in the order an inspector should show them.
Source§

fn get(&self, name: &str) -> Option<Value>

The current value. Read more
Source§

fn apply(&mut self, name: &str, value: Value) -> Result<(), Mismatch>

Applies a value, reporting only what went wrong. Read more
Source§

fn set(&mut self, name: &str, value: Value) -> Result<(), PropertyError>

Applies a value, reporting what went wrong and where.
Source§

impl<M: 'static> Widget<M> for Divider

Source§

fn describe(&self) -> Option<&dyn DynDescribe>

This widget’s property description, if it has one. Read more
Source§

fn describe_mut(&mut self) -> Option<&mut dyn DynDescribe>

The mutable half of describe.
Source§

fn paint(&self, ctx: &mut PaintCtx<'_>, canvas: &mut Pen<'_>)

Draws into canvas, which is already clipped to this widget’s bounds intersected with the damage region being repainted. Read more
Source§

fn on_event(&mut self, event: &Event<'_>, ctx: &mut EventCtx<'_, M>) -> Handled

Reacts to an event routed to this widget.
Source§

fn measure(&self, ctx: &mut MeasureCtx<'_>, offered: Offer) -> Measured

How big this widget would like to be, given what the caller can promise. Read more
Source§

fn accepts_pointer(&self) -> bool

Returns true if the pointer can hit this widget. Read more
Source§

fn focusable(&self) -> bool

Returns true if this widget can take keyboard focus.
Source§

fn preserves_focus(&self) -> bool

Returns true if a press on this widget should leave focus exactly where it is. Read more
Source§

fn animate(&mut self, now_ms: u64) -> Animation

Advances time-based state. Called only while this widget has asked to animate — see EventCtx::request_animation — and stops being called the moment it answers Wake::Never. Read more
Source§

fn snap(&mut self, now_ms: u64) -> Animation

Lands whatever is in flight at its end state, without animating it. 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> AsAny for T
where T: Any,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Borrows as dyn Any.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Mutably borrows as dyn Any.
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> DynDescribe for T
where T: Describe,

Source§

fn kind(&self) -> &'static str

Source§

fn properties(&self) -> &'static [Property]

Source§

fn get_property(&self, name: &str) -> Option<Value>

Source§

fn set_property( &mut self, name: &str, value: Value, ) -> Result<(), PropertyError>

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.