[−][src]Struct native_windows_gui::GridLayout
A layout that lays out widgets in a grid NWG layouts use interior mutability to manage their controls.
A GridLayouts has the following properties:
- margin - The top, right, bottom, left margins of the layout - (default: [5, 5, 5, 5])
- spacing - The spacing between children controls - (default: 5)
- min_size - The minimum size of the layout - (default: [0, 0])
- max_size - The maximum size of the layout - (default: [u32::max_value(), u32::max_value()])
- max_column - Number of columns - (default: None),
- max_row - Number of rows - (default: None),
use native_windows_gui as nwg;
fn layout(layout: &nwg::GridLayout, window: &nwg::Window, item1: &nwg::Button, item2: &nwg::Button) {
nwg::GridLayout::builder()
.parent(window)
.max_row(Some(6))
.spacing(5)
.margin([0,0,0,0])
.child(0, 0, item1)
.child_item(nwg::GridLayoutItem::new(item2, 1, 0, 2, 1))
.build(&layout);
}Implementations
impl GridLayout[src]
pub fn builder() -> GridLayoutBuilder[src]
pub fn add_child<W: Into<ControlHandle>>(&self, col: u32, row: u32, c: W)[src]
Add a children control to the grid layout.
This is a simplified interface over add_child_item
Panic:
- If the layout was not yet initialized
- If the control is not window-like (HWND handle)
pub fn add_child_item(&self, i: GridLayoutItem)[src]
Add a children control to the grid layout.
Panic: - If the layout was not yet initialized - If the control is not window-like (HWND handle)
pub fn remove_child<W: Into<ControlHandle>>(&self, c: W)[src]
Remove the children control in the layout. See also remove_child_by_pos.
Note that the child control won't be hidden after being removed from the control.
Panic:
- If the layout was not yet initialized
- If the control is not in the layout (see
has_child)
pub fn remove_child_by_pos<W: Into<ControlHandle>>(&self, col: u32, row: u32)[src]
Remove the children control in the layout. See also remove_child_by_pos.
Note that the child control won't be hidden after being removed from the control.
This method won't do anything if there is no control at the specified position.
Panic:
- If the layout was not yet initialized
pub fn has_child<W: Into<ControlHandle>>(&self, c: W) -> bool[src]
Check if a window control is a children of the layout
Panic:
- If the layout was not yet initialized
- If the control is not in the layout (see
has_child)
pub fn resize(&self, w: u32, h: u32)[src]
Resize the layout as if the parent window had the specified size.
Arguments: w: New width of the layout h: New height of the layout
Panic:
- The layout must have been successfully built otherwise this function will panic.
pub fn fit(&self)[src]
Resize the layout to fit the parent window size
Panic:
- The layout must have been successfully built otherwise this function will panic.
pub fn margin(&self, m: [u32; 4])[src]
Set the margins of the layout. The four values are in this order: top, right, bottom, left.
pub fn spacing(&self, sp: u32)[src]
Set the size of the space between the children in the layout. Default value is 5.
pub fn min_size(&self, sz: [u32; 2])[src]
Sets the minimum size of the layout
pub fn max_size(&self, sz: [u32; 2])[src]
Sets the maximum size of the layout
pub fn max_column(&self, count: Option<u32>)[src]
Set the number of column in the layout
pub fn max_row(&self, count: Option<u32>)[src]
Set the number of row in the layout
Trait Implementations
impl Clone for GridLayout[src]
fn clone(&self) -> GridLayout[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Default for GridLayout[src]
fn default() -> GridLayout[src]
Auto Trait Implementations
impl !RefUnwindSafe for GridLayout
impl !Send for GridLayout
impl !Sync for GridLayout
impl Unpin for GridLayout
impl !UnwindSafe for GridLayout
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,