pub struct ButtonRef(/* private fields */);
Implementations§
Source§impl ButtonRef
impl ButtonRef
pub fn has_widget(&self, widget: &WidgetRef) -> ButtonRef
pub fn borrow(&self) -> Option<Ref<'_, Button>>
pub fn borrow_mut(&self) -> Option<RefMut<'_, Button>>
pub fn borrow_if_eq(&self, widget: &WidgetRef) -> Option<Ref<'_, Button>>
pub fn borrow_mut_if_eq(&self, widget: &WidgetRef) -> Option<RefMut<'_, Button>>
Source§impl ButtonRef
impl ButtonRef
Sourcepub fn clicked(&self, actions: &Actions) -> bool
pub fn clicked(&self, actions: &Actions) -> bool
See Button::clicked()
.
Sourcepub fn pressed(&self, actions: &Actions) -> bool
pub fn pressed(&self, actions: &Actions) -> bool
See Button::pressed()
.
Sourcepub fn long_pressed(&self, actions: &Actions) -> bool
pub fn long_pressed(&self, actions: &Actions) -> bool
Sourcepub fn released(&self, actions: &Actions) -> bool
pub fn released(&self, actions: &Actions) -> bool
See Button::released()
.
Sourcepub fn clicked_modifiers(&self, actions: &Actions) -> Option<KeyModifiers>
pub fn clicked_modifiers(&self, actions: &Actions) -> Option<KeyModifiers>
Sourcepub fn pressed_modifiers(&self, actions: &Actions) -> Option<KeyModifiers>
pub fn pressed_modifiers(&self, actions: &Actions) -> Option<KeyModifiers>
Sourcepub fn released_modifiers(&self, actions: &Actions) -> Option<KeyModifiers>
pub fn released_modifiers(&self, actions: &Actions) -> Option<KeyModifiers>
pub fn set_visible(&self, cx: &mut Cx, visible: bool)
pub fn set_enabled(&self, cx: &mut Cx, enabled: bool)
Sourcepub fn reset_hover(&self, cx: &mut Cx)
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>§
pub fn is_empty(&self) -> bool
Sourcepub fn handle_event_with(
&self,
cx: &mut Cx,
event: &Event,
scope: &mut Scope<'_, '_>,
sweep_area: Area,
)
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
pub fn handle_event( &self, cx: &mut Cx, event: &Event, scope: &mut Scope<'_, '_>, )
Sourcepub fn widget_uid(&self) -> WidgetUid
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.
pub fn area(&self) -> Area
pub fn widget_to_data( &self, cx: &mut Cx, actions: &Actions, nodes: &mut LiveNodeVec, path: &[LiveId], ) -> bool
pub fn set_action_data<T: ActionTrait + PartialEq>(&self, data: T)
pub fn set_action_data_always<T: ActionTrait>(&self, data: T)
pub fn data_to_widget(&self, cx: &mut Cx, nodes: &[LiveNode], path: &[LiveId])
pub fn uid_to_widget(&self, uid: WidgetUid) -> WidgetRef
pub fn clear_query_cache(&self)
pub fn find_widgets( &self, path: &[LiveId], cached: WidgetCache, results: &mut WidgetSet, )
pub fn widget(&self, path: &[LiveId]) -> WidgetRef
pub fn widgets(&self, paths: &[&[LiveId]]) -> WidgetSet
pub fn widget_set(&self, paths: &[&[LiveId]]) -> WidgetSet
pub fn draw_walk( &self, cx: &mut Cx2d<'_, '_>, scope: &mut Scope<'_, '_>, walk: Walk, ) -> DrawStep
pub fn draw_walk_all( &self, cx: &mut Cx2d<'_, '_>, scope: &mut Scope<'_, '_>, walk: Walk, )
pub fn draw_3d_all(&self, cx: &mut Cx3d<'_, '_>, scope: &mut Scope<'_, '_>)
pub fn draw_3d( &mut self, cx: &mut Cx3d<'_, '_>, scope: &mut Scope<'_, '_>, ) -> DrawStep
pub fn draw( &mut self, cx: &mut Cx2d<'_, '_>, scope: &mut Scope<'_, '_>, ) -> DrawStep
pub fn draw_unscoped(&mut self, cx: &mut Cx2d<'_, '_>) -> DrawStep
pub fn walk(&self, cx: &mut Cx) -> Walk
pub fn redraw(&self, cx: &mut Cx)
pub fn set_visible(&self, cx: &mut Cx, visible: bool)
pub fn visible(&self) -> bool
pub fn text(&self) -> String
pub fn set_text(&self, cx: &mut Cx, v: &str)
pub fn key_focus(&self, cx: &Cx) -> bool
pub fn set_key_focus(&self, cx: &mut Cx)
pub fn set_disabled(&self, cx: &mut Cx, disabled: bool)
pub fn disabled(&self, cx: &Cx) -> bool
pub fn draw_all(&self, cx: &mut Cx2d<'_, '_>, scope: &mut Scope<'_, '_>)
pub fn action_data(&self) -> Option<Arc<dyn ActionTrait>>
pub fn filter_actions<'a>( &'a self, actions: &'a Actions, ) -> impl Iterator<Item = &'a WidgetAction>
pub fn draw_all_unscoped(&self, cx: &mut Cx2d<'_, '_>)
pub fn borrow_mut<T: 'static + Widget>(&self) -> Option<RefMut<'_, T>>
pub fn borrow<T: 'static + Widget>(&self) -> Option<Ref<'_, T>>
pub fn apply_over(&self, cx: &mut Cx, nodes: &[LiveNode])
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ButtonRef
impl !RefUnwindSafe for ButtonRef
impl !Send for ButtonRef
impl !Sync for ButtonRef
impl Unpin for ButtonRef
impl !UnwindSafe for ButtonRef
Blanket Implementations§
Source§impl<T> ActionTrait for T
impl<T> ActionTrait for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more