pub struct TreeRoot {
pub widget: Widget,
pub panel: Handle<UiNode>,
pub items: Vec<Handle<UiNode>>,
pub selected: Vec<Handle<UiNode>>,
}
Fields§
§widget: Widget
§panel: Handle<UiNode>
§items: Vec<Handle<UiNode>>
§selected: Vec<Handle<UiNode>>
Implementations§
Methods from Deref<Target = Widget>§
pub fn handle(&self) -> Handle<UiNode>
pub fn name(&self) -> &str
pub fn set_name<P: AsRef<str>>(&mut self, name: P) -> &mut Self
pub fn actual_local_size(&self) -> Vector2<f32>
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.
pub fn actual_global_size(&self) -> Vector2<f32>
pub fn set_min_size(&mut self, value: Vector2<f32>) -> &mut Self
pub fn set_min_width(&mut self, value: f32) -> &mut Self
pub fn set_min_height(&mut self, value: f32) -> &mut Self
pub fn min_size(&self) -> Vector2<f32>
pub fn min_width(&self) -> f32
pub fn min_height(&self) -> f32
pub fn is_drag_allowed(&self) -> bool
pub fn is_drop_allowed(&self) -> bool
pub fn screen_to_local(&self, point: Vector2<f32>) -> Vector2<f32>
pub fn invalidate_layout(&self)
pub fn invalidate_measure(&self)
pub fn invalidate_arrange(&self)
pub fn is_hit_test_visible(&self) -> bool
pub fn set_max_size(&mut self, value: Vector2<f32>) -> &mut Self
pub fn max_size(&self) -> Vector2<f32>
pub fn max_width(&self) -> f32
pub fn max_height(&self) -> f32
pub fn set_z_index(&mut self, z_index: usize) -> &mut Self
pub fn z_index(&self) -> usize
pub fn set_background(&mut self, brush: Brush) -> &mut Self
pub fn background(&self) -> Brush
pub fn set_foreground(&mut self, brush: Brush) -> &mut Self
pub fn foreground(&self) -> Brush
pub fn set_width(&mut self, width: f32) -> &mut Self
pub fn width(&self) -> f32
pub fn is_draw_on_top(&self) -> bool
pub fn set_height(&mut self, height: f32) -> &mut Self
pub fn height(&self) -> f32
pub fn set_desired_local_position(&mut self, pos: Vector2<f32>) -> &mut Self
pub fn screen_position(&self) -> Vector2<f32>
pub fn children(&self) -> &[Handle<UiNode>]
pub fn parent(&self) -> Handle<UiNode>
pub fn set_parent(&mut self, parent: Handle<UiNode>)
pub fn column(&self) -> usize
pub fn set_row(&mut self, row: usize) -> &mut Self
pub fn row(&self) -> usize
pub fn desired_size(&self) -> Vector2<f32>
pub fn desired_local_position(&self) -> Vector2<f32>
pub fn screen_bounds(&self) -> Rect<f32>
pub fn bounding_rect(&self) -> Rect<f32>
pub fn visual_transform(&self) -> &Matrix3<f32>
pub fn render_transform(&self) -> &Matrix3<f32>
pub fn layout_transform(&self) -> &Matrix3<f32>
pub fn has_descendant( &self, node_handle: Handle<UiNode>, ui: &UserInterface ) -> bool
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 given root that matches a criteria defined by a given func.
pub fn handle_routed_message( &mut self, _ui: &mut UserInterface, msg: &mut UiMessage )
pub fn set_vertical_alignment( &mut self, vertical_alignment: VerticalAlignment ) -> &mut Self
pub fn vertical_alignment(&self) -> VerticalAlignment
pub fn set_horizontal_alignment( &mut self, horizontal_alignment: HorizontalAlignment ) -> &mut Self
pub fn horizontal_alignment(&self) -> HorizontalAlignment
pub fn set_column(&mut self, column: usize) -> &mut Self
pub fn set_margin(&mut self, margin: Thickness) -> &mut Self
pub fn margin(&self) -> Thickness
pub fn measure_override( &self, ui: &UserInterface, available_size: Vector2<f32> ) -> Vector2<f32>
pub fn arrange_override( &self, ui: &UserInterface, final_size: Vector2<f32> ) -> Vector2<f32>
pub fn is_arrange_valid(&self) -> bool
pub fn is_measure_valid(&self) -> bool
pub fn actual_local_position(&self) -> Vector2<f32>
pub fn center(&self) -> Vector2<f32>
pub fn is_globally_visible(&self) -> bool
pub fn set_visibility(&mut self, visibility: bool) -> &mut Self
pub fn request_update_visibility(&self)
pub fn visibility(&self) -> bool
pub fn set_enabled(&mut self, enabled: bool) -> &mut Self
pub fn enabled(&self) -> bool
pub fn set_cursor(&mut self, cursor: Option<CursorIcon>)
pub fn cursor(&self) -> Option<CursorIcon>
pub fn user_data_ref<T: 'static>(&self) -> Option<&T>
pub fn clip_bounds(&self) -> Rect<f32>
pub fn set_opacity(&mut self, opacity: Option<f32>) -> &mut Self
pub fn opacity(&self) -> Option<f32>
pub fn tooltip(&self) -> Option<RcUiNodeHandle>
pub fn set_tooltip(&mut self, tooltip: Option<RcUiNodeHandle>) -> &mut Self
pub fn tooltip_time(&self) -> f32
pub fn set_tooltip_time(&mut self, tooltip_time: f32) -> &mut Self
The context menu receives PopupMessage
s for being displayed, and so should support those.
Trait Implementations§
source§impl Control for TreeRoot
impl Control for TreeRoot
source§fn query_component(&self, type_id: TypeId) -> Option<&dyn Any>
fn query_component(&self, type_id: TypeId) -> Option<&dyn Any>
Allows a widget to provide access to inner components. For example you can build your custom
MyTree widget using engine’s Tree widget as a base. The engine needs to know whether the custom
widget is actually extends functionality of some existing widget. Read more
fn resolve(&mut self, node_map: &NodeHandleMapping)
source§fn handle_routed_message(
&mut self,
ui: &mut UserInterface,
message: &mut UiMessage
)
fn handle_routed_message( &mut self, ui: &mut UserInterface, message: &mut UiMessage )
Performs event-specific actions. Must call widget.handle_message()! Read more
fn on_remove(&self, sender: &Sender<UiMessage>)
fn measure_override( &self, ui: &UserInterface, available_size: Vector2<f32> ) -> Vector2<f32>
fn arrange_override( &self, ui: &UserInterface, final_size: Vector2<f32> ) -> Vector2<f32>
fn draw(&self, drawing_context: &mut DrawingContext)
fn update(&mut self, dt: f32, sender: &Sender<UiMessage>)
source§fn preview_message(&self, ui: &UserInterface, message: &mut UiMessage)
fn preview_message(&self, ui: &UserInterface, message: &mut UiMessage)
Used to react to a message (by producing another message) that was posted outside of current
hierarchy. In other words this method is used when you need to “peek” a message before it’ll
be passed into bubbling router. Most common use case is to catch messages from popups: popup
in 99.9% cases is a child of root canvas and it won’t receive a message from a its logical
parent during bubbling message routing. For example
preview_message
used in a dropdown list:
dropdown list has two separate parts - a field with selected value and a popup for all possible
options. Visual parent of the popup in this case is the root canvas, but logical parent is the
dropdown list. Because of this fact, the field won’t receive any messages from popup, to solve
this we use preview_message
. This method is much more restrictive - it does not allow you to
modify a node and ui, you can either request changes by sending a message or use internal
mutability (Cell
, RefCell
, etc). Read moresource§fn handle_os_event(
&mut self,
self_handle: Handle<UiNode>,
ui: &mut UserInterface,
event: &OsEvent
)
fn handle_os_event( &mut self, self_handle: Handle<UiNode>, ui: &mut UserInterface, event: &OsEvent )
Provides a way to respond to OS specific events. Can be useful to detect if a key or mouse
button was pressed. This method significantly differs from
handle_message
because os events
are not dispatched - they’ll be passed to this method in any case. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for TreeRoot
impl !Send for TreeRoot
impl !Sync for TreeRoot
impl Unpin for TreeRoot
impl !UnwindSafe for TreeRoot
Blanket Implementations§
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
source§impl<T> FieldValue for Twhere
T: 'static,
impl<T> FieldValue for Twhere T: 'static,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.