Struct ScrollBar

Source
pub struct ScrollBar {
Show 14 fields pub widget: Widget, pub min: InheritableVariable<f32>, pub max: InheritableVariable<f32>, pub value: InheritableVariable<f32>, pub step: InheritableVariable<f32>, pub orientation: InheritableVariable<Orientation>, pub is_dragging: bool, pub offset: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, pub increase: InheritableVariable<Handle<UiNode>>, pub decrease: InheritableVariable<Handle<UiNode>>, pub indicator: InheritableVariable<Handle<UiNode>>, pub indicator_canvas: InheritableVariable<Handle<UiNode>>, pub value_text: InheritableVariable<Handle<UiNode>>, pub value_precision: InheritableVariable<usize>,
}
Expand description

Scroll bar is used to represent a value on a finite range. It has a thumb that shows the current value on on the bar. Usually it is used in pair with crate::scroll_panel::ScrollPanel to create something like crate::scroll_viewer::ScrollViewer widget. However, it could also be used to create sliders to show some value that lies within some range.

§Example

A simple example of how to create a new ScrollBar could be something like this:

fn create_scroll_bar(ctx: &mut BuildContext) -> Handle<UiNode> {
    ScrollBarBuilder::new(WidgetBuilder::new())
        .with_min(0.0)
        .with_max(200.0)
        .with_value(123.0)
        .build(ctx)
}

It creates a horizontal scroll bar with 123.0 value and a range of [0.0..200.0]. To fetch the new value of the scroll bar, use ScrollBarMessage::Value message:

if message.destination() == scroll_bar
    && message.direction() == MessageDirection::FromWidget
{
    if let Some(ScrollBarMessage::Value(value)) = message.data() {
        println!("{}", value);
    }
}

Please note, that you need to explicitly filter messages by MessageDirection::FromWidget, because it’s the only direction that is used as an “indicator” that the value was accepted by the scroll bar.

§Orientation

Scroll bar could be either horizontal (default) or vertical. You can select the orientation when building a scroll bar using ScrollBarBuilder::with_orientation method and provide a desired value from Orientation enum there.

§Show values

By default, scroll bar does not show its actual value, you can turn it on using ScrollBarBuilder::show_value method with true as the first argument. To change rounding of the value, use ScrollBarBuilder::with_value_precision and provide the desired amount of decimal places there.

§Step

Scroll bar provides arrows to change the current value using a fixed step value. You can change it using ScrollBarBuilder::with_step method.

Fields§

§widget: Widget

Base widget of the scroll bar.

§min: InheritableVariable<f32>

Min value of the scroll bar.

§max: InheritableVariable<f32>

Max value of the scroll bar.

§value: InheritableVariable<f32>

Current value of the scroll bar.

§step: InheritableVariable<f32>

Step of the scroll bar.

§orientation: InheritableVariable<Orientation>

Current orientation of the scroll bar.

§is_dragging: bool

Internal flag, that could be used to check whether the scroll bar’s thumb is being dragged or not.

§offset: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Internal mouse offset that is used for dragging purposes.

§increase: InheritableVariable<Handle<UiNode>>

A handle of the increase button.

§decrease: InheritableVariable<Handle<UiNode>>

A handle of the decrease button.

§indicator: InheritableVariable<Handle<UiNode>>

A handle of the indicator (thumb).

§indicator_canvas: InheritableVariable<Handle<UiNode>>

A handle of the canvas that is used for the thumb.

§value_text: InheritableVariable<Handle<UiNode>>

A handle of the crate::text::Text widget that is used to show the current value of the scroll bar.

§value_precision: InheritableVariable<usize>

Current value precison in decimal places.

Implementations§

Source§

impl ScrollBar

Source

pub const WIDGET: &'static str = "widget"

Source

pub const MIN: &'static str = "min"

Source

pub const MAX: &'static str = "max"

Source

pub const VALUE: &'static str = "value"

Source

pub const STEP: &'static str = "step"

Source

pub const ORIENTATION: &'static str = "orientation"

Source

pub const IS_DRAGGING: &'static str = "is_dragging"

Source

pub const OFFSET: &'static str = "offset"

Source

pub const INCREASE: &'static str = "increase"

Source

pub const DECREASE: &'static str = "decrease"

Source

pub const INDICATOR: &'static str = "indicator"

Source

pub const INDICATOR_CANVAS: &'static str = "indicator_canvas"

Source

pub const VALUE_TEXT: &'static str = "value_text"

Source

pub const VALUE_PRECISION: &'static str = "value_precision"

Methods from Deref<Target = Widget>§

Source

pub const NAME: &'static str = "name"

Source

pub const DESIRED_LOCAL_POSITION: &'static str = "desired_local_position"

Source

pub const WIDTH: &'static str = "width"

Source

pub const HEIGHT: &'static str = "height"

Source

pub const MIN_SIZE: &'static str = "min_size"

Source

pub const MAX_SIZE: &'static str = "max_size"

Source

pub const BACKGROUND: &'static str = "background"

Source

pub const FOREGROUND: &'static str = "foreground"

Source

pub const ROW: &'static str = "row"

Source

pub const COLUMN: &'static str = "column"

Source

pub const VERTICAL_ALIGNMENT: &'static str = "vertical_alignment"

Source

pub const HORIZONTAL_ALIGNMENT: &'static str = "horizontal_alignment"

Source

pub const MARGIN: &'static str = "margin"

Source

pub const VISIBILITY: &'static str = "visibility"

Source

pub const HIT_TEST_VISIBILITY: &'static str = "hit_test_visibility"

Source

pub const Z_INDEX: &'static str = "z_index"

Source

pub const ALLOW_DRAG: &'static str = "allow_drag"

Source

pub const ALLOW_DROP: &'static str = "allow_drop"

Source

pub const DRAW_ON_TOP: &'static str = "draw_on_top"

Source

pub const ENABLED: &'static str = "enabled"

Source

pub const CURSOR: &'static str = "cursor"

Source

pub const OPACITY: &'static str = "opacity"

Source

pub const TOOLTIP: &'static str = "tooltip"

Source

pub const TOOLTIP_TIME: &'static str = "tooltip_time"

Source

pub const CONTEXT_MENU: &'static str = "context_menu"

Source

pub const CLIP_TO_BOUNDS: &'static str = "clip_to_bounds"

Source

pub const PREVIEW_MESSAGES: &'static str = "preview_messages"

Source

pub const HANDLE_OS_EVENTS: &'static str = "handle_os_events"

Source

pub const TAB_INDEX: &'static str = "tab_index"

Source

pub const TAB_STOP: &'static str = "tab_stop"

Source

pub const NEED_UPDATE: &'static str = "need_update"

Source

pub const IGNORE_LAYOUT_ROUNDING: &'static str = "ignore_layout_rounding"

Source

pub const ACCEPTS_INPUT: &'static str = "accepts_input"

Source

pub const ID: &'static str = "id"

Source

pub const RESOURCE: &'static str = "resource"

Source

pub fn handle(&self) -> Handle<UiNode>

Returns self handle of the widget.

Source

pub fn name(&self) -> &str

Returns the name of the widget.

Source

pub fn set_name<P>(&mut self, name: P) -> &mut Widget
where P: AsRef<str>,

Sets the new name of the widget.

Source

pub fn actual_local_size( &self, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Returns the actual size of the widget after the full layout cycle.

Source

pub fn actual_initial_size( &self, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Returns size of the widget without any layout or rendering transform applied.

Source

pub fn actual_global_size( &self, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Returns the actual global size of the widget after the full layout cycle.

Source

pub fn set_min_size( &mut self, value: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, ) -> &mut Widget

Sets the new minimum size of the widget.

Source

pub fn set_min_width(&mut self, value: f32) -> &mut Widget

Sets the new minimum width of the widget.

Source

pub fn set_min_height(&mut self, value: f32) -> &mut Widget

Sets the new minimum height of the widget.

Source

pub fn min_size( &self, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Sets the new minimum size of the widget.

Source

pub fn min_width(&self) -> f32

Returns the minimum width of the widget.

Source

pub fn min_height(&self) -> f32

Returns the minimum height of the widget.

Source

pub fn is_drag_allowed(&self) -> bool

Return true if the dragging of the widget is allowed, false - otherwise.

Source

pub fn is_drop_allowed(&self) -> bool

Return true if the dropping of other widgets is allowed on this widget, false - otherwise.

Source

pub fn screen_to_local( &self, point: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

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.

Source

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.

Source

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.

Source

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.

Source

pub fn is_hit_test_visible(&self) -> bool

Returns true if the widget is able to participate in hit testing, false - otherwise.

Source

pub fn set_max_size( &mut self, value: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, ) -> &mut Widget

Sets the new maximum size of the widget.

Source

pub fn max_size( &self, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Returns current maximum size of the widget.

Source

pub fn max_width(&self) -> f32

Returns maximum width of the widget.

Source

pub fn max_height(&self) -> f32

Return maximum height of the widget.

Source

pub fn set_z_index(&mut self, z_index: usize) -> &mut Widget

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.

Source

pub fn z_index(&self) -> usize

Returns current Z index of the widget.

Source

pub fn set_background(&mut self, brush: Brush) -> &mut Widget

Sets the new background of the widget.

Source

pub fn background(&self) -> Brush

Returns current background of the widget.

Source

pub fn set_foreground(&mut self, brush: Brush) -> &mut Widget

Sets new foreground of the widget.

Source

pub fn foreground(&self) -> Brush

Returns current foreground of the widget.

Source

pub fn set_width(&mut self, width: f32) -> &mut Widget

Sets new width of the widget.

Source

pub fn width(&self) -> f32

Returns current width of the widget.

Source

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.

Source

pub fn set_height(&mut self, height: f32) -> &mut Widget

Sets new height of the widget.

Source

pub fn height(&self) -> f32

Returns current height of the widget.

Source

pub fn set_desired_local_position( &mut self, pos: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, ) -> &mut Widget

Sets the desired local position of the widget.

Source

pub fn screen_position( &self, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Returns current screen-space position of the widget.

Source

pub fn children(&self) -> &[Handle<UiNode>]

Returns a reference to the slice with the children widgets of this widget.

Source

pub fn parent(&self) -> Handle<UiNode>

Returns current parent handle of the widget.

Source

pub fn set_column(&mut self, column: usize) -> &mut Widget

Sets new column of the widget. Columns are used only by crate::grid::Grid widget.

Source

pub fn column(&self) -> usize

Returns current column of the widget. Columns are used only by crate::grid::Grid widget.

Source

pub fn set_row(&mut self, row: usize) -> &mut Widget

Sets new row of the widget. Rows are used only by crate::grid::Grid widget.

Source

pub fn row(&self) -> usize

Returns current row of the widget. Rows are used only by crate::grid::Grid widget.

Source

pub fn desired_size( &self, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Returns the desired size of the widget.

Source

pub fn desired_local_position( &self, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Returns current desired local position of the widget.

Source

pub fn screen_bounds(&self) -> Rect<f32>

Returns current screen-space bounds of the widget.

Source

pub fn bounding_rect(&self) -> Rect<f32>

Returns local-space bounding rect of the widget.

Source

pub fn visual_transform( &self, ) -> &Matrix<f32, Const<3>, Const<3>, ArrayStorage<f32, 3, 3>>

Returns current visual transform of the widget.

Source

pub fn visual_scaling( &self, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Returns scaling along both axes.

Source

pub fn visual_max_scaling(&self) -> f32

Returns max uniform scaling of both axes.

Source

pub fn render_transform( &self, ) -> &Matrix<f32, Const<3>, Const<3>, ArrayStorage<f32, 3, 3>>

Returns current render transform of the widget.

Source

pub fn layout_transform( &self, ) -> &Matrix<f32, Const<3>, Const<3>, ArrayStorage<f32, 3, 3>>

Returns current layout transform of the widget.

Source

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.

Source

pub fn find_by_criteria_up<Func>( &self, ui: &UserInterface, func: Func, ) -> Handle<UiNode>
where Func: Fn(&UiNode) -> bool,

Searches a node up on tree starting from the given root that matches a criteria defined by the given func.

Source

pub fn handle_routed_message( &mut self, ui: &mut UserInterface, msg: &mut UiMessage, )

Handles incoming WidgetMessages. This method must be called in crate::control::Control::handle_routed_message of any derived widgets!

Source

pub fn set_vertical_alignment( &mut self, vertical_alignment: VerticalAlignment, ) -> &mut Widget

Sets new vertical alignment of the widget.

Source

pub fn vertical_alignment(&self) -> VerticalAlignment

Returns current vertical alignment of the widget.

Source

pub fn set_horizontal_alignment( &mut self, horizontal_alignment: HorizontalAlignment, ) -> &mut Widget

Sets new horizontal alignment of the widget.

Source

pub fn horizontal_alignment(&self) -> HorizontalAlignment

Returns current horizontal alignment of the widget.

Source

pub fn set_margin(&mut self, margin: Thickness) -> &mut Widget

Sets new margin of the widget.

Source

pub fn margin(&self) -> Thickness

Returns current margin of the widget.

Source

pub fn measure_override( &self, ui: &UserInterface, available_size: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

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.

Source

pub fn arrange_override( &self, ui: &UserInterface, final_size: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

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.

Source

pub fn is_arrange_valid(&self) -> bool

Returns true if the current results of arrangement of the widget are valid, false - otherwise.

Source

pub fn is_measure_valid(&self) -> bool

Returns true if the current results of measurement of the widget are valid, false - otherwise.

Source

pub fn actual_local_position( &self, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Returns current actual local position of the widget. It is valid only after layout pass!

Source

pub fn center(&self) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

Returns center point of the widget. It is valid only after layout pass!

Source

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.

Source

pub fn set_visibility(&mut self, visibility: bool) -> &mut Widget

Sets new visibility of the widget.

Source

pub fn request_update_visibility(&self)

Requests (via event queue, so the request is deferred) the update of the visibility of the widget.

Source

pub fn visibility(&self) -> bool

Returns current visibility of the widget.

Source

pub fn set_enabled(&mut self, enabled: bool) -> &mut Widget

Enables or disables the widget. Disabled widgets does not interact with user and usually greyed out.

Source

pub fn enabled(&self) -> bool

Returns true if the widget if enabled, false - otherwise.

Source

pub fn set_cursor(&mut self, cursor: Option<CursorIcon>)

Sets new cursor of the widget.

Source

pub fn cursor(&self) -> Option<CursorIcon>

Returns current cursor of the widget.

Source

pub fn user_data_cloned<T>(&self) -> Option<T>
where T: Clone + 'static,

Tries to fetch user-defined data of the specified type T.

Source

pub fn clip_bounds(&self) -> Rect<f32>

Returns current clipping bounds of the widget. It is valid only after at least one layout pass.

Source

pub fn set_opacity(&mut self, opacity: Option<f32>) -> &mut Widget

Set new opacity of the widget. Opacity should be in [0.0..1.0] range.

Source

pub fn opacity(&self) -> Option<f32>

Returns current opacity of the widget.

Source

pub fn tooltip(&self) -> Option<RcUiNodeHandle>

Returns current tooltip handle of the widget.

Source

pub fn set_tooltip(&mut self, tooltip: Option<RcUiNodeHandle>) -> &mut Widget

Sets new tooltip handle of the widget (if any).

Source

pub fn tooltip_time(&self) -> f32

Returns maximum available time to show the tooltip after the cursor was moved away from the widget.

Source

pub fn set_tooltip_time(&mut self, tooltip_time: f32) -> &mut Widget

Set the maximum available time to show the tooltip after the cursor was moved away from the widget.

Source

pub fn context_menu(&self) -> Option<RcUiNodeHandle>

Returns current context menu of the widget.

Source

pub fn set_context_menu( &mut self, context_menu: Option<RcUiNodeHandle>, ) -> &mut Widget

The context menu receives PopupMessages for being displayed, and so should support those.

Trait Implementations§

Source§

impl Clone for ScrollBar

Source§

fn clone(&self) -> ScrollBar

Returns a duplicate 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 ComponentProvider for ScrollBar

Source§

fn query_component_ref(&self, type_id: TypeId) -> Option<&(dyn Any + 'static)>

Allows an object to provide access to inner components.
Source§

fn query_component_mut( &mut self, type_id: TypeId, ) -> Option<&mut (dyn Any + 'static)>

Allows an object to provide access to inner components.
Source§

impl ConstructorProvider<UiNode, UserInterface> for ScrollBar

Source§

impl Control for ScrollBar

Source§

fn arrange_override( &self, ui: &UserInterface, final_size: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

This method is used to override arrangement step of the layout system. Arrangement step is used to commit the final location and size of the widget in local coordinates. It is done after the measurement step; when all desired sizes of every widget is known. This fact allows you to calculate final location and size of every child widget, based in their desired size. Usually this method is used in some panel widgets, that takes their children and arranges them in some specific way. For example, it may stack widgets on top of each other, or put them in a line with wrapping, etc. Read more
Source§

fn handle_routed_message( &mut self, ui: &mut UserInterface, message: &mut UiMessage, )

Performs event-specific actions. Must call widget.handle_message()! Read more
Source§

fn on_remove(&self, sender: &Sender<UiMessage>)

This method will be called before the widget is destroyed (dropped). At the moment, when this method is called, the widget is still in the widget graph and can be accessed via handles. It is guaranteed to be called once, and only if the widget is deleted via crate::widget::WidgetMessage::remove.
Source§

fn measure_override( &self, ui: &UserInterface, available_size: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, ) -> Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>

This method is used to override measurement step of the layout system. It should return desired size of the widget (how many space it wants to occupy). Read more
Source§

fn draw(&self, drawing_context: &mut DrawingContext)

This method is used to emit drawing commands that will be used later to draw your widget on screen. Keep in mind that any emitted geometry (quads, lines, text, etc), will be used to perform hit test. In other words, all the emitted geometry will make your widget “clickable”. Widgets with no geometry emitted by this method are mouse input transparent. Read more
Source§

fn on_visual_transform_changed(&self)

Source§

fn post_draw(&self, drawing_context: &mut DrawingContext)

The same as Self::draw, but it runs after all descendant widgets are rendered.
Source§

fn update(&mut self, dt: f32, ui: &mut UserInterface)

This method is called every frame and can be used to update internal variables of the widget, that can be used to animated your widget. Its main difference from other methods, is that it does not provide access to any other widget in the UI. Instead, you can only send messages to widgets to force them to change their state. Read more
Source§

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 more
Source§

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 more
Source§

impl Debug for ScrollBar

Source§

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

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

impl Default for ScrollBar

Source§

fn default() -> ScrollBar

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

impl DerefMut for ScrollBar

Source§

fn deref_mut(&mut self) -> &mut <ScrollBar as Deref>::Target

Mutably dereferences the value.
Source§

impl Reflect for ScrollBar

Source§

fn source_path() -> &'static str

Source§

fn type_name(&self) -> &'static str

Source§

fn doc(&self) -> &'static str

Source§

fn assembly_name(&self) -> &'static str

Returns a parent assembly name of the type that implements this trait. WARNING: You should use proc-macro (#[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

Returns a parent assembly name of the type that implements this trait. WARNING: You should use proc-macro (#[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 fields_info(&self, func: &mut dyn FnMut(&[FieldInfo<'_, '_>]))

Source§

fn into_any(self: Box<ScrollBar>) -> Box<dyn Any>

Source§

fn set( &mut self, value: Box<dyn Reflect>, ) -> Result<Box<dyn Reflect>, Box<dyn Reflect>>

Source§

fn as_any(&self, func: &mut dyn FnMut(&(dyn Any + 'static)))

Source§

fn as_any_mut(&mut self, func: &mut dyn FnMut(&mut (dyn Any + 'static)))

Source§

fn as_reflect(&self, func: &mut dyn FnMut(&(dyn Reflect + 'static)))

Source§

fn as_reflect_mut(&mut self, func: &mut dyn FnMut(&mut (dyn Reflect + 'static)))

Source§

fn fields(&self, func: &mut dyn FnMut(&[&(dyn Reflect + 'static)]))

Source§

fn fields_mut( &mut self, func: &mut dyn FnMut(&mut [&mut (dyn Reflect + 'static)]), )

Source§

fn field( &self, name: &str, func: &mut dyn FnMut(Option<&(dyn Reflect + 'static)>), )

Source§

fn field_mut( &mut self, name: &str, func: &mut dyn FnMut(Option<&mut (dyn Reflect + 'static)>), )

Source§

fn set_field( &mut self, field: &str, value: Box<dyn Reflect>, func: &mut dyn FnMut(Result<Box<dyn Reflect>, Box<dyn Reflect>>), )

Calls user method specified with #[reflect(setter = ..)] or falls back to Reflect::field_mut
Source§

fn as_array(&self, func: &mut dyn FnMut(Option<&(dyn ReflectArray + 'static)>))

Source§

fn as_array_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectArray + 'static)>), )

Source§

fn as_list(&self, func: &mut dyn FnMut(Option<&(dyn ReflectList + 'static)>))

Source§

fn as_list_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectList + 'static)>), )

Source§

fn as_inheritable_variable( &self, func: &mut dyn FnMut(Option<&(dyn ReflectInheritableVariable + 'static)>), )

Source§

fn as_inheritable_variable_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectInheritableVariable + 'static)>), )

Source§

fn as_hash_map( &self, func: &mut dyn FnMut(Option<&(dyn ReflectHashMap + 'static)>), )

Source§

fn as_hash_map_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectHashMap + 'static)>), )

Source§

impl TypeUuidProvider for ScrollBar

Source§

fn type_uuid() -> Uuid

Return type UUID.
Source§

impl Visit for ScrollBar

Source§

fn visit(&mut self, name: &str, visitor: &mut Visitor) -> Result<(), VisitError>

Read or write this value, depending on whether Visitor::is_reading() is true or false. Read more
Source§

impl Deref for ScrollBar

Source§

type Target = Widget

The resulting type after dereferencing.
Source§

fn deref(&self) -> &<ScrollBar as Deref>::Target

Dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

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> AsyncTaskResult for T
where T: Any + Send + 'static,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Source§

impl<T> BaseControl for T
where T: Any + Clone + 'static + Control + TypeUuidProvider,

Source§

fn clone_boxed(&self) -> Box<dyn Control<Target = Widget>>

Returns the exact copy of the widget in “type-erased” form.
Source§

fn type_name(&self) -> &'static str

Returns type name of the widget.
Source§

fn id(&self) -> Uuid

Source§

fn self_size(&self) -> usize

Returns total amount of memory used by this widget (in bytes), in other words it returns size_of::<WidgetType>().
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> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &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 T
where T: Any,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts self reference as a reference to Any. Could be used to downcast a trait object to a particular type.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts self reference as a reference to Any. Could be used to downcast a trait object to a particular type.
Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Source§

impl<T> FieldValue for T
where T: 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Casts self to a &dyn Any
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<R> GetField for R
where R: Reflect,

Source§

fn get_field<T>(&self, name: &str, func: &mut dyn FnMut(Option<&T>))
where T: 'static,

Source§

fn get_field_mut<T>(&mut self, name: &str, func: &mut dyn FnMut(Option<&mut T>))
where T: 'static,

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
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> ReflectBase for T
where T: Reflect,

Source§

fn as_any_raw(&self) -> &(dyn Any + 'static)

Source§

fn as_any_raw_mut(&mut self) -> &mut (dyn Any + 'static)

Source§

impl<T> ResolvePath for T
where T: Reflect,

Source§

fn resolve_path<'p>( &self, path: &'p str, func: &mut dyn FnMut(Result<&(dyn Reflect + 'static), ReflectPathError<'p>>), )

Source§

fn resolve_path_mut<'p>( &mut self, path: &'p str, func: &mut dyn FnMut(Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>), )

Source§

fn get_resolve_path<'p, T>( &self, path: &'p str, func: &mut dyn FnMut(Result<&T, ReflectPathError<'p>>), )
where T: Reflect,

Source§

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<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ScriptMessagePayload for T
where T: 'static + Send + Debug,

Source§

fn as_any_ref(&self) -> &(dyn Any + 'static)

Returns self as &dyn Any
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Returns self as &dyn Any
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> Value for T
where T: Reflect + Clone + Debug + Send,

Source§

fn clone_box(&self) -> Box<dyn Value>

Source§

fn into_box_reflect(self: Box<T>) -> Box<dyn Reflect>

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> CollectionItem for T
where T: Clone + Reflect + Debug + Default + TypeUuidProvider + Send + 'static,

Source§

impl<T> InspectableEnum for T
where T: Debug + Reflect + Clone + TypeUuidProvider + Send + 'static,