Skip to main content

VSplitter

Struct VSplitter 

Source
pub struct VSplitter { /* private fields */ }

Implementations§

Source§

impl VSplitter

Source

pub fn new<T>(pos: T, layout: Layout, resize_behavior: ResizeBehavior) -> Self
where 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 resized
  • ResizeBehavior::PreserveLeftPanelSize - the size of the left panel is preserved when the splitter is resized
  • ResizeBehavior::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"));
Source

pub fn add<T>(&mut self, panel: Panel, control: T) -> Handle<T>
where T: Control + NotWindow + NotDesktop + 'static,

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"));   
Source

pub fn set_min_width<T>(&mut self, panel: Panel, min_size: T)
where Dimension: From<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);
Source

pub fn position(&self) -> i32

Returns the absolute position of the splitter (in characters)

Source

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

Source

pub fn size(&self) -> Size

Returns the size of a control

Source

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.

Source

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.

Source

pub fn position(&self) -> Point

Returns the relatove position (x,y) of the current control to its parent.

Source

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.

Source

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.

Source

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 button
Source

pub fn set_components_toolbar_margins(&mut self, left: u8, top: u8)

Source

pub fn expanded_size(&self) -> Size

Source

pub fn request_focus(&mut self) -> bool

A control can use this method to request focus

Source

pub fn timer(&mut self) -> Option<&mut Timer>

Source

pub fn is_visible(&self) -> bool

Returns true if the current control is visible or false otherwise

Source

pub fn is_enabled(&self) -> bool

Returns true if the current control is enabled or false otherwise

Source

pub fn is_active(&self) -> bool

Returns true if the current control is active (enabled and visible at the same time) or false otherwise

Source

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.

Source

pub fn has_focus(&self) -> bool

Returns true if the current control has the focus or false otherwise

Source

pub fn is_mouse_over(&self) -> bool

Returns true if the mouse cursor is over the current control or false otherwise

Source

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.

Source

pub fn set_hotkey<T>(&mut self, hotkey: T)
where Key: From<T>,

Sets the hot-key associated with a control. Use Key::None to clear an existing hotkey

Source

pub fn hotkey(&self) -> Key

Returns the hotkey associated to a control or Key::None otherwise.

Source

pub fn raise_custom_event(&self, class_hash: u64, event_id: u32)

Source

pub fn request_update(&self)

Source

pub fn register_menu(&mut self, menu: Menu) -> Handle<Menu>

Source

pub fn show_menu( &self, handle: Handle<Menu>, x: i32, y: i32, max_size: Option<Size>, )

Source

pub fn menuitem<T>( &self, menu_handle: Handle<Menu>, menuitem_handle: Handle<T>, ) -> Option<&T>
where T: MenuItem,

Source

pub fn menuitem_mut<T>( &mut self, menu_handle: Handle<Menu>, menuitem_handle: Handle<T>, ) -> Option<&mut T>
where T: MenuItem,

Source

pub fn appbar(&mut self) -> &mut AppBar

Source

pub fn theme(&self) -> &Theme

Source

pub fn update_layout(&mut self, layout: Layout)

Updates the layout of the current control

Trait Implementations§

Source§

impl AccordionEvents for VSplitter

Source§

fn on_panel_changed( &mut self, _handle: Handle<Accordion>, _new_panel_index: u32, _old_panel_index: u32, ) -> EventProcessStatus

Source§

impl AppBarEvents for VSplitter

Source§

fn on_button_click(&mut self, _button: Handle<Button>)

Called when a button is clicked. Read more
Source§

fn on_togglebutton_state_changed( &mut self, _togglebutton: Handle<ToggleButton>, _selected: bool, )

Called when a toggle button’s state changes. Read more
Source§

fn on_switchbutton_state_changed( &mut self, _switchbutton: Handle<SwitchButton>, _selected: bool, )

Called when a switch button’s state changes. Read more
Source§

fn on_update(&self, _appbar: &mut AppBar)

Called when the app bar needs to be updated. By default, all items are hidden and whenever the focus changes, the AppCUI framework hides all items and starts from the focus control and moves to its parent and calls this method. In this method you should call appbar.show(…) method to show the items you want to show. Read more
Source§

impl ButtonEvents for VSplitter

Source§

impl CharPickerEvents for VSplitter

Source§

fn on_char_changed( &mut self, _handle: Handle<CharPicker>, _code: Option<char>, ) -> EventProcessStatus

Source§

impl CheckBoxEvents for VSplitter

Source§

fn on_status_changed( &mut self, _handle: Handle<CheckBox>, _checked: bool, ) -> EventProcessStatus

Source§

impl ColorPickerEvents for VSplitter

Source§

fn on_color_changed( &mut self, _handle: Handle<ColorPicker>, _color: Color, ) -> EventProcessStatus

Source§

impl ComboBoxEvents for VSplitter

Source§

impl Control for VSplitter

Source§

impl CustomEvents for VSplitter

Source§

fn on_event( &mut self, _handle: Handle<()>, _class_hash: u64, _event_id: u32, ) -> EventProcessStatus

Source§

impl DatePickerEvents for VSplitter

Source§

impl Deref for VSplitter

Source§

type Target = ControlBase

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl DerefMut for VSplitter

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl DesktopEvents for VSplitter

Source§

fn on_start(&mut self)

Source§

fn on_close(&mut self) -> ActionRequest

Source§

fn on_update_window_count(&mut self, _count: usize)

Source§

impl GenericBackgroundTaskEvents for VSplitter

Source§

fn on_start(&mut self, _handle: Handle<()>) -> EventProcessStatus

Source§

fn on_update(&mut self, _handle: Handle<()>) -> EventProcessStatus

Source§

fn on_finish(&mut self, _handle: Handle<()>) -> EventProcessStatus

Source§

fn on_query(&mut self, _handle: Handle<()>) -> EventProcessStatus

Source§

impl GenericCommandBarEvents for VSplitter

Source§

fn on_update_commandbar(&self, _commandbar: &mut CommandBar)

Source§

fn on_event(&mut self, _command_id: u32)

Source§

impl GenericDropDownListEvents for VSplitter

Source§

fn on_selection_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus

Source§

impl GenericGraphViewEvents for VSplitter

Source§

fn on_current_node_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus

Source§

fn on_node_action( &mut self, _handle: Handle<()>, _type_id: TypeId, _node_index: usize, ) -> EventProcessStatus

Source§

fn on_request_new_node( &mut self, _handle: Handle<()>, _type_id: TypeId, _p: Point, ) -> EventProcessStatus

Source§

fn on_request_new_edge( &mut self, _handle: Handle<()>, _type_id: TypeId, _from: u32, _to: u32, ) -> EventProcessStatus

Source§

fn on_selection_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus

Source§

impl GenericListViewEvents for VSplitter

Source§

fn on_current_item_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus

Source§

fn on_group_collapsed( &mut self, _handle: Handle<()>, _type_id: TypeId, _group: Group, ) -> EventProcessStatus

Source§

fn on_group_expanded( &mut self, _handle: Handle<()>, _type_id: TypeId, _group: Group, ) -> EventProcessStatus

Source§

fn on_selection_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus

Source§

fn on_item_action( &mut self, _handle: Handle<()>, _type_id: TypeId, _index: usize, ) -> EventProcessStatus

Source§

impl GenericMenuEvents for VSplitter

Source§

fn on_menu_open(&self, _menu: &mut Menu)

Called when a menu is about to be opened. Read more
Source§

fn on_command( &mut self, _menu: Handle<Menu>, _item: Handle<Command>, _command: u32, )

Called when a command menu item is activated. Read more
Source§

fn on_check( &mut self, _menu: Handle<Menu>, _item: Handle<CheckBox>, _command: u32, _checked: bool, )

Called when a checkbox menu item’s state changes. Read more
Source§

fn on_select( &mut self, _menu: Handle<Menu>, _item: Handle<SingleChoice>, _command: u32, )

Called when a single choice menu item is selected. Read more
Source§

impl GenericNumericSelectorEvents for VSplitter

Source§

fn on_value_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus

Source§

impl GenericSelectorEvents for VSplitter

Source§

fn on_selection_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus

Source§

impl GenericTreeViewEvents for VSplitter

Source§

fn on_current_item_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, _current_item: Handle<()>, ) -> EventProcessStatus

Source§

fn on_item_collapsed( &mut self, _handle: Handle<()>, _type_id: TypeId, _item: Handle<()>, _recursive: bool, ) -> EventProcessStatus

Source§

fn on_item_expanded( &mut self, _handle: Handle<()>, _type_id: TypeId, _item: Handle<()>, _recursive: bool, ) -> EventProcessStatus

Source§

fn on_selection_changed( &mut self, _handle: Handle<()>, _type_id: TypeId, ) -> EventProcessStatus

Source§

fn on_item_action( &mut self, _handle: Handle<()>, _type_id: TypeId, _current_item: Handle<()>, ) -> EventProcessStatus

Source§

impl KeySelectorEvents for VSplitter

Source§

fn on_key_changed( &mut self, _handle: Handle<KeySelector>, _new_key: Key, _old_key: Key, ) -> EventProcessStatus

Source§

impl ListBoxEvents for VSplitter

Source§

fn on_current_item_changed( &mut self, _handle: Handle<ListBox>, _index: usize, ) -> EventProcessStatus

Source§

fn on_item_checked( &mut self, _handle: Handle<ListBox>, _index: usize, _checked: bool, ) -> EventProcessStatus

Source§

impl MarkdownEvents for VSplitter

Source§

impl NotDesktop for VSplitter

Source§

impl NotWindow for VSplitter

Source§

impl OnDefaultAction for VSplitter

Source§

impl OnExpand for VSplitter

Source§

fn on_expand(&mut self, _direction: ExpandedDirection)

Source§

fn on_pack(&mut self)

Source§

impl OnFocus for VSplitter

Source§

fn on_focus(&mut self)

Source§

fn on_lose_focus(&mut self)

Source§

impl OnKeyPressed for VSplitter

Source§

fn on_key_pressed(&mut self, key: Key, _character: char) -> EventProcessStatus

Source§

impl OnMouseEvent for VSplitter

Source§

impl OnPaint for VSplitter

Source§

fn on_paint(&self, surface: &mut Surface, theme: &Theme)

Source§

impl OnResize for VSplitter

Source§

fn on_resize(&mut self, old_size: Size, new_size: Size)

Source§

impl OnSiblingSelected for VSplitter

Source§

fn on_sibling_selected(&mut self, _handle: Handle<()>)

Source§

impl OnThemeChanged for VSplitter

Source§

fn on_theme_changed(&mut self, _theme: &Theme)

Source§

impl OnWindowRegistered for VSplitter

Source§

fn on_registered(&mut self)

Source§

impl PasswordEvents for VSplitter

Source§

impl PathFinderEvents for VSplitter

Source§

impl RadioBoxEvents for VSplitter

Source§

impl RichTextFieldEvents for VSplitter

Source§

impl TabEvents for VSplitter

Source§

fn on_tab_changed( &mut self, _handle: Handle<Tab>, _new_tab_index: u32, _old_tabl_index: u32, ) -> EventProcessStatus

Source§

impl TextFieldEvents for VSplitter

Source§

fn on_validate( &mut self, _handle: Handle<TextField>, _text: &str, ) -> EventProcessStatus

Source§

fn on_text_changed(&mut self, _handle: Handle<TextField>) -> EventProcessStatus

Source§

impl ThreeStateBoxEvents for VSplitter

Source§

impl TimePickerEvents for VSplitter

Source§

impl TimerEvents for VSplitter

Source§

fn on_start(&mut self) -> EventProcessStatus

Source§

fn on_resume(&mut self, _ticks: u64) -> EventProcessStatus

Source§

fn on_pause(&mut self, _ticks: u64) -> EventProcessStatus

Source§

fn on_update(&mut self, _ticks: u64) -> EventProcessStatus

Source§

impl ToggleButtonEvents for VSplitter

Source§

fn on_selection_changed( &mut self, _handle: Handle<ToggleButton>, _selected: bool, ) -> EventProcessStatus

Source§

impl ToolBarEvents for VSplitter

Source§

fn on_button_clicked(&mut self, _handle: Handle<Button>) -> EventProcessStatus

Called when a toolbar button is clicked. Read more
Source§

fn on_checkbox_clicked( &mut self, _handle: Handle<CheckBox>, _checked: bool, ) -> EventProcessStatus

Called when a toolbar checkbox is clicked, changing its checked state. Read more
Source§

fn on_choice_selected( &mut self, _handle: Handle<SingleChoice>, ) -> EventProcessStatus

Called when a toolbar single choice item is selected. Read more
Source§

impl WindowEvents for VSplitter

Source§

fn on_layout_changed(&mut self, _old_layout: Rect, _new_layout: Rect)

Source§

fn on_activate(&mut self)

called whenver the window receives focus
Source§

fn on_deactivate(&mut self)

called whenever the window loses focus.
Source§

fn on_accept(&mut self)

called whenever the ENTER key is intercepted by the Window For modal windows the behavior should be to use .exit_with(...) method to exit. for a regular (non-modal) window this callback is never called)
Source§

fn on_cancel(&mut self) -> ActionRequest

called whenever the ESC key is interpreted by the Window Read more

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> 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> 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> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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