pub struct Widget {Show 57 fields
pub handle: Handle<UiNode>,
pub name: ImmutableString,
pub desired_local_position: InheritableVariable<Vector2<f32>>,
pub width: InheritableVariable<f32>,
pub height: InheritableVariable<f32>,
pub min_size: InheritableVariable<Vector2<f32>>,
pub max_size: InheritableVariable<Vector2<f32>>,
pub background: InheritableVariable<StyledProperty<Brush>>,
pub foreground: InheritableVariable<StyledProperty<Brush>>,
pub row: InheritableVariable<usize>,
pub column: InheritableVariable<usize>,
pub vertical_alignment: InheritableVariable<VerticalAlignment>,
pub horizontal_alignment: InheritableVariable<HorizontalAlignment>,
pub margin: InheritableVariable<Thickness>,
pub visibility: InheritableVariable<bool>,
pub global_visibility: bool,
pub children: Vec<Handle<UiNode>>,
pub parent: Handle<UiNode>,
pub command_indices: RefCell<Vec<usize>>,
pub is_mouse_directly_over: bool,
pub hit_test_visibility: InheritableVariable<bool>,
pub z_index: InheritableVariable<usize>,
pub allow_drag: InheritableVariable<bool>,
pub allow_drop: InheritableVariable<bool>,
pub user_data: Option<Arc<Mutex<dyn Any + Send>>>,
pub draw_on_top: InheritableVariable<bool>,
pub enabled: InheritableVariable<bool>,
pub cursor: InheritableVariable<Option<CursorIcon>>,
pub opacity: InheritableVariable<Option<f32>>,
pub tooltip: Option<RcUiNodeHandle>,
pub tooltip_time: f32,
pub context_menu: Option<RcUiNodeHandle>,
pub clip_to_bounds: InheritableVariable<bool>,
pub layout_transform: Matrix3<f32>,
pub render_transform: Matrix3<f32>,
pub visual_transform: Matrix3<f32>,
pub preview_messages: bool,
pub handle_os_events: bool,
pub tab_index: InheritableVariable<Option<usize>>,
pub tab_stop: InheritableVariable<bool>,
pub need_update: bool,
pub ignore_layout_rounding: bool,
pub accepts_input: bool,
pub layout_events_sender: Option<Sender<LayoutEvent>>,
pub id: Uuid,
pub is_resource_instance_root: bool,
pub resource: Option<Resource<UserInterface>>,
pub original_handle_in_resource: Handle<UiNode>,
pub measure_valid: Cell<bool>,
pub arrange_valid: Cell<bool>,
pub prev_measure: Cell<Vector2<f32>>,
pub prev_arrange: Cell<Rect<f32>>,
pub desired_size: Cell<Vector2<f32>>,
pub actual_local_position: Cell<Vector2<f32>>,
pub actual_local_size: Cell<Vector2<f32>>,
pub prev_global_visibility: bool,
pub clip_bounds: Cell<Rect<f32>>,
}
Expand description
Widget is a base UI element, that is always used to build derived, more complex, widgets. In general, it is a container for layout information, basic visual appearance, visibility options, parent-child information. It does almost nothing on its own, instead, the user interface modifies its state accordingly.
Fields§
§handle: Handle<UiNode>
Self handle of the widget. It is valid only, if the widget is added to the user interface, in other
cases it will most likely be Handle::NONE
.
name: ImmutableString
Name of the widget. Could be useful for debugging purposes.
desired_local_position: InheritableVariable<Vector2<f32>>
Desired position relative to the parent node. It is just a recommendation for the layout system, actual position
will be stored in the actual_local_position
field and can be fetched using Widget::actual_local_position
method.
width: InheritableVariable<f32>
Explicit width for the widget, or automatic if f32::NAN
(means the value is undefined). Default is f32::NAN
.
height: InheritableVariable<f32>
Explicit height for the widget, or automatic if f32::NAN
(means the value is undefined). Default is f32::NAN
.
min_size: InheritableVariable<Vector2<f32>>
Minimum width and height. Default is 0.0 for both axes.
max_size: InheritableVariable<Vector2<f32>>
Maximum width and height. Default is f32::INFINITY
for both axes.
background: InheritableVariable<StyledProperty<Brush>>
Background brush of the widget.
foreground: InheritableVariable<StyledProperty<Brush>>
Foreground brush of the widget.
row: InheritableVariable<usize>
Index of the row to which this widget belongs to. It is valid only in when used in crate::grid::Grid
widget.
column: InheritableVariable<usize>
Index of the column to which this widget belongs to. It is valid only in when used in crate::grid::Grid
widget.
vertical_alignment: InheritableVariable<VerticalAlignment>
Vertical alignment of the widget.
horizontal_alignment: InheritableVariable<HorizontalAlignment>
Horizontal alignment of the widget.
margin: InheritableVariable<Thickness>
Margin for every sides of bounding rectangle. See Thickness
docs for more info.
visibility: InheritableVariable<bool>
Current, local, visibility state of the widget.
global_visibility: bool
Current, global (including the chain of parent widgets), visibility state of the widget.
children: Vec<Handle<UiNode>>
A set of handles to children nodes of this widget.
parent: Handle<UiNode>
A handle to the parent node of this widget.
command_indices: RefCell<Vec<usize>>
Indices of drawing commands in the drawing context emitted by this widget. It is used for picking.
is_mouse_directly_over: bool
A flag, that indicates that the mouse is directly over the widget. It will be raised only for top-most widget in the “stack” of widgets.
hit_test_visibility: InheritableVariable<bool>
A flag, that defines whether the widget is “visible” for hit testing (picking). Could be useful to prevent some widgets from any interactions with mouse.
z_index: InheritableVariable<usize>
Index of the widget in parent’s children list that defines its order in drawing and picking.
allow_drag: InheritableVariable<bool>
A flag, that defines whether the drag from drag’n’drop functionality can be started by the widget or not.
allow_drop: InheritableVariable<bool>
A flag, that defines whether the drop from drag’n’drop functionality can be accepted by the widget or not.
user_data: Option<Arc<Mutex<dyn Any + Send>>>
Optional, user-defined data.
draw_on_top: InheritableVariable<bool>
A flag, that defines whether the widget should be drawn in a separate drawind pass after any other widget that draws normally.
enabled: InheritableVariable<bool>
A flag, that defines whether the widget is enabled or not. Disabled widgets cannot be interacted by used and they’re greyed out.
cursor: InheritableVariable<Option<CursorIcon>>
Optional cursor icon that will be used for mouse cursor when hovering over the widget.
opacity: InheritableVariable<Option<f32>>
Optional opacity of the widget. It should be in [0.0..1.0]
range, where 0.0 - fully transparent, 1.0 - fully opaque.
tooltip: Option<RcUiNodeHandle>
An optional ref counted handle to a tooltip used by the widget.
tooltip_time: f32
Maximum available time to show the tooltip after the cursor was moved away from the widget.
An optional ref counted handle to a context menu used by the widget.
clip_to_bounds: InheritableVariable<bool>
A flag, that defines whether the widget should be clipped by the parent bounds or not.
layout_transform: Matrix3<f32>
Current render transform of the node. It modifies layout information of the widget, as well as it affects visual transform of the widget.
render_transform: Matrix3<f32>
Current render transform of the node. It only modifies the widget at drawing stage, layout information remains unmodified.
visual_transform: Matrix3<f32>
Current visual transform of the node. It always contains a result of mixing the layout and
render transformation matrices. Visual transform could be used to transform a point to
screen space. To transform a screen space point to local coordinates use Widget::screen_to_local
method.
preview_messages: bool
A flag, that defines whether the widget will preview UI messages or not. Basically, it defines whether crate::Control::preview_message is called or not.
handle_os_events: bool
A flag, that defines whether the widget will receive any OS events or not. Basically, it defines whether crate::Control::handle_os_event is called or not.
tab_index: InheritableVariable<Option<usize>>
Defines the order in which this widget will get keyboard focus when Tab key is pressed.
If set to None
, Tab key won’t do anything on such widget. Default is None
.
tab_stop: InheritableVariable<bool>
A flag, that defines whether the Tab key navigation is enabled or disabled for this widget.
need_update: bool
A flag, that defines whether the widget will be update or not. Basically, it defines whether crate::Control::update is called or not.
ignore_layout_rounding: bool
Enables (false
) or disables (true
) layout rounding.
accepts_input: bool
A flag, that indicates that the widget accepts user input. It could be used to determine, if
a user can interact with the widget using keyboard. It is also used for automatic assignment
of the tab index. Keep in mind, that this flag is only a marker and does not do anything else
on its own. Default value is false
.
layout_events_sender: Option<Sender<LayoutEvent>>
Internal sender for layout events.
id: Uuid
Unique identifier of the widget.
is_resource_instance_root: bool
A flag, that indicates whether this widget is a root widget of a hierarchy of widgets instantiated from a resource.
resource: Option<Resource<UserInterface>>
A resource from which this widget was instantiated from, can work in pair with original
handle to get a corresponding widget from resource.
original_handle_in_resource: Handle<UiNode>
Handle to a widget in a user interface resource from which this node was instantiated from.
measure_valid: Cell<bool>
A flag, that defines whether the measurement results are still valid or not.
arrange_valid: Cell<bool>
A flag, that defines whether the arrangement results are still valid or not.
prev_measure: Cell<Vector2<f32>>
Results or previous measurement.
prev_arrange: Cell<Rect<f32>>
Results or previous arrangement.
desired_size: Cell<Vector2<f32>>
Desired size of the node after Measure pass.
actual_local_position: Cell<Vector2<f32>>
Actual local position of the widget after Arrange pass.
actual_local_size: Cell<Vector2<f32>>
Actual local size of the widget after Arrange pass.
prev_global_visibility: bool
Previous global visibility of the widget.
clip_bounds: Cell<Rect<f32>>
Current clip bounds of the widget.
Implementations§
Source§impl Widget
impl Widget
pub const NAME: &'static str = "name"
pub const DESIRED_LOCAL_POSITION: &'static str = "desired_local_position"
pub const WIDTH: &'static str = "width"
pub const HEIGHT: &'static str = "height"
pub const MIN_SIZE: &'static str = "min_size"
pub const MAX_SIZE: &'static str = "max_size"
pub const BACKGROUND: &'static str = "background"
pub const FOREGROUND: &'static str = "foreground"
pub const ROW: &'static str = "row"
pub const COLUMN: &'static str = "column"
pub const VERTICAL_ALIGNMENT: &'static str = "vertical_alignment"
pub const HORIZONTAL_ALIGNMENT: &'static str = "horizontal_alignment"
pub const MARGIN: &'static str = "margin"
pub const VISIBILITY: &'static str = "visibility"
pub const HIT_TEST_VISIBILITY: &'static str = "hit_test_visibility"
pub const Z_INDEX: &'static str = "z_index"
pub const ALLOW_DRAG: &'static str = "allow_drag"
pub const ALLOW_DROP: &'static str = "allow_drop"
pub const DRAW_ON_TOP: &'static str = "draw_on_top"
pub const ENABLED: &'static str = "enabled"
pub const CURSOR: &'static str = "cursor"
pub const OPACITY: &'static str = "opacity"
pub const TOOLTIP: &'static str = "tooltip"
pub const TOOLTIP_TIME: &'static str = "tooltip_time"
pub const CONTEXT_MENU: &'static str = "context_menu"
pub const CLIP_TO_BOUNDS: &'static str = "clip_to_bounds"
pub const PREVIEW_MESSAGES: &'static str = "preview_messages"
pub const HANDLE_OS_EVENTS: &'static str = "handle_os_events"
pub const TAB_INDEX: &'static str = "tab_index"
pub const TAB_STOP: &'static str = "tab_stop"
pub const NEED_UPDATE: &'static str = "need_update"
pub const IGNORE_LAYOUT_ROUNDING: &'static str = "ignore_layout_rounding"
pub const ACCEPTS_INPUT: &'static str = "accepts_input"
pub const ID: &'static str = "id"
pub const RESOURCE: &'static str = "resource"
Source§impl Widget
impl Widget
Sourcepub fn set_name<P: AsRef<str>>(&mut self, name: P) -> &mut Self
pub fn set_name<P: AsRef<str>>(&mut self, name: P) -> &mut Self
Sets the new name of the widget.
Sourcepub fn actual_local_size(&self) -> Vector2<f32>
pub fn actual_local_size(&self) -> Vector2<f32>
Returns the actual size of the widget after the full layout cycle.
Sourcepub fn actual_initial_size(&self) -> Vector2<f32>
pub fn actual_initial_size(&self) -> Vector2<f32>
Returns size of the widget without any layout or rendering transform applied.
Sourcepub fn actual_global_size(&self) -> Vector2<f32>
pub fn actual_global_size(&self) -> Vector2<f32>
Returns the actual global size of the widget after the full layout cycle.
Sourcepub fn set_min_size(&mut self, value: Vector2<f32>) -> &mut Self
pub fn set_min_size(&mut self, value: Vector2<f32>) -> &mut Self
Sets the new minimum size of the widget.
Sourcepub fn set_min_width(&mut self, value: f32) -> &mut Self
pub fn set_min_width(&mut self, value: f32) -> &mut Self
Sets the new minimum width of the widget.
Sourcepub fn set_min_height(&mut self, value: f32) -> &mut Self
pub fn set_min_height(&mut self, value: f32) -> &mut Self
Sets the new minimum height of the widget.
Sourcepub fn min_height(&self) -> f32
pub fn min_height(&self) -> f32
Returns the minimum height of the widget.
Sourcepub fn is_drag_allowed(&self) -> bool
pub fn is_drag_allowed(&self) -> bool
Return true
if the dragging of the widget is allowed, false
- otherwise.
Sourcepub fn is_drop_allowed(&self) -> bool
pub fn is_drop_allowed(&self) -> bool
Return true
if the dropping of other widgets is allowed on this widget, false
- otherwise.
Sourcepub fn screen_to_local(&self, point: Vector2<f32>) -> Vector2<f32>
pub fn screen_to_local(&self, point: Vector2<f32>) -> Vector2<f32>
Maps the given point from screen to local widget’s coordinates. Could be used to transform mouse cursor position (which is in screen space) to local widget coordinates.
Sourcepub fn invalidate_layout(&self)
pub fn invalidate_layout(&self)
Invalidates layout of the widget. WARNING: Do not use this method, unless you understand what you’re doing, it will cause new layout pass for this widget which could be quite heavy and doing so on every frame for multiple widgets will cause severe performance issues.
Sourcepub fn invalidate_measure(&self)
pub fn invalidate_measure(&self)
Invalidates measurement results of the widget. WARNING: Do not use this method, unless you understand what you’re doing, it will cause new measurement pass for this widget which could be quite heavy and doing so on every frame for multiple widgets will cause severe performance issues.
Sourcepub fn invalidate_arrange(&self)
pub fn invalidate_arrange(&self)
Invalidates arrangement results of the widget. WARNING: Do not use this method, unless you understand what you’re doing, it will cause new arrangement pass for this widget which could be quite heavy and doing so on every frame for multiple widgets will cause severe performance issues.
Sourcepub fn is_hit_test_visible(&self) -> bool
pub fn is_hit_test_visible(&self) -> bool
Returns true
if the widget is able to participate in hit testing, false
- otherwise.
Sourcepub fn set_max_size(&mut self, value: Vector2<f32>) -> &mut Self
pub fn set_max_size(&mut self, value: Vector2<f32>) -> &mut Self
Sets the new maximum size of the widget.
Sourcepub fn max_height(&self) -> f32
pub fn max_height(&self) -> f32
Return maximum height of the widget.
Sourcepub fn set_z_index(&mut self, z_index: usize) -> &mut Self
pub fn set_z_index(&mut self, z_index: usize) -> &mut Self
Sets new Z index for the widget. Z index defines the sorting (stable) index which will be used to “arrange” widgets in the correct order.
Sourcepub fn set_background(&mut self, brush: Brush) -> &mut Self
pub fn set_background(&mut self, brush: Brush) -> &mut Self
Sets the new background of the widget.
Sourcepub fn background(&self) -> Brush
pub fn background(&self) -> Brush
Returns current background of the widget.
Sourcepub fn set_foreground(&mut self, brush: Brush) -> &mut Self
pub fn set_foreground(&mut self, brush: Brush) -> &mut Self
Sets new foreground of the widget.
Sourcepub fn foreground(&self) -> Brush
pub fn foreground(&self) -> Brush
Returns current foreground of the widget.
Sourcepub fn is_draw_on_top(&self) -> bool
pub fn is_draw_on_top(&self) -> bool
Return true
if the widget is set to be drawn on top of every other, normally drawn, widgets, false
- otherwise.
Sourcepub fn set_height(&mut self, height: f32) -> &mut Self
pub fn set_height(&mut self, height: f32) -> &mut Self
Sets new height of the widget.
Sourcepub fn set_desired_local_position(&mut self, pos: Vector2<f32>) -> &mut Self
pub fn set_desired_local_position(&mut self, pos: Vector2<f32>) -> &mut Self
Sets the desired local position of the widget.
Sourcepub fn screen_position(&self) -> Vector2<f32>
pub fn screen_position(&self) -> Vector2<f32>
Returns current screen-space position of the widget.
Sourcepub fn children(&self) -> &[Handle<UiNode>]
pub fn children(&self) -> &[Handle<UiNode>]
Returns a reference to the slice with the children widgets of this widget.
Sourcepub fn set_column(&mut self, column: usize) -> &mut Self
pub fn set_column(&mut self, column: usize) -> &mut Self
Sets new column of the widget. Columns are used only by crate::grid::Grid
widget.
Sourcepub fn column(&self) -> usize
pub fn column(&self) -> usize
Returns current column of the widget. Columns are used only by crate::grid::Grid
widget.
Sourcepub fn set_row(&mut self, row: usize) -> &mut Self
pub fn set_row(&mut self, row: usize) -> &mut Self
Sets new row of the widget. Rows are used only by crate::grid::Grid
widget.
Sourcepub fn row(&self) -> usize
pub fn row(&self) -> usize
Returns current row of the widget. Rows are used only by crate::grid::Grid
widget.
Sourcepub fn desired_size(&self) -> Vector2<f32>
pub fn desired_size(&self) -> Vector2<f32>
Returns the desired size of the widget.
Sourcepub fn desired_local_position(&self) -> Vector2<f32>
pub fn desired_local_position(&self) -> Vector2<f32>
Returns current desired local position of the widget.
Sourcepub fn screen_bounds(&self) -> Rect<f32>
pub fn screen_bounds(&self) -> Rect<f32>
Returns current screen-space bounds of the widget.
Sourcepub fn bounding_rect(&self) -> Rect<f32>
pub fn bounding_rect(&self) -> Rect<f32>
Returns local-space bounding rect of the widget.
Sourcepub fn visual_transform(&self) -> &Matrix3<f32>
pub fn visual_transform(&self) -> &Matrix3<f32>
Returns current visual transform of the widget.
Sourcepub fn visual_scaling(&self) -> Vector2<f32>
pub fn visual_scaling(&self) -> Vector2<f32>
Returns scaling along both axes.
Sourcepub fn visual_max_scaling(&self) -> f32
pub fn visual_max_scaling(&self) -> f32
Returns max uniform scaling of both axes.
Sourcepub fn render_transform(&self) -> &Matrix3<f32>
pub fn render_transform(&self) -> &Matrix3<f32>
Returns current render transform of the widget.
Sourcepub fn layout_transform(&self) -> &Matrix3<f32>
pub fn layout_transform(&self) -> &Matrix3<f32>
Returns current layout transform of the widget.
Sourcepub fn has_descendant(
&self,
node_handle: Handle<UiNode>,
ui: &UserInterface,
) -> bool
pub fn has_descendant( &self, node_handle: Handle<UiNode>, ui: &UserInterface, ) -> bool
Returns true
, if the widget has a descendant widget with the specified handle, false
- otherwise.
Sourcepub fn find_by_criteria_up<Func: Fn(&UiNode) -> bool>(
&self,
ui: &UserInterface,
func: Func,
) -> Handle<UiNode>
pub fn find_by_criteria_up<Func: Fn(&UiNode) -> bool>( &self, ui: &UserInterface, func: Func, ) -> Handle<UiNode>
Searches a node up on tree starting from the given root that matches a criteria defined by the given func.
Sourcepub fn handle_routed_message(
&mut self,
ui: &mut UserInterface,
msg: &mut UiMessage,
)
pub fn handle_routed_message( &mut self, ui: &mut UserInterface, msg: &mut UiMessage, )
Handles incoming WidgetMessage
s. This method must be called in crate::control::Control::handle_routed_message
of any derived widgets!
Sourcepub fn set_vertical_alignment(
&mut self,
vertical_alignment: VerticalAlignment,
) -> &mut Self
pub fn set_vertical_alignment( &mut self, vertical_alignment: VerticalAlignment, ) -> &mut Self
Sets new vertical alignment of the widget.
Sourcepub fn vertical_alignment(&self) -> VerticalAlignment
pub fn vertical_alignment(&self) -> VerticalAlignment
Returns current vertical alignment of the widget.
Sourcepub fn set_horizontal_alignment(
&mut self,
horizontal_alignment: HorizontalAlignment,
) -> &mut Self
pub fn set_horizontal_alignment( &mut self, horizontal_alignment: HorizontalAlignment, ) -> &mut Self
Sets new horizontal alignment of the widget.
Sourcepub fn horizontal_alignment(&self) -> HorizontalAlignment
pub fn horizontal_alignment(&self) -> HorizontalAlignment
Returns current horizontal alignment of the widget.
Sourcepub fn set_margin(&mut self, margin: Thickness) -> &mut Self
pub fn set_margin(&mut self, margin: Thickness) -> &mut Self
Sets new margin of the widget.
Sourcepub fn measure_override(
&self,
ui: &UserInterface,
available_size: Vector2<f32>,
) -> Vector2<f32>
pub fn measure_override( &self, ui: &UserInterface, available_size: Vector2<f32>, ) -> Vector2<f32>
Performs standard measurement of children nodes. It provides available size as a constraint and returns the maximum desired size across all children. As a result, this widget will have this size as its desired size to fit all the children nodes.
Sourcepub fn arrange_override(
&self,
ui: &UserInterface,
final_size: Vector2<f32>,
) -> Vector2<f32>
pub fn arrange_override( &self, ui: &UserInterface, final_size: Vector2<f32>, ) -> Vector2<f32>
Performs standard arrangement of the children nodes of the widget. It uses input final size to make a final bounding rectangle to arrange children. As a result, all the children nodes will be located at the top-left corner of this widget and stretched to fit its bounds.
Sourcepub fn is_arrange_valid(&self) -> bool
pub fn is_arrange_valid(&self) -> bool
Returns true
if the current results of arrangement of the widget are valid, false
- otherwise.
Sourcepub fn is_measure_valid(&self) -> bool
pub fn is_measure_valid(&self) -> bool
Returns true
if the current results of measurement of the widget are valid, false
- otherwise.
Sourcepub fn actual_local_position(&self) -> Vector2<f32>
pub fn actual_local_position(&self) -> Vector2<f32>
Returns current actual local position of the widget. It is valid only after layout pass!
Sourcepub fn center(&self) -> Vector2<f32>
pub fn center(&self) -> Vector2<f32>
Returns center point of the widget. It is valid only after layout pass!
Sourcepub fn is_globally_visible(&self) -> bool
pub fn is_globally_visible(&self) -> bool
Returns true
of the widget is globally visible, which means that all its parents are visible as well
as this widget. It is valid only after the first update of the layout, otherwise if will be always false.
Sourcepub fn set_visibility(&mut self, visibility: bool) -> &mut Self
pub fn set_visibility(&mut self, visibility: bool) -> &mut Self
Sets new visibility of the widget.
Sourcepub fn request_update_visibility(&self)
pub fn request_update_visibility(&self)
Requests (via event queue, so the request is deferred) the update of the visibility of the widget.
Sourcepub fn visibility(&self) -> bool
pub fn visibility(&self) -> bool
Returns current visibility of the widget.
Sourcepub fn set_enabled(&mut self, enabled: bool) -> &mut Self
pub fn set_enabled(&mut self, enabled: bool) -> &mut Self
Enables or disables the widget. Disabled widgets does not interact with user and usually greyed out.
Sourcepub fn set_cursor(&mut self, cursor: Option<CursorIcon>)
pub fn set_cursor(&mut self, cursor: Option<CursorIcon>)
Sets new cursor of the widget.
Sourcepub fn cursor(&self) -> Option<CursorIcon>
pub fn cursor(&self) -> Option<CursorIcon>
Returns current cursor of the widget.
Sourcepub fn user_data_cloned<T: Clone + 'static>(&self) -> Option<T>
pub fn user_data_cloned<T: Clone + 'static>(&self) -> Option<T>
Tries to fetch user-defined data of the specified type T
.
Sourcepub fn clip_bounds(&self) -> Rect<f32>
pub fn clip_bounds(&self) -> Rect<f32>
Returns current clipping bounds of the widget. It is valid only after at least one layout pass.
Sourcepub fn set_opacity(&mut self, opacity: Option<f32>) -> &mut Self
pub fn set_opacity(&mut self, opacity: Option<f32>) -> &mut Self
Set new opacity of the widget. Opacity should be in [0.0..1.0]
range.
Sourcepub fn tooltip(&self) -> Option<RcUiNodeHandle>
pub fn tooltip(&self) -> Option<RcUiNodeHandle>
Returns current tooltip handle of the widget.
Sourcepub fn set_tooltip(&mut self, tooltip: Option<RcUiNodeHandle>) -> &mut Self
pub fn set_tooltip(&mut self, tooltip: Option<RcUiNodeHandle>) -> &mut Self
Sets new tooltip handle of the widget (if any).
Sourcepub fn tooltip_time(&self) -> f32
pub fn tooltip_time(&self) -> f32
Returns maximum available time to show the tooltip after the cursor was moved away from the widget.
Sourcepub fn set_tooltip_time(&mut self, tooltip_time: f32) -> &mut Self
pub fn set_tooltip_time(&mut self, tooltip_time: f32) -> &mut Self
Set the maximum available time to show the tooltip after the cursor was moved away from the widget.
Returns current context menu of the widget.
The context menu receives PopupMessage
s for being displayed, and so should support those.
Trait Implementations§
Source§impl Reflect for Widgetwhere
Self: 'static,
ImmutableString: Reflect,
InheritableVariable<Vector2<f32>>: Reflect,
InheritableVariable<f32>: Reflect,
InheritableVariable<StyledProperty<Brush>>: Reflect,
InheritableVariable<usize>: Reflect,
InheritableVariable<VerticalAlignment>: Reflect,
InheritableVariable<HorizontalAlignment>: Reflect,
InheritableVariable<Thickness>: Reflect,
InheritableVariable<bool>: Reflect,
InheritableVariable<Option<CursorIcon>>: Reflect,
InheritableVariable<Option<f32>>: Reflect,
Option<RcUiNodeHandle>: Reflect,
f32: Reflect,
bool: Reflect,
InheritableVariable<Option<usize>>: Reflect,
Uuid: Reflect,
Option<Resource<UserInterface>>: Reflect,
impl Reflect for Widgetwhere
Self: 'static,
ImmutableString: Reflect,
InheritableVariable<Vector2<f32>>: Reflect,
InheritableVariable<f32>: Reflect,
InheritableVariable<StyledProperty<Brush>>: Reflect,
InheritableVariable<usize>: Reflect,
InheritableVariable<VerticalAlignment>: Reflect,
InheritableVariable<HorizontalAlignment>: Reflect,
InheritableVariable<Thickness>: Reflect,
InheritableVariable<bool>: Reflect,
InheritableVariable<Option<CursorIcon>>: Reflect,
InheritableVariable<Option<f32>>: Reflect,
Option<RcUiNodeHandle>: Reflect,
f32: Reflect,
bool: Reflect,
InheritableVariable<Option<usize>>: Reflect,
Uuid: Reflect,
Option<Resource<UserInterface>>: Reflect,
fn source_path() -> &'static str
fn type_name(&self) -> &'static str
fn doc(&self) -> &'static str
Source§fn assembly_name(&self) -> &'static str
fn assembly_name(&self) -> &'static str
#[derive(Reflect)]
) to ensure that this method will return correct assembly
name. In other words - there’s no guarantee, that any implementation other than proc-macro
will return a correct name of the assembly. Alternatively, you can use env!("CARGO_PKG_NAME")
as an implementation.Source§fn type_assembly_name() -> &'static str
fn type_assembly_name() -> &'static str
#[derive(Reflect)]
) to ensure that this method will return correct assembly
name. In other words - there’s no guarantee, that any implementation other than proc-macro
will return a correct name of the assembly. Alternatively, you can use env!("CARGO_PKG_NAME")
as an implementation.fn fields_info(&self, func: &mut dyn FnMut(&[FieldInfo<'_, '_>]))
fn into_any(self: Box<Self>) -> Box<dyn Any>
fn set( &mut self, value: Box<dyn Reflect>, ) -> Result<Box<dyn Reflect>, Box<dyn Reflect>>
Source§fn set_field(
&mut self,
name: &str,
value: Box<dyn Reflect>,
func: &mut dyn FnMut(Result<Box<dyn Reflect>, Box<dyn Reflect>>),
)
fn set_field( &mut self, name: &str, value: Box<dyn Reflect>, func: &mut dyn FnMut(Result<Box<dyn Reflect>, Box<dyn Reflect>>), )
#[reflect(setter = ..)]
or falls back to
Reflect::field_mut
fn as_any(&self, func: &mut dyn FnMut(&dyn Any))
fn as_any_mut(&mut self, func: &mut dyn FnMut(&mut dyn Any))
fn as_reflect(&self, func: &mut dyn FnMut(&dyn Reflect))
fn as_reflect_mut(&mut self, func: &mut dyn FnMut(&mut dyn Reflect))
fn fields(&self, func: &mut dyn FnMut(&[&dyn Reflect]))
fn fields_mut(&mut self, func: &mut dyn FnMut(&mut [&mut dyn Reflect]))
fn field(&self, name: &str, func: &mut dyn FnMut(Option<&dyn Reflect>))
fn field_mut( &mut self, name: &str, func: &mut dyn FnMut(Option<&mut dyn Reflect>), )
fn as_array(&self, func: &mut dyn FnMut(Option<&(dyn ReflectArray + 'static)>))
fn as_array_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectArray + 'static)>), )
fn as_list(&self, func: &mut dyn FnMut(Option<&(dyn ReflectList + 'static)>))
fn as_list_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectList + 'static)>), )
fn as_inheritable_variable( &self, func: &mut dyn FnMut(Option<&(dyn ReflectInheritableVariable + 'static)>), )
fn as_inheritable_variable_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectInheritableVariable + 'static)>), )
fn as_hash_map( &self, func: &mut dyn FnMut(Option<&(dyn ReflectHashMap + 'static)>), )
fn as_hash_map_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectHashMap + 'static)>), )
Source§impl Visit for Widgetwhere
Handle<UiNode>: Visit,
ImmutableString: Visit,
InheritableVariable<Vector2<f32>>: Visit,
InheritableVariable<f32>: Visit,
InheritableVariable<StyledProperty<Brush>>: Visit,
InheritableVariable<usize>: Visit,
InheritableVariable<VerticalAlignment>: Visit,
InheritableVariable<HorizontalAlignment>: Visit,
InheritableVariable<Thickness>: Visit,
InheritableVariable<bool>: Visit,
bool: Visit,
Vec<Handle<UiNode>>: Visit,
InheritableVariable<Option<CursorIcon>>: Visit,
InheritableVariable<Option<f32>>: Visit,
Option<RcUiNodeHandle>: Visit,
f32: Visit,
Matrix3<f32>: Visit,
InheritableVariable<Option<usize>>: Visit,
Uuid: Visit,
Option<Resource<UserInterface>>: Visit,
impl Visit for Widgetwhere
Handle<UiNode>: Visit,
ImmutableString: Visit,
InheritableVariable<Vector2<f32>>: Visit,
InheritableVariable<f32>: Visit,
InheritableVariable<StyledProperty<Brush>>: Visit,
InheritableVariable<usize>: Visit,
InheritableVariable<VerticalAlignment>: Visit,
InheritableVariable<HorizontalAlignment>: Visit,
InheritableVariable<Thickness>: Visit,
InheritableVariable<bool>: Visit,
bool: Visit,
Vec<Handle<UiNode>>: Visit,
InheritableVariable<Option<CursorIcon>>: Visit,
InheritableVariable<Option<f32>>: Visit,
Option<RcUiNodeHandle>: Visit,
f32: Visit,
Matrix3<f32>: Visit,
InheritableVariable<Option<usize>>: Visit,
Uuid: Visit,
Option<Resource<UserInterface>>: Visit,
Source§fn visit(&mut self, name: &str, visitor: &mut Visitor) -> VisitResult
fn visit(&mut self, name: &str, visitor: &mut Visitor) -> VisitResult
Auto Trait Implementations§
impl !Freeze for Widget
impl !RefUnwindSafe for Widget
impl Send for Widget
impl !Sync for Widget
impl Unpin for Widget
impl !UnwindSafe for Widget
Blanket Implementations§
Source§impl<T> AsyncTaskResult for T
impl<T> AsyncTaskResult 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Any
. Could be used to downcast a trait object
to a particular type.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Any
. Could be used to downcast a trait object
to a particular type.fn into_any(self: Box<T>) -> Box<dyn Any>
Source§impl<T> FieldValue for Twhere
T: 'static,
impl<T> FieldValue for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ReflectBase for Twhere
T: Reflect,
impl<T> ReflectBase for Twhere
T: Reflect,
fn as_any_raw(&self) -> &(dyn Any + 'static)
fn as_any_raw_mut(&mut self) -> &mut (dyn Any + 'static)
Source§impl<T> ResolvePath for Twhere
T: Reflect,
impl<T> ResolvePath for Twhere
T: Reflect,
fn resolve_path<'p>( &self, path: &'p str, func: &mut dyn FnMut(Result<&(dyn Reflect + 'static), ReflectPathError<'p>>), )
fn resolve_path_mut<'p>( &mut self, path: &'p str, func: &mut dyn FnMut(Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>), )
fn get_resolve_path<'p, T>(
&self,
path: &'p str,
func: &mut dyn FnMut(Result<&T, ReflectPathError<'p>>),
)where
T: Reflect,
fn get_resolve_path_mut<'p, T>(
&mut self,
path: &'p str,
func: &mut dyn FnMut(Result<&mut T, ReflectPathError<'p>>),
)where
T: Reflect,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.