[−][src]Trait pushrod::widget::widget::Widget
Master level trait object for describing a Widget. A Widget is a GUI element that can
be interacted with and can receive and generate events.
Required methods
fn config(&mut self) -> &mut Configurable
Retrieves the Configurable object for this Widget. All Widget implementations
must provide this. (See the CanvasWidget implementation.)
fn set_widget_id(&mut self, widget_id: i32)
fn get_widget_id(&mut self) -> i32
fn get_injectable_custom_events(&mut self) -> &mut dyn InjectableCustomEvents
Retrieves the InjectableCustomEvents trait of this class, which is responsible for
injecting custom events when appropriate. Injecting system events is used with the
InjectableSystemEvents, and things like mouse clicks and widget clicks are used
with the handle_event block. This code is used to inject events that are not
triggered by other events in the system.
fn get_drawable(&mut self) -> &mut dyn Drawable
Retrieves the Drawable functionality of this Widget.
fn get_injectable_system_events(&mut self) -> &mut dyn InjectableSystemEvents
Retrieves the trait for injecting system events. Only use this if your Widget injects
custom system-level events that the top-level application needs to use. Anything other
than that should be ignored completely.
fn get_callbacks(&mut self) -> &mut DefaultWidgetCallbacks
Retrieves the callbacks that are registered for the Widget. These callbacks are used
when a specific event triggers an action - a click, mouse enter/exit, or movement event,
for example. The callbacks stored in the DefaultWidgetCallbacks object can be used
to perform static actions.
Provided methods
fn invalidate(&mut self)
Indicates that a Widget object needs to be repainted.
fn clear_invalidate(&mut self)
Clears the invalidation flag. Set this when the draw function completes. Otherwise,
this Widget object may be continuously repainted.
fn is_invalidated(&mut self) -> bool
Indicates whether or not a Widget needs to be repainted.
fn set_config(&mut self, config: u8, config_value: Config)
Master config setter - use convenience methods.
fn get_config(&mut self, config: u8) -> Option<&Config>
Master config getter - use convenience methods.
fn set_point(&mut self, config: u8, x: i32, y: i32)
Sets a point value for a configuration key.
fn set_size(&mut self, config: u8, w: i32, h: i32)
Sets a size value for a configuration key.
fn set_color(&mut self, config: u8, color: Color)
Sets a color for a configuration key.
fn set_numeric(&mut self, config: u8, value: u64)
Sets a numeric value for a configuration key.
fn set_text(&mut self, config: u8, text: String)
Sets a text value for a configuration key.
fn set_toggle(&mut self, config: u8, flag: bool)
Sets a toggle value for a configuration key.
fn handle_event(
&mut self,
_injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>
&mut self,
_injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>
Custom handler to receive an event. Any Widget that implements this does so to handle
top-level GUI events, such as a mouse entering or exiting the bounds of this Widget.
If the injected flag is set, it indicates that the event supplied was generate by
a Widget, and not by the run loop.
fn handles_events(&mut self) -> bool
Indicates to the run loop whether or not the Widget handles system-generated events.
fn injects_custom_events(&mut self) -> bool
If this Widget provides custom injected events that are generated outside of the
handle_event loop, indicate true. Only override if necessary. (See TimerWidget
for reference.)
fn is_drawable(&mut self) -> bool
Describes whether or not the Widget returns a Drawable trait. This function is called each
time a frame is refreshed, so if there is no Drawable available, this function could
serve as a way to indicate a frame tick. Only override this to set it to false if your
Widget does not draw anything on the screen.
fn injects_system_events(&mut self) -> bool
Indicates to the run loop whether or not a Widget injects system-level events.
Implementors
impl Widget for BoxWidget[src]
fn config(&mut self) -> &mut Configurable[src]
fn set_config(&mut self, config: u8, config_value: Config)[src]
fn set_size(&mut self, config: u8, w: i32, h: i32)[src]
fn set_point(&mut self, config: u8, x: i32, y: i32)[src]
fn handle_event(
&mut self,
injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>[src]
&mut self,
injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>
fn handles_events(&mut self) -> bool[src]
fn set_widget_id(&mut self, widget_id: i32)[src]
fn get_widget_id(&mut self) -> i32[src]
fn injects_system_events(&mut self) -> bool[src]
fn get_injectable_custom_events(&mut self) -> &mut dyn InjectableCustomEvents[src]
fn get_injectable_system_events(&mut self) -> &mut dyn InjectableSystemEvents[src]
fn get_drawable(&mut self) -> &mut dyn Drawable[src]
fn get_callbacks(&mut self) -> &mut DefaultWidgetCallbacks[src]
impl Widget for CheckboxWidget[src]
fn config(&mut self) -> &mut Configurable[src]
fn set_config(&mut self, config: u8, config_value: Config)[src]
fn handle_event(
&mut self,
injected: bool,
event: CallbackEvent,
widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>[src]
&mut self,
injected: bool,
event: CallbackEvent,
widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>
fn handles_events(&mut self) -> bool[src]
fn set_widget_id(&mut self, widget_id: i32)[src]
fn get_widget_id(&mut self) -> i32[src]
fn get_injectable_custom_events(&mut self) -> &mut dyn InjectableCustomEvents[src]
fn get_injectable_system_events(&mut self) -> &mut dyn InjectableSystemEvents[src]
fn get_drawable(&mut self) -> &mut dyn Drawable[src]
fn get_callbacks(&mut self) -> &mut DefaultWidgetCallbacks[src]
impl Widget for ImageButtonWidget[src]
fn config(&mut self) -> &mut Configurable[src]
fn set_config(&mut self, config: u8, config_value: Config)[src]
fn handle_event(
&mut self,
injected: bool,
event: CallbackEvent,
widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>[src]
&mut self,
injected: bool,
event: CallbackEvent,
widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>
fn handles_events(&mut self) -> bool[src]
fn set_widget_id(&mut self, widget_id: i32)[src]
fn get_widget_id(&mut self) -> i32[src]
fn get_injectable_custom_events(&mut self) -> &mut dyn InjectableCustomEvents[src]
fn get_injectable_system_events(&mut self) -> &mut dyn InjectableSystemEvents[src]
fn get_drawable(&mut self) -> &mut dyn Drawable[src]
fn get_callbacks(&mut self) -> &mut DefaultWidgetCallbacks[src]
impl Widget for ImageWidget[src]
fn config(&mut self) -> &mut Configurable[src]
fn set_widget_id(&mut self, widget_id: i32)[src]
fn get_widget_id(&mut self) -> i32[src]
fn handle_event(
&mut self,
injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>[src]
&mut self,
injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>
fn handles_events(&mut self) -> bool[src]
fn get_injectable_custom_events(&mut self) -> &mut dyn InjectableCustomEvents[src]
fn get_injectable_system_events(&mut self) -> &mut dyn InjectableSystemEvents[src]
fn get_drawable(&mut self) -> &mut dyn Drawable[src]
fn get_callbacks(&mut self) -> &mut DefaultWidgetCallbacks[src]
impl Widget for ProgressWidget[src]
fn config(&mut self) -> &mut Configurable[src]
fn set_config(&mut self, config: u8, config_value: Config)[src]
fn set_widget_id(&mut self, widget_id: i32)[src]
fn get_widget_id(&mut self) -> i32[src]
fn handle_event(
&mut self,
injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>[src]
&mut self,
injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>
fn handles_events(&mut self) -> bool[src]
fn get_injectable_custom_events(&mut self) -> &mut dyn InjectableCustomEvents[src]
fn get_injectable_system_events(&mut self) -> &mut dyn InjectableSystemEvents[src]
fn get_drawable(&mut self) -> &mut dyn Drawable[src]
fn get_callbacks(&mut self) -> &mut DefaultWidgetCallbacks[src]
impl Widget for PushButtonWidget[src]
fn config(&mut self) -> &mut Configurable[src]
fn set_config(&mut self, config: u8, config_value: Config)[src]
fn handle_event(
&mut self,
injected: bool,
event: CallbackEvent,
widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>[src]
&mut self,
injected: bool,
event: CallbackEvent,
widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>
fn handles_events(&mut self) -> bool[src]
fn set_widget_id(&mut self, widget_id: i32)[src]
fn get_widget_id(&mut self) -> i32[src]
fn get_injectable_custom_events(&mut self) -> &mut dyn InjectableCustomEvents[src]
fn get_injectable_system_events(&mut self) -> &mut dyn InjectableSystemEvents[src]
fn get_drawable(&mut self) -> &mut dyn Drawable[src]
fn get_callbacks(&mut self) -> &mut DefaultWidgetCallbacks[src]
impl Widget for RadioButtonWidget[src]
fn config(&mut self) -> &mut Configurable[src]
fn set_config(&mut self, config: u8, config_value: Config)[src]
fn handle_event(
&mut self,
injected: bool,
event: CallbackEvent,
widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>[src]
&mut self,
injected: bool,
event: CallbackEvent,
widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>
fn handles_events(&mut self) -> bool[src]
fn injects_custom_events(&mut self) -> bool[src]
fn set_widget_id(&mut self, widget_id: i32)[src]
fn get_widget_id(&mut self) -> i32[src]
fn get_injectable_custom_events(&mut self) -> &mut dyn InjectableCustomEvents[src]
fn get_injectable_system_events(&mut self) -> &mut dyn InjectableSystemEvents[src]
fn get_drawable(&mut self) -> &mut dyn Drawable[src]
fn get_callbacks(&mut self) -> &mut DefaultWidgetCallbacks[src]
impl Widget for TextWidget[src]
fn config(&mut self) -> &mut Configurable[src]
fn set_config(&mut self, config: u8, config_value: Config)[src]
fn set_text(&mut self, config: u8, text: String)[src]
fn set_widget_id(&mut self, widget_id: i32)[src]
fn get_widget_id(&mut self) -> i32[src]
fn handle_event(
&mut self,
injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>[src]
&mut self,
injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>
fn handles_events(&mut self) -> bool[src]
fn get_injectable_custom_events(&mut self) -> &mut dyn InjectableCustomEvents[src]
fn get_injectable_system_events(&mut self) -> &mut dyn InjectableSystemEvents[src]
fn get_drawable(&mut self) -> &mut dyn Drawable[src]
fn get_callbacks(&mut self) -> &mut DefaultWidgetCallbacks[src]
impl Widget for TimerWidget[src]
fn config(&mut self) -> &mut Configurable[src]
fn is_invalidated(&mut self) -> bool[src]
fn injects_custom_events(&mut self) -> bool[src]
fn set_widget_id(&mut self, widget_id: i32)[src]
fn get_widget_id(&mut self) -> i32[src]
fn handle_event(
&mut self,
injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>[src]
&mut self,
injected: bool,
_event: CallbackEvent,
_widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>
fn handles_events(&mut self) -> bool[src]
fn get_injectable_custom_events(&mut self) -> &mut dyn InjectableCustomEvents[src]
fn get_injectable_system_events(&mut self) -> &mut dyn InjectableSystemEvents[src]
fn get_drawable(&mut self) -> &mut dyn Drawable[src]
fn is_drawable(&mut self) -> bool[src]
fn get_callbacks(&mut self) -> &mut DefaultWidgetCallbacks[src]
impl Widget for ToggleButtonWidget[src]
fn config(&mut self) -> &mut Configurable[src]
fn set_config(&mut self, config: u8, config_value: Config)[src]
fn handle_event(
&mut self,
injected: bool,
event: CallbackEvent,
widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>[src]
&mut self,
injected: bool,
event: CallbackEvent,
widget_store: Option<&Vec<WidgetContainer>>
) -> Option<CallbackEvent>