Struct ButtonRef

Source
pub struct ButtonRef(/* private fields */);

Implementations§

Source§

impl ButtonRef

Source

pub fn has_widget(&self, widget: &WidgetRef) -> ButtonRef

Source

pub fn borrow(&self) -> Option<Ref<'_, Button>>

Source

pub fn borrow_mut(&self) -> Option<RefMut<'_, Button>>

Source

pub fn borrow_if_eq(&self, widget: &WidgetRef) -> Option<Ref<'_, Button>>

Source

pub fn borrow_mut_if_eq(&self, widget: &WidgetRef) -> Option<RefMut<'_, Button>>

Source§

impl ButtonRef

Source

pub fn clicked(&self, actions: &Actions) -> bool

Source

pub fn pressed(&self, actions: &Actions) -> bool

Source

pub fn long_pressed(&self, actions: &Actions) -> bool

Source

pub fn released(&self, actions: &Actions) -> bool

Source

pub fn clicked_modifiers(&self, actions: &Actions) -> Option<KeyModifiers>

Source

pub fn pressed_modifiers(&self, actions: &Actions) -> Option<KeyModifiers>

Source

pub fn released_modifiers(&self, actions: &Actions) -> Option<KeyModifiers>

Source

pub fn set_visible(&self, cx: &mut Cx, visible: bool)

Source

pub fn set_enabled(&self, cx: &mut Cx, enabled: bool)

Source

pub fn reset_hover(&self, cx: &mut Cx)

Resets the hover state of this button.

This is useful in certain cases where the hover state should be reset (cleared) regardelss of whether the mouse is over it.

Methods from Deref<Target = WidgetRef>§

Source

pub fn is_empty(&self) -> bool

Source

pub fn handle_event_with( &self, cx: &mut Cx, event: &Event, scope: &mut Scope<'_, '_>, sweep_area: Area, )

§handle event with a sweep area

this is used for the sweep event, this fn can help to pass the event into popup, the widget should implement the handle_event_with fn in impl Widget for $Widget

§Example
impl Widget for Button {
fn handle_event_with(&mut self, cx: &mut Cx, event: &Event, scope: &mut Scope, sweep_area: Area) {
    let uid = self.widget_uid();

    if self.animator_handle_event(cx, event).must_redraw() {
        self.draw_button.redraw(cx);
    }
    match event.hits_with_options(cx, self.draw_button.area(), HitOptions::new().with_sweep_area(sweep_area) ) {
        Hit::FingerDown(f_down) => {
            if self.grab_key_focus {
                 cx.set_key_focus(self.sweep_area);
            }
            cx.widget_action(uid, &scope.path, GButtonEvent::Pressed(f_down.modifiers));
            self.animator_play(cx, id!(hover.pressed));
        }
        _ =>()
    }
}
§Details

See Flexible Popup

Source

pub fn handle_event( &self, cx: &mut Cx, event: &Event, scope: &mut Scope<'_, '_>, )

Source

pub fn widget_uid(&self) -> WidgetUid

Returns the unique ID (UID) of this widget.

Returns WidgetUid(0) if the widget is currently borrowed or is empty.

Source

pub fn area(&self) -> Area

Source

pub fn widget_to_data( &self, cx: &mut Cx, actions: &Actions, nodes: &mut LiveNodeVec, path: &[LiveId], ) -> bool

Source

pub fn set_action_data<T: ActionTrait + PartialEq>(&self, data: T)

Source

pub fn set_action_data_always<T: ActionTrait>(&self, data: T)

Source

pub fn data_to_widget(&self, cx: &mut Cx, nodes: &[LiveNode], path: &[LiveId])

Source

pub fn uid_to_widget(&self, uid: WidgetUid) -> WidgetRef

Source

pub fn clear_query_cache(&self)

Source

pub fn find_widgets( &self, path: &[LiveId], cached: WidgetCache, results: &mut WidgetSet, )

Source

pub fn widget(&self, path: &[LiveId]) -> WidgetRef

Source

pub fn widgets(&self, paths: &[&[LiveId]]) -> WidgetSet

Source

pub fn widget_set(&self, paths: &[&[LiveId]]) -> WidgetSet

Source

pub fn draw_walk( &self, cx: &mut Cx2d<'_, '_>, scope: &mut Scope<'_, '_>, walk: Walk, ) -> DrawStep

Source

pub fn draw_walk_all( &self, cx: &mut Cx2d<'_, '_>, scope: &mut Scope<'_, '_>, walk: Walk, )

Source

pub fn draw_3d_all(&self, cx: &mut Cx3d<'_, '_>, scope: &mut Scope<'_, '_>)

Source

pub fn draw_3d( &mut self, cx: &mut Cx3d<'_, '_>, scope: &mut Scope<'_, '_>, ) -> DrawStep

Source

pub fn draw( &mut self, cx: &mut Cx2d<'_, '_>, scope: &mut Scope<'_, '_>, ) -> DrawStep

Source

pub fn draw_unscoped(&mut self, cx: &mut Cx2d<'_, '_>) -> DrawStep

Source

pub fn walk(&self, cx: &mut Cx) -> Walk

Source

pub fn redraw(&self, cx: &mut Cx)

Source

pub fn set_visible(&self, cx: &mut Cx, visible: bool)

Source

pub fn visible(&self) -> bool

Source

pub fn text(&self) -> String

Source

pub fn set_text(&self, cx: &mut Cx, v: &str)

Source

pub fn key_focus(&self, cx: &Cx) -> bool

Source

pub fn set_key_focus(&self, cx: &mut Cx)

Source

pub fn set_disabled(&self, cx: &mut Cx, disabled: bool)

Source

pub fn disabled(&self, cx: &Cx) -> bool

Source

pub fn draw_all(&self, cx: &mut Cx2d<'_, '_>, scope: &mut Scope<'_, '_>)

Source

pub fn action_data(&self) -> Option<Arc<dyn ActionTrait>>

Source

pub fn filter_actions<'a>( &'a self, actions: &'a Actions, ) -> impl Iterator<Item = &'a WidgetAction>

Source

pub fn draw_all_unscoped(&self, cx: &mut Cx2d<'_, '_>)

Source

pub fn borrow_mut<T: 'static + Widget>(&self) -> Option<RefMut<'_, T>>

Source

pub fn borrow<T: 'static + Widget>(&self) -> Option<Ref<'_, T>>

Source

pub fn apply_over(&self, cx: &mut Cx, nodes: &[LiveNode])

Trait Implementations§

Source§

impl Clone for ButtonRef

Source§

fn clone(&self) -> ButtonRef

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ButtonRef

Source§

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

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

impl Default for ButtonRef

Source§

fn default() -> Self

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

impl Deref for ButtonRef

Source§

type Target = WidgetRef

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl DerefMut for ButtonRef

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

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

Source§

fn ref_cast_type_id(&self) -> TypeId
where Self: 'static,

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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 = 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.