[−][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 is not 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 is not 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.
This method won't do anything if there is no control at the specified position.
Panic:
- If the layout is not initialized
pub fn remove_child_by_pos(&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 is not initialized
pub fn move_child<W: Into<ControlHandle>>(&self, c: W, col: u32, row: u32)
[src]
Move the selected control to a new position in the grid layout. The old position
becomes empty (as if remove_child
was called). However it won't remove the control
at the new position if there is one.
This method won't do anything if there is no control at the specified position.
Panic:
- If the layout is not initialized
pub fn move_child_by_pos<W: Into<ControlHandle>>(
&self,
col: u32,
row: u32,
new_col: u32,
new_row: u32
)
[src]
&self,
col: u32,
row: u32,
new_col: u32,
new_row: u32
)
Move the selected control to a new position in the grid layout. The old position
becomes empty (as if remove_child
was called). However it won't remove the control
at the new position if there is one.
This method won't do anything if there is no control at the specified position.
Panic:
- If the layout is not 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 is not initialized
- If the child is not a window-like control
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]
pub 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
[src]
impl !Send for GridLayout
[src]
impl !Sync for GridLayout
[src]
impl Unpin for GridLayout
[src]
impl !UnwindSafe for GridLayout
[src]
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,
pub 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.
pub fn to_owned(&self) -> T
[src]
pub 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.
pub 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>,