pub struct VSplitter { /* private fields */ }Implementations§
Source§impl VSplitter
impl VSplitter
Sourcepub fn new<T>(pos: T, layout: Layout, resize_behavior: ResizeBehavior) -> Selfwhere
Coordinate: From<T>,
pub fn new<T>(pos: T, layout: Layout, resize_behavior: ResizeBehavior) -> Selfwhere
Coordinate: From<T>,
Creates a new Vertical Splitter control with the specified position, layout and resize behavior The position can be a percentage (e.g. a float value) or an absolute value (e.g. an unsigned value) The resize behavior can be one of the following values:
ResizeBehavior::PreserveAspectRatio- the aspect ratio of the panels is preserved when the splitter is resizedResizeBehavior::PreserveLeftPanelSize- the size of the left panel is preserved when the splitter is resizedResizeBehavior::PreserveRightPanelSize- the size of the right panel is preserved when the splitter is resized
§Example
use appcui::prelude::*;
let mut vs = VSplitter::new(0.5,layout!("d:f"),vsplitter::ResizeBehavior::PreserveRightPanelSize);
vs.add(vsplitter::Panel::Left,panel!("Left,l:1,r:1,t:1,b:1"));
vs.add(vsplitter::Panel::Right,panel!("Right,l:1,r:1,t:1,b:1"));Sourcepub fn add<T>(&mut self, panel: Panel, control: T) -> Handle<T>
pub fn add<T>(&mut self, panel: Panel, control: T) -> Handle<T>
Adds a new control to the specified panel of the splitter (left or right)
§Example
use appcui::prelude::*;
let mut vs = VSplitter::new(0.5,layout!("d:f"),vsplitter::ResizeBehavior::PreserveRightPanelSize);
vs.add(vsplitter::Panel::Left,button!("PressMe,x:1,y:1,w:12"));
vs.add(vsplitter::Panel::Right,button!("PressMe,x:1,y:1,w:12")); Sourcepub fn set_min_width<T>(&mut self, panel: Panel, min_size: T)
pub fn set_min_width<T>(&mut self, panel: Panel, min_size: T)
Sets the minimum width for the left or right panel The value can be a percentage (e.g. a float value) or an absolute value (e.g. an unsigned value)
§Example
use appcui::prelude::*;
let mut vs = VSplitter::new(0.5,layout!("d:f"),vsplitter::ResizeBehavior::PreserveRightPanelSize);
vs.add(vsplitter::Panel::Left,button!("PressMe,x:1,y:1,w:12"));
vs.add(vsplitter::Panel::Right,button!("PressMe,x:1,y:1,w:12"));
// minim 10 chars from left
vs.set_min_width(vsplitter::Panel::Left,10);
// minim 20% from right
vs.set_min_width(vsplitter::Panel::Right,0.2);Sourcepub fn set_position<T>(&mut self, pos: T)where
Coordinate: From<T>,
pub fn set_position<T>(&mut self, pos: T)where
Coordinate: From<T>,
Sets the position of the splitter. The value can be a percentage (e.g. a float value) or an absolute value (e.g. an unsigned value)
Methods from Deref<Target = ControlBase>§
Sourcepub fn client_size(&self) -> Size
pub fn client_size(&self) -> Size
Returns the client size of a control. In most cases it is the same as the size returned the method .get_size(). However, if the control has margins (for example in case of a Window) this size will be smaller.
Sourcepub fn set_size(&mut self, width: u16, height: u16)
pub fn set_size(&mut self, width: u16, height: u16)
Sets the new size for a control (to a specified size given by parameters width and height). Keep in mind that this method will change the existing layout to an a layout based on top-left corner (given by controls x and y coordonates) and the new provided size. Any dock or alignment properties will be removed.
This method has no effect on a Desktop control.
Sourcepub fn position(&self) -> Point
pub fn position(&self) -> Point
Returns the relatove position (x,y) of the current control to its parent.
Sourcepub fn set_position(&mut self, x: i32, y: i32)
pub fn set_position(&mut self, x: i32, y: i32)
Sets the new position for a control (to a specified coordonate given by parameters x and y). Keep in mind that this method will change the existing layout to an a layout based on top-left corner (given by coordonates x and y) and the controls current width and height. Any dock or alignment properties will be removed.
This method has no effect on a Desktop control.
Sourcepub fn set_enabled(&mut self, enabled: bool)
pub fn set_enabled(&mut self, enabled: bool)
Sets the enabled state of a control. This method has no effect on a Desktop or a Window control that will always be enabled.
Sourcepub fn set_visible(&mut self, visible: bool)
pub fn set_visible(&mut self, visible: bool)
Can be used to make a control visible or not. This method has no effect on the Desktop control that will always be visible.
§Examples
use appcui::prelude::*;
let mut button = button!("'Click me',x:1,y:1,w:15");
button.set_visible(false); // this will hide the buttonpub fn set_components_toolbar_margins(&mut self, left: u8, top: u8)
pub fn expanded_size(&self) -> Size
Sourcepub fn request_focus(&mut self) -> bool
pub fn request_focus(&mut self) -> bool
A control can use this method to request focus
pub fn timer(&mut self) -> Option<&mut Timer>
Sourcepub fn is_visible(&self) -> bool
pub fn is_visible(&self) -> bool
Returns true if the current control is visible or false otherwise
Sourcepub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
Returns true if the current control is enabled or false otherwise
Sourcepub fn is_active(&self) -> bool
pub fn is_active(&self) -> bool
Returns true if the current control is active (enabled and visible at the same time) or false otherwise
Sourcepub fn can_receive_input(&self) -> bool
pub fn can_receive_input(&self) -> bool
Returns true if the current control can receive focus or false otherwise. If the control is not visible or it is disable this function will return false.
Sourcepub fn has_focus(&self) -> bool
pub fn has_focus(&self) -> bool
Returns true if the current control has the focus or false otherwise
Sourcepub fn is_mouse_over(&self) -> bool
pub fn is_mouse_over(&self) -> bool
Returns true if the mouse cursor is over the current control or false otherwise
Sourcepub fn set_size_bounds(
&mut self,
min_width: u16,
min_height: u16,
max_width: u16,
max_height: u16,
)
pub fn set_size_bounds( &mut self, min_width: u16, min_height: u16, max_width: u16, max_height: u16, )
Sets the bounds (minim and maxim sized allowed for a control). If the size of a control is outside its bounds, its size will be adjusted automatically. This method has no effect on a Desktop control.
Sourcepub fn set_hotkey<T>(&mut self, hotkey: T)
pub fn set_hotkey<T>(&mut self, hotkey: T)
Sets the hot-key associated with a control. Use Key::None to clear an existing hotkey
pub fn raise_custom_event(&self, class_hash: u64, event_id: u32)
pub fn request_update(&self)
pub fn appbar(&mut self) -> &mut AppBar
pub fn theme(&self) -> &Theme
Sourcepub fn update_layout(&mut self, layout: Layout)
pub fn update_layout(&mut self, layout: Layout)
Updates the layout of the current control
Trait Implementations§
Source§impl AccordionEvents for VSplitter
impl AccordionEvents for VSplitter
fn on_panel_changed( &mut self, _handle: Handle<Accordion>, _new_panel_index: u32, _old_panel_index: u32, ) -> EventProcessStatus
Source§impl AppBarEvents for VSplitter
impl AppBarEvents for VSplitter
Source§fn on_update(&self, _appbar: &mut AppBar)
fn on_update(&self, _appbar: &mut AppBar)
Source§impl ButtonEvents for VSplitter
impl ButtonEvents for VSplitter
fn on_pressed(&mut self, _handle: Handle<Button>) -> EventProcessStatus
Source§impl CharPickerEvents for VSplitter
impl CharPickerEvents for VSplitter
fn on_char_changed( &mut self, _handle: Handle<CharPicker>, _code: Option<char>, ) -> EventProcessStatus
Source§impl CheckBoxEvents for VSplitter
impl CheckBoxEvents for VSplitter
fn on_status_changed( &mut self, _handle: Handle<CheckBox>, _checked: bool, ) -> EventProcessStatus
Source§impl ColorPickerEvents for VSplitter
impl ColorPickerEvents for VSplitter
fn on_color_changed( &mut self, _handle: Handle<ColorPicker>, _color: Color, ) -> EventProcessStatus
Source§impl ComboBoxEvents for VSplitter
impl ComboBoxEvents for VSplitter
fn on_selection_changed( &mut self, _handle: Handle<ComboBox>, ) -> EventProcessStatus
impl Control for VSplitter
Source§impl CustomEvents for VSplitter
impl CustomEvents for VSplitter
Source§impl DatePickerEvents for VSplitter
impl DatePickerEvents for VSplitter
fn on_date_changed( &mut self, _handle: Handle<DatePicker>, _date: NaiveDate, ) -> EventProcessStatus
Source§impl DesktopEvents for VSplitter
impl DesktopEvents for VSplitter
Source§impl GenericCommandBarEvents for VSplitter
impl GenericCommandBarEvents for VSplitter
fn on_update_commandbar(&self, _commandbar: &mut CommandBar)
fn on_event(&mut self, _command_id: u32)
Source§impl GenericDropDownListEvents for VSplitter
impl GenericDropDownListEvents for VSplitter
fn on_selection_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus
Source§impl GenericGraphViewEvents for VSplitter
impl GenericGraphViewEvents for VSplitter
fn on_current_node_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus
fn on_node_action( &mut self, _handle: Handle<()>, _type_id: TypeId, _node_index: usize, ) -> EventProcessStatus
fn on_request_new_node( &mut self, _handle: Handle<()>, _type_id: TypeId, _p: Point, ) -> EventProcessStatus
fn on_request_new_edge( &mut self, _handle: Handle<()>, _type_id: TypeId, _from: u32, _to: u32, ) -> EventProcessStatus
fn on_selection_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus
Source§impl GenericListViewEvents for VSplitter
impl GenericListViewEvents for VSplitter
fn on_current_item_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus
fn on_group_collapsed( &mut self, _handle: Handle<()>, _type_id: TypeId, _group: Group, ) -> EventProcessStatus
fn on_group_expanded( &mut self, _handle: Handle<()>, _type_id: TypeId, _group: Group, ) -> EventProcessStatus
fn on_selection_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus
fn on_item_action( &mut self, _handle: Handle<()>, _type_id: TypeId, _index: usize, ) -> EventProcessStatus
Source§impl GenericMenuEvents for VSplitter
impl GenericMenuEvents for VSplitter
Source§fn on_command(
&mut self,
_menu: Handle<Menu>,
_item: Handle<Command>,
_command: u32,
)
fn on_command( &mut self, _menu: Handle<Menu>, _item: Handle<Command>, _command: u32, )
Source§impl GenericNumericSelectorEvents for VSplitter
impl GenericNumericSelectorEvents for VSplitter
fn on_value_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus
Source§impl GenericSelectorEvents for VSplitter
impl GenericSelectorEvents for VSplitter
fn on_selection_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus
Source§impl GenericTreeViewEvents for VSplitter
impl GenericTreeViewEvents for VSplitter
fn on_current_item_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, _current_item: Handle<()>, ) -> EventProcessStatus
fn on_item_collapsed( &mut self, _handle: Handle<()>, _type_id: TypeId, _item: Handle<()>, _recursive: bool, ) -> EventProcessStatus
fn on_item_expanded( &mut self, _handle: Handle<()>, _type_id: TypeId, _item: Handle<()>, _recursive: bool, ) -> EventProcessStatus
fn on_selection_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus
fn on_item_action( &mut self, _handle: Handle<()>, _type_id: TypeId, _current_item: Handle<()>, ) -> EventProcessStatus
Source§impl KeySelectorEvents for VSplitter
impl KeySelectorEvents for VSplitter
fn on_key_changed( &mut self, _handle: Handle<KeySelector>, _new_key: Key, _old_key: Key, ) -> EventProcessStatus
Source§impl ListBoxEvents for VSplitter
impl ListBoxEvents for VSplitter
fn on_current_item_changed( &mut self, _handle: Handle<ListBox>, _index: usize, ) -> EventProcessStatus
fn on_item_checked( &mut self, _handle: Handle<ListBox>, _index: usize, _checked: bool, ) -> EventProcessStatus
Source§impl MarkdownEvents for VSplitter
impl MarkdownEvents for VSplitter
fn on_external_link( &mut self, _handle: Handle<Markdown>, _link: &str, ) -> EventProcessStatus
impl NotDesktop for VSplitter
impl NotWindow for VSplitter
Source§impl OnDefaultAction for VSplitter
impl OnDefaultAction for VSplitter
fn on_default_action(&mut self)
Source§impl OnKeyPressed for VSplitter
impl OnKeyPressed for VSplitter
fn on_key_pressed(&mut self, key: Key, _character: char) -> EventProcessStatus
Source§impl OnMouseEvent for VSplitter
impl OnMouseEvent for VSplitter
fn on_mouse_event(&mut self, event: &MouseEvent) -> EventProcessStatus
Source§impl OnSiblingSelected for VSplitter
impl OnSiblingSelected for VSplitter
fn on_sibling_selected(&mut self, _handle: Handle<()>)
Source§impl OnThemeChanged for VSplitter
impl OnThemeChanged for VSplitter
fn on_theme_changed(&mut self, _theme: &Theme)
Source§impl OnWindowRegistered for VSplitter
impl OnWindowRegistered for VSplitter
fn on_registered(&mut self)
Source§impl PasswordEvents for VSplitter
impl PasswordEvents for VSplitter
Source§impl PathFinderEvents for VSplitter
impl PathFinderEvents for VSplitter
fn on_path_updated(&mut self, _handle: Handle<PathFinder>) -> EventProcessStatus
Source§impl RadioBoxEvents for VSplitter
impl RadioBoxEvents for VSplitter
fn on_selected(&mut self, _handle: Handle<RadioBox>) -> EventProcessStatus
Source§impl RichTextFieldEvents for VSplitter
impl RichTextFieldEvents for VSplitter
fn on_validate( &mut self, _handle: Handle<RichTextField>, _text: &str, ) -> EventProcessStatus
fn on_text_changed( &mut self, _handle: Handle<RichTextField>, ) -> EventProcessStatus
Source§impl TabEvents for VSplitter
impl TabEvents for VSplitter
fn on_tab_changed( &mut self, _handle: Handle<Tab>, _new_tab_index: u32, _old_tabl_index: u32, ) -> EventProcessStatus
Source§impl TextFieldEvents for VSplitter
impl TextFieldEvents for VSplitter
fn on_validate( &mut self, _handle: Handle<TextField>, _text: &str, ) -> EventProcessStatus
fn on_text_changed(&mut self, _handle: Handle<TextField>) -> EventProcessStatus
Source§impl ThreeStateBoxEvents for VSplitter
impl ThreeStateBoxEvents for VSplitter
fn on_status_changed( &mut self, _handle: Handle<ThreeStateBox>, _state: State, ) -> EventProcessStatus
Source§impl TimePickerEvents for VSplitter
impl TimePickerEvents for VSplitter
fn on_time_changed( &mut self, _handle: Handle<TimePicker>, _time: NaiveTime, ) -> EventProcessStatus
Source§impl TimerEvents for VSplitter
impl TimerEvents for VSplitter
fn on_start(&mut self) -> EventProcessStatus
fn on_resume(&mut self, _ticks: u64) -> EventProcessStatus
fn on_pause(&mut self, _ticks: u64) -> EventProcessStatus
fn on_update(&mut self, _ticks: u64) -> EventProcessStatus
Source§impl ToggleButtonEvents for VSplitter
impl ToggleButtonEvents for VSplitter
fn on_selection_changed( &mut self, _handle: Handle<ToggleButton>, _selected: bool, ) -> EventProcessStatus
Source§impl ToolBarEvents for VSplitter
impl ToolBarEvents for VSplitter
Source§fn on_checkbox_clicked(
&mut self,
_handle: Handle<CheckBox>,
_checked: bool,
) -> EventProcessStatus
fn on_checkbox_clicked( &mut self, _handle: Handle<CheckBox>, _checked: bool, ) -> EventProcessStatus
Source§fn on_choice_selected(
&mut self,
_handle: Handle<SingleChoice>,
) -> EventProcessStatus
fn on_choice_selected( &mut self, _handle: Handle<SingleChoice>, ) -> EventProcessStatus
Source§impl WindowEvents for VSplitter
impl WindowEvents for VSplitter
fn on_layout_changed(&mut self, _old_layout: Rect, _new_layout: Rect)
Source§fn on_activate(&mut self)
fn on_activate(&mut self)
Source§fn on_deactivate(&mut self)
fn on_deactivate(&mut self)
Source§fn on_accept(&mut self)
fn on_accept(&mut self)
.exit_with(...) method to exit.
for a regular (non-modal) window this callback is never called)Source§fn on_cancel(&mut self) -> ActionRequest
fn on_cancel(&mut self) -> ActionRequest
Auto Trait Implementations§
impl Freeze for VSplitter
impl RefUnwindSafe for VSplitter
impl Send for VSplitter
impl Sync for VSplitter
impl Unpin for VSplitter
impl UnsafeUnpin for VSplitter
impl UnwindSafe for VSplitter
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
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.