Skip to main content

TitleBar

Struct TitleBar 

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

A title bar drawn by the app: what comes first, the title, the actions and the buttons of the window. A button shows only when it has a handler. A double click on the bar does the same as the maximize button.

It draws and calls back, and that is all. What the handlers do to the window is up to the app. It cannot drag the window nor hide the frame the system draws, because those belong to the platform layer, which offers neither yet: for now the system’s own bar stays above it.

use ravenrs_widgets::{IconButton, IconName, TitleBar, Ui};

let bar = TitleBar::new("Report.pdf")
    .action(IconButton::new(IconName::Search).label("Search"))
    .on_minimize(|| {})
    .on_maximize(|| {})
    .on_close(|| {});
let mut ui = Ui::new(bar, ravenrs_style::Theme::raven_dark());
ui.update();

Implementations§

Source§

impl TitleBar

Source

pub fn new(title: impl Into<String>) -> Self

A bar with this title and no buttons.

Source

pub fn leading(self, view: impl View + 'static) -> Self

Any view before the title, such as an icon or a menu.

Source

pub fn action(self, view: impl View + 'static) -> Self

Appends a view to the area between the title and the window’s buttons.

Source

pub fn on_minimize(self, handler: impl Fn() + 'static) -> Self

Shows the minimize button, which runs handler.

Source

pub fn on_maximize(self, handler: impl Fn() + 'static) -> Self

Shows the maximize button, which runs handler, as a double click on the bar does.

Source

pub fn on_close(self, handler: impl Fn() + 'static) -> Self

Shows the close button, which runs handler.

Source

pub fn on_context_menu(self, handler: impl Fn(Point) + 'static) -> Self

Called with the pointer’s place on a right click on the bar, for a menu of the window.

Source

pub fn maximized(self, maximized: bool) -> Self

The window is maximized: the maximize button shows and says that it restores.

Source

pub fn active(self, active: bool) -> Self

Whether the window has the keyboard (it does by default). Without it the bar goes quiet, which is how to tell which of two windows side by side is listening.

Trait Implementations§

Source§

impl Debug for TitleBar

Source§

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

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

impl View for TitleBar

Source§

fn build(&self, cx: &mut BuildCx<'_>) -> NodeId

Creates this view’s node for the current build.
Source§

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

The name the diagnostics panel shows this view’s cost under.

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
§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.
Source§

impl<V> ViewExt for V
where V: View,

Source§

fn padding(self, padding: impl Into<Insets>) -> Styled<Self>

Adds padding inside the box, in logical pixels.
Source§

fn background(self, fill: impl Into<Fill>) -> Styled<Self>

Paints a background behind the content.
Source§

fn frame(self, width: Option<f32>, height: Option<f32>) -> Styled<Self>

Fixes the width and/or height in logical pixels; None keeps the content size.
Source§

fn width(self, width: f32) -> Styled<Self>

Fixes the width in logical pixels.
Source§

fn height(self, height: f32) -> Styled<Self>

Fixes the height in logical pixels.
Source§

fn grow(self, grow: f32) -> Styled<Self>

Takes a share of the free space in the parent stack.
Source§

fn stretch(self) -> Styled<Self>

Stretches across the parent stack’s cross axis.
Source§

fn centered(self) -> Styled<Self>

Centers the content inside the box.
Source§

fn tooltip(self, text: impl Into<String>) -> Tooltip<Self>

Shows text above the view while the pointer is over it; see Tooltip.
Source§

fn opacity(self, opacity: f32) -> Faded<Self>

Draws the view and everything in it at this opacity, from 0.0 to 1.0, easing to it when it changes. Layout and input stay as they are; see Faded.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more