Struct widgetry::widgets::persistent_split::PersistentSplit

source ·
pub struct PersistentSplit<T: Clone + PartialEq> {
    current_value: T,
    btn: Button,
    spacer: JustDraw,
    dropdown: Dropdown<T>,
}

Fields§

§current_value: T§btn: Button§spacer: JustDraw§dropdown: Dropdown<T>

Implementations§

source§

impl<T: 'static + PartialEq + Clone + Debug> PersistentSplit<T>

source

pub fn widget<MK: Into<Option<MultiKey>>>( ctx: &EventCtx<'_>, label: &str, default_value: T, hotkey: MK, choices: Vec<Choice<T>> ) -> Widget

source

pub fn new<MK: Into<Option<MultiKey>>>( ctx: &EventCtx<'_>, label: &str, default_value: T, hotkey: MK, choices: Vec<Choice<T>> ) -> PersistentSplit<T>

source§

impl<T: 'static + PartialEq + Clone> PersistentSplit<T>

source

pub fn current_value(&self) -> T

Trait Implementations§

source§

impl<T: 'static + Clone + PartialEq> WidgetImpl for PersistentSplit<T>

source§

fn get_dims(&self) -> ScreenDims

What width and height does the widget occupy? If this changes, be sure to set redo_layout to true in event.
source§

fn set_pos(&mut self, top_left: ScreenPt)

Your widget’s top left corner should be here. Handle mouse events and draw appropriately.
source§

fn event(&mut self, ctx: &mut EventCtx<'_>, output: &mut WidgetOutput)

Your chance to react to an event. Any side effects outside of this widget are communicated through the output.
source§

fn draw(&self, g: &mut GfxCtx<'_>)

Draw the widget. Be sure to draw relative to the top-left specified by set_pos.
source§

fn can_restore(&self) -> bool

If a new Panel is being created to replace an older one, all widgets have the chance to preserve state from the previous version.
source§

fn restore(&mut self, _: &mut EventCtx<'_>, _prev: &dyn WidgetImpl)

Restore state from the previous version of this widget, with the same ID. Implementors must downcast.

Auto Trait Implementations§

§

impl<T> Freeze for PersistentSplit<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for PersistentSplit<T>
where T: RefUnwindSafe,

§

impl<T> !Send for PersistentSplit<T>

§

impl<T> !Sync for PersistentSplit<T>

§

impl<T> Unpin for PersistentSplit<T>
where T: Unpin,

§

impl<T> UnwindSafe for PersistentSplit<T>
where T: UnwindSafe,

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> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

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

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

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

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
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>,

§

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>,

§

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.
§

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
§

impl<G1, G2> Within<G2> for G1
where G2: Contains<G1>,

§

fn is_within(&self, b: &G2) -> bool