[][src]Struct native_windows_gui::GridLayout

pub struct GridLayout { /* fields omitted */ }

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]

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]

impl Default for GridLayout[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.