Struct Grid

Source
pub struct Grid { /* private fields */ }
Expand description

Fltk’s grid widget

Implementations§

Source§

impl Grid

Source

pub fn set_layout_ext(&mut self, rows: i32, cols: i32, margin: i32, gap: i32)

Set the layout of the grid, along with the margin and gap

Source

pub fn set_layout(&mut self, rows: i32, cols: i32)

Set the layout of the grid

Examples found in repository?
examples/form.rs (line 15)
13    pub fn default() -> Self {
14        let mut grid = Grid::default_fill();
15        grid.set_layout(10, 5); // construct a new grid
16        let name = input::Input::default();
17        let age = input::IntInput::default();
18        let occupation = input::Input::default();
19        let btn = button::Button::default().with_label("Submit");
20        let mut g = Self {
21            grid,
22            name,
23            age,
24            occupation,
25            btn,
26        };
27        g.fill();
28        g
29    }
More examples
Hide additional examples
examples/simple.rs (line 9)
4fn main() {
5    let a = app::App::default().with_scheme(app::Scheme::Gtk);
6    let mut win = window::Window::default().with_size(500, 300);
7    let mut grid = Grid::default_fill();
8    grid.show_grid(false); // set to true to show cell outlines and numbers
9    grid.set_layout(5, 5); // 5 rows, 5 columns
10    grid.set_widget(&mut button::Button::default(), 0, 1).unwrap(); // widget, row, col
11    grid.set_widget(&mut button::Button::default(), 2..3, 1..4).unwrap(); // widget, row range, col range
12                                                             // or
13                                                            //  grid.set_widget_ext(&mut button::Button::default(), 2, 1, 1, 3, GridAlign::FILL).unwrap(); // widget, row, col, row_span, col_span
14    grid.end();
15    win.end();
16    win.show();
17    a.run().unwrap();
18    dbg!(grid.children());
19}
examples/grid_in_grid.rs (line 17)
14    pub fn default() -> Self {
15        let mut grid = Grid::default();
16        grid.show_grid(true);
17        grid.set_layout(6, 1);
18        let mut label = frame::Frame::default().with_label("ARTERY:");
19
20        let mut cb1 = button::CheckButton::default().with_label("Normal");
21        let mut cb2 = button::CheckButton::default().with_label("Normal");
22
23        let cbvec = vec![cb1.clone(), cb2.clone()];
24
25        let mut btn = button::Button::default().with_label("Submit");
26        grid.set_widget(&mut label, 0, 0).unwrap();
27        grid.set_widget(&mut cb1, 1, 0).unwrap();
28        grid.set_widget(&mut cb2, 2, 0).unwrap();
29        grid.set_widget(&mut btn, 5, 0).unwrap();
30        btn.set_callback(move |_btn| {
31            for cb in cbvec.clone() {
32                println!(
33                    "CB status: {}",
34                    if cb.is_checked() {
35                        "Checked"
36                    } else {
37                        "Not_checked"
38                    }
39                );
40            }
41            println!("--------------");
42        });
43        grid.end();
44        Panel {
45            grid,
46            label,
47            cb1,
48            cb2,
49            btn,
50        }
51    } // end default fn;
52} // end impl Panel;
53
54fltk::widget_extends!(Panel, Grid, grid);
55
56fn main() {
57    let a = app::App::default();
58    let mut win = window::Window::default().with_size(800, 600);
59    let mut grid = Grid::default_fill();
60    grid.show_grid(true);
61    grid.set_layout(1, 2);
62    let mut panel1 = Panel::default();
63    let mut panel2 = Panel::default();
64    grid.set_widget(&mut *panel1, 0, 0).unwrap();
65    grid.set_widget(&mut *panel2, 0, 1).unwrap();
66    grid.end();
67    win.end();
68    win.make_resizable(true);
69    win.show();
70
71    a.run().unwrap();
72}
Source

pub fn layout(&mut self)

Layout the grid

Source

pub fn clear_layout(&mut self)

Clear the layout

Source

pub fn set_need_layout(&mut self, set: bool)

Set whether the Grid needs layout

Source

pub fn need_layout(&self) -> bool

Get whether the Grid needs layout

Source

pub fn set_margin(&mut self, left: i32, top: i32, right: i32, bottom: i32)

Set the grid’s margin

Source

pub fn set_gap(&mut self, row_gap: i32, col_gap: i32)

Set the grid’s gap

Source

pub fn set_widget_<W>( &mut self, wi: &mut W, row: i32, col: i32, align: GridAlign, ) -> *mut ()
where W: WidgetExt,

Set the widget at row/column and alignment

Source

pub fn set_widget<W>( &mut self, widget: &mut W, row: impl Into<GridRange>, col: impl Into<GridRange>, ) -> Result<(), FltkError>
where W: 'static + Clone + WidgetExt,

Set the widget at row/column using ranges

Examples found in repository?
examples/simple.rs (line 10)
4fn main() {
5    let a = app::App::default().with_scheme(app::Scheme::Gtk);
6    let mut win = window::Window::default().with_size(500, 300);
7    let mut grid = Grid::default_fill();
8    grid.show_grid(false); // set to true to show cell outlines and numbers
9    grid.set_layout(5, 5); // 5 rows, 5 columns
10    grid.set_widget(&mut button::Button::default(), 0, 1).unwrap(); // widget, row, col
11    grid.set_widget(&mut button::Button::default(), 2..3, 1..4).unwrap(); // widget, row range, col range
12                                                             // or
13                                                            //  grid.set_widget_ext(&mut button::Button::default(), 2, 1, 1, 3, GridAlign::FILL).unwrap(); // widget, row, col, row_span, col_span
14    grid.end();
15    win.end();
16    win.show();
17    a.run().unwrap();
18    dbg!(grid.children());
19}
More examples
Hide additional examples
examples/form.rs (lines 38-42)
31    fn fill(&mut self) {
32        let grid = &mut self.grid;
33        grid.show_grid(false); // set to true to see cell outlines
34        let mut title = frame::Frame::default().with_label("Employee Form");
35        title.set_frame(enums::FrameType::FlatBox);
36        title.set_color(enums::Color::Red);
37        title.set_label_color(enums::Color::White);
38        grid.set_widget(
39            &mut title,
40            0,
41            1..4,
42        ).unwrap();
43        grid.set_widget(&mut frame::Frame::default().with_label("Name"), 2, 1).unwrap();
44        grid.set_widget(&mut self.name, 2, 3).unwrap();
45        grid.set_widget(&mut frame::Frame::default().with_label("Age"), 4, 1).unwrap();
46        grid.set_widget(&mut self.age, 4, 3).unwrap();
47        grid.set_widget(&mut frame::Frame::default().with_label("Occupation"), 6, 1).unwrap();
48        grid.set_widget(&mut self.occupation, 6, 3).unwrap();
49        grid.set_widget(&mut self.btn, 8, 2).unwrap();
50    }
examples/grid_in_grid.rs (line 26)
14    pub fn default() -> Self {
15        let mut grid = Grid::default();
16        grid.show_grid(true);
17        grid.set_layout(6, 1);
18        let mut label = frame::Frame::default().with_label("ARTERY:");
19
20        let mut cb1 = button::CheckButton::default().with_label("Normal");
21        let mut cb2 = button::CheckButton::default().with_label("Normal");
22
23        let cbvec = vec![cb1.clone(), cb2.clone()];
24
25        let mut btn = button::Button::default().with_label("Submit");
26        grid.set_widget(&mut label, 0, 0).unwrap();
27        grid.set_widget(&mut cb1, 1, 0).unwrap();
28        grid.set_widget(&mut cb2, 2, 0).unwrap();
29        grid.set_widget(&mut btn, 5, 0).unwrap();
30        btn.set_callback(move |_btn| {
31            for cb in cbvec.clone() {
32                println!(
33                    "CB status: {}",
34                    if cb.is_checked() {
35                        "Checked"
36                    } else {
37                        "Not_checked"
38                    }
39                );
40            }
41            println!("--------------");
42        });
43        grid.end();
44        Panel {
45            grid,
46            label,
47            cb1,
48            cb2,
49            btn,
50        }
51    } // end default fn;
52} // end impl Panel;
53
54fltk::widget_extends!(Panel, Grid, grid);
55
56fn main() {
57    let a = app::App::default();
58    let mut win = window::Window::default().with_size(800, 600);
59    let mut grid = Grid::default_fill();
60    grid.show_grid(true);
61    grid.set_layout(1, 2);
62    let mut panel1 = Panel::default();
63    let mut panel2 = Panel::default();
64    grid.set_widget(&mut *panel1, 0, 0).unwrap();
65    grid.set_widget(&mut *panel2, 0, 1).unwrap();
66    grid.end();
67    win.end();
68    win.make_resizable(true);
69    win.show();
70
71    a.run().unwrap();
72}
Source

pub fn set_widget_ext<W>( &mut self, widget: &mut W, row: impl Into<GridRange>, col: impl Into<GridRange>, align: GridAlign, ) -> Result<(), FltkError>
where W: 'static + Clone + WidgetExt,

Set the widget at row/column using ranges along with the alignment

Source

pub fn set_col_width(&mut self, col: i32, value: i32)

Set the column width

Source

pub fn set_col_weight(&mut self, col: i32, value: i32)

Set the column weight

Source

pub fn set_col_gap(&mut self, col: i32, value: i32)

Set the column gap

Source

pub fn set_row_height(&mut self, row: i32, value: i32)

Set the row height

Source

pub fn set_row_weight(&mut self, row: i32, value: i32)

Set the row weight

Source

pub fn set_row_gap(&mut self, row: i32, value: i32)

Set the row gap

Source

pub fn show_grid(&mut self, set: bool)

Show the grid

Examples found in repository?
examples/simple.rs (line 8)
4fn main() {
5    let a = app::App::default().with_scheme(app::Scheme::Gtk);
6    let mut win = window::Window::default().with_size(500, 300);
7    let mut grid = Grid::default_fill();
8    grid.show_grid(false); // set to true to show cell outlines and numbers
9    grid.set_layout(5, 5); // 5 rows, 5 columns
10    grid.set_widget(&mut button::Button::default(), 0, 1).unwrap(); // widget, row, col
11    grid.set_widget(&mut button::Button::default(), 2..3, 1..4).unwrap(); // widget, row range, col range
12                                                             // or
13                                                            //  grid.set_widget_ext(&mut button::Button::default(), 2, 1, 1, 3, GridAlign::FILL).unwrap(); // widget, row, col, row_span, col_span
14    grid.end();
15    win.end();
16    win.show();
17    a.run().unwrap();
18    dbg!(grid.children());
19}
More examples
Hide additional examples
examples/form.rs (line 33)
31    fn fill(&mut self) {
32        let grid = &mut self.grid;
33        grid.show_grid(false); // set to true to see cell outlines
34        let mut title = frame::Frame::default().with_label("Employee Form");
35        title.set_frame(enums::FrameType::FlatBox);
36        title.set_color(enums::Color::Red);
37        title.set_label_color(enums::Color::White);
38        grid.set_widget(
39            &mut title,
40            0,
41            1..4,
42        ).unwrap();
43        grid.set_widget(&mut frame::Frame::default().with_label("Name"), 2, 1).unwrap();
44        grid.set_widget(&mut self.name, 2, 3).unwrap();
45        grid.set_widget(&mut frame::Frame::default().with_label("Age"), 4, 1).unwrap();
46        grid.set_widget(&mut self.age, 4, 3).unwrap();
47        grid.set_widget(&mut frame::Frame::default().with_label("Occupation"), 6, 1).unwrap();
48        grid.set_widget(&mut self.occupation, 6, 3).unwrap();
49        grid.set_widget(&mut self.btn, 8, 2).unwrap();
50    }
examples/grid_in_grid.rs (line 16)
14    pub fn default() -> Self {
15        let mut grid = Grid::default();
16        grid.show_grid(true);
17        grid.set_layout(6, 1);
18        let mut label = frame::Frame::default().with_label("ARTERY:");
19
20        let mut cb1 = button::CheckButton::default().with_label("Normal");
21        let mut cb2 = button::CheckButton::default().with_label("Normal");
22
23        let cbvec = vec![cb1.clone(), cb2.clone()];
24
25        let mut btn = button::Button::default().with_label("Submit");
26        grid.set_widget(&mut label, 0, 0).unwrap();
27        grid.set_widget(&mut cb1, 1, 0).unwrap();
28        grid.set_widget(&mut cb2, 2, 0).unwrap();
29        grid.set_widget(&mut btn, 5, 0).unwrap();
30        btn.set_callback(move |_btn| {
31            for cb in cbvec.clone() {
32                println!(
33                    "CB status: {}",
34                    if cb.is_checked() {
35                        "Checked"
36                    } else {
37                        "Not_checked"
38                    }
39                );
40            }
41            println!("--------------");
42        });
43        grid.end();
44        Panel {
45            grid,
46            label,
47            cb1,
48            cb2,
49            btn,
50        }
51    } // end default fn;
52} // end impl Panel;
53
54fltk::widget_extends!(Panel, Grid, grid);
55
56fn main() {
57    let a = app::App::default();
58    let mut win = window::Window::default().with_size(800, 600);
59    let mut grid = Grid::default_fill();
60    grid.show_grid(true);
61    grid.set_layout(1, 2);
62    let mut panel1 = Panel::default();
63    let mut panel2 = Panel::default();
64    grid.set_widget(&mut *panel1, 0, 0).unwrap();
65    grid.set_widget(&mut *panel2, 0, 1).unwrap();
66    grid.end();
67    win.end();
68    win.make_resizable(true);
69    win.show();
70
71    a.run().unwrap();
72}
Source

pub fn show_grid_with_color(&mut self, set: bool, col: Color)

Show the grid with a certain color

Source

pub fn debug(&mut self, level: i32)

Debug the grid

Trait Implementations§

Source§

impl Clone for Grid

Source§

fn clone(&self) -> Grid

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Grid

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for Grid

Source§

fn default() -> Grid

Returns the “default value” for a type. Read more
Source§

impl GroupExt for Grid

Source§

fn begin(&self)

Begins a group, used for widgets implementing the group trait
Source§

fn end(&self)

Ends a group, used for widgets implementing the group trait
Source§

fn clear(&mut self)

Clear a group from all widgets
Source§

fn children(&self) -> i32

Return the number of children in a group
Source§

fn child(&self, idx: i32) -> Option<Widget>

Return child widget by index
Source§

fn find<W>(&self, widget: &W) -> i32
where W: WidgetExt,

Find a widget within a group and return its index
Source§

fn add<W>(&mut self, widget: &W)
where W: WidgetExt,

Add a widget to a group
Source§

fn insert<W>(&mut self, widget: &W, index: i32)
where W: WidgetExt,

Insert a widget to a group at a certain index
Source§

fn remove<W>(&mut self, widget: &W)
where W: WidgetExt,

Remove a widget from a group, but does not delete it
Source§

fn remove_by_index(&mut self, idx: i32)

Remove a child widget by its index
Source§

fn resizable<W>(&self, widget: &W)
where W: WidgetExt,

The resizable widget defines both the resizing frame and the resizing behavior of the group and its children.
Source§

fn make_resizable(&mut self, val: bool)

Make the group itself resizable, should be called before the widget is shown
Source§

fn add_resizable<W>(&mut self, widget: &W)
where W: WidgetExt,

Adds a widget to the group and makes it the resizable widget
Source§

fn set_clip_children(&mut self, flag: bool)

Clips children outside the group boundaries
Source§

fn clip_children(&self) -> bool

Get whether clip_children is set
Source§

fn draw_child<W>(&self, w: &mut W)
where W: WidgetExt,

Draw a child widget, the call should be in a WidgetBase::draw method
Source§

fn update_child<W>(&self, w: &mut W)
where W: WidgetExt,

Update a child widget, the call should be in a WidgetBase::draw method
Source§

fn draw_outside_label<W>(&self, w: &mut W)
where W: WidgetExt,

Draw the outside label, the call should be in a WidgetBase::draw method
Source§

fn draw_children(&mut self)

Draw children, the call should be in a WidgetBase::draw method
Source§

fn init_sizes(&mut self)

Resets the internal array of widget sizes and positions
Source§

fn bounds(&self) -> Vec<(i32, i32, i32, i32)>

Get the bounds of all children widgets (left, upper, right, bottom)
Source§

unsafe fn into_group(&self) -> Group

Converts a widget implementing GroupExt into a Group widget Read more
Source§

impl IntoIterator for Grid

Source§

type Item = Widget

The type of the elements being iterated over.
Source§

type IntoIter = IntoIter<<Grid as IntoIterator>::Item>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> <Grid as IntoIterator>::IntoIter

Creates an iterator from a value. Read more
Source§

impl PartialEq for Grid

Source§

fn eq(&self, other: &Grid) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl WidgetBase for Grid

Source§

fn new<'a, T>(x: i32, y: i32, width: i32, height: i32, title: T) -> Grid
where T: Into<Option<&'a str>>,

Creates a new widget, takes an x, y coordinates, as well as a width and height, plus a title Read more
Source§

fn default_fill() -> Grid

Constructs a widget with the size of its parent
Source§

fn delete(wid: Grid)

Deletes widgets and their children.
Source§

unsafe fn from_widget_ptr(ptr: *mut Fl_Widget) -> Grid

transforms a widget pointer to a Widget, for internal use Read more
Source§

unsafe fn from_widget<W>(w: W) -> Grid
where W: WidgetExt,

Get a widget from base widget Read more
Source§

fn handle<F>(&mut self, cb: F)
where F: FnMut(&mut Grid, Event) -> bool + 'static,

Set a custom handler, where events are managed manually, akin to Fl_Widget::handle(int). Handled or ignored events should return true, unhandled events should return false. takes the widget as a closure argument. The ability to handle an event might depend on handling other events, as explained here
Source§

fn draw<F>(&mut self, cb: F)
where F: FnMut(&mut Grid) + 'static,

Set a custom draw method. takes the widget as a closure argument. macOS requires that WidgetBase::draw actually calls drawing functions
Source§

fn resize_callback<F>(&mut self, cb: F)
where F: FnMut(&mut Grid, i32, i32, i32, i32) + 'static,

Perform a callback on resize. Avoid resizing the parent or the same widget to avoid infinite recursion
Source§

unsafe fn assume_derived(&mut self)

Makes the widget derived Read more
Source§

fn from_dyn_widget<W>(w: &W) -> Option<Grid>
where W: WidgetExt,

Cast a type-erased widget back to its original widget
Source§

fn from_dyn_widget_ptr(w: *mut Fl_Widget) -> Option<Grid>

Cast a type-erased widget pointer back to its original widget
Source§

impl WidgetExt for Grid

Source§

fn center_x<W>(self, w: &W) -> Grid
where W: WidgetExt,

Initialize center of another widget

Source§

fn center_y<W>(self, w: &W) -> Grid
where W: WidgetExt,

Initialize center of another widget

Source§

fn with_pos(self, x: i32, y: i32) -> Grid

Initialize to a position x, y
Source§

fn with_size(self, width: i32, height: i32) -> Grid

Initialize to size width, height
Source§

fn with_label(self, title: &str) -> Grid

Initialize with a label
Source§

fn with_align(self, align: Align) -> Grid

Initialize with alignment
Source§

fn with_type<T>(self, typ: T) -> Grid
where T: WidgetType,

Initialize with type
Source§

fn below_of<W>(self, wid: &W, padding: i32) -> Grid
where W: WidgetExt,

Initialize at bottom of another widget
Source§

fn above_of<W>(self, wid: &W, padding: i32) -> Grid
where W: WidgetExt,

Initialize above of another widget
Source§

fn right_of<W>(self, wid: &W, padding: i32) -> Grid
where W: WidgetExt,

Initialize right of another widget
Source§

fn left_of<W>(self, wid: &W, padding: i32) -> Grid
where W: WidgetExt,

Initialize left of another widget
Source§

fn center_of<W>(self, w: &W) -> Grid
where W: WidgetExt,

Initialize center of another widget
Source§

fn center_of_parent(self) -> Grid

Initialize center of parent
Source§

fn size_of<W>(self, w: &W) -> Grid
where W: WidgetExt,

Initialize to the size of another widget
Source§

fn size_of_parent(self) -> Grid

Initialize to the size of the parent
Source§

fn set_pos(&mut self, x: i32, y: i32)

Set to position x, y
Source§

fn set_size(&mut self, width: i32, height: i32)

Set to dimensions width and height
Source§

fn set_label(&mut self, title: &str)

Sets the widget’s label. labels support special symbols preceded by an @ sign. and for the associated formatting.
Source§

fn redraw(&mut self)

Redraws a widget, necessary for resizing and changing positions
Source§

fn show(&mut self)

Shows the widget
Source§

fn hide(&mut self)

Hides the widget
Source§

fn x(&self) -> i32

Returns the x coordinate of the widget
Source§

fn y(&self) -> i32

Returns the y coordinate of the widget
Source§

fn width(&self) -> i32

Returns the width of the widget
Source§

fn height(&self) -> i32

Returns the height of the widget
Source§

fn w(&self) -> i32

Returns the width of the widget
Source§

fn h(&self) -> i32

Returns the height of the widget
Source§

fn label(&self) -> String

Returns the label of the widget
Source§

fn measure_label(&self) -> (i32, i32)

Measures the label’s width and height
Source§

fn as_widget_ptr(&self) -> *mut Fl_Widget

transforms a widget to a base Fl_Widget, for internal use
Source§

fn activate(&mut self)

Activates the widget
Source§

fn deactivate(&mut self)

Deactivates the widget
Source§

fn redraw_label(&mut self)

Redraws the label of the widget
Source§

fn resize(&mut self, x: i32, y: i32, width: i32, height: i32)

Resizes and/or moves the widget, takes x, y, width and height
Source§

fn widget_resize(&mut self, x: i32, y: i32, width: i32, height: i32)

Does a simple resize ignoring class-specific resize functionality
Source§

fn tooltip(&self) -> Option<String>

Returns the tooltip text
Source§

fn set_tooltip(&mut self, txt: &str)

Sets the tooltip text
Source§

fn color(&self) -> Color

Returns the widget color
Source§

fn set_color(&mut self, color: Color)

Sets the widget’s color
Source§

fn label_color(&self) -> Color

Returns the widget label’s color
Source§

fn set_label_color(&mut self, color: Color)

Sets the widget label’s color
Source§

fn label_font(&self) -> Font

Returns the widget label’s font
Source§

fn set_label_font(&mut self, font: Font)

Sets the widget label’s font
Source§

fn label_size(&self) -> i32

Returns the widget label’s size
Source§

fn set_label_size(&mut self, sz: i32)

Sets the widget label’s size
Source§

fn label_type(&self) -> LabelType

Returns the widget label’s type
Source§

fn set_label_type(&mut self, typ: LabelType)

Sets the widget label’s type
Source§

fn frame(&self) -> FrameType

Returns the widget’s frame type
Source§

fn set_frame(&mut self, typ: FrameType)

Sets the widget’s frame type
Source§

fn changed(&self) -> bool

Returns whether the widget was changed
Source§

fn set_changed(&mut self)

Mark the widget as changed
Source§

fn clear_changed(&mut self)

Clears the changed status of the widget
Source§

fn align(&self) -> Align

Returns the alignment of the widget
Source§

fn set_align(&mut self, align: Align)

Sets the alignment of the widget
Source§

fn set_trigger(&mut self, trigger: CallbackTrigger)

Sets the default callback trigger for a widget, equivalent to when()
Source§

fn trigger(&self) -> CallbackTrigger

Return the callback trigger, equivalent to when()
Source§

fn parent(&self) -> Option<Group>

Returns the parent of the widget
Source§

fn selection_color(&self) -> Color

Gets the selection color of the widget
Source§

fn set_selection_color(&mut self, color: Color)

Sets the selection color of the widget
Source§

fn do_callback(&mut self)

Runs the already registered callback
Source§

fn window(&self) -> Option<Box<dyn WindowExt>>

Returns the direct window holding the widget
Source§

fn top_window(&self) -> Option<Box<dyn WindowExt>>

Returns the topmost window holding the widget
Source§

fn takes_events(&self) -> bool

Checks whether a widget is capable of taking events
Source§

fn take_focus(&mut self) -> Result<(), FltkError>

Make the widget take focus Read more
Source§

fn set_visible_focus(&mut self)

Set the widget to have visible focus
Source§

fn clear_visible_focus(&mut self)

Clear visible focus
Source§

fn visible_focus(&mut self, v: bool)

Set the visible focus using a flag
Source§

fn has_visible_focus(&self) -> bool

Return whether the widget has visible focus
Source§

fn has_focus(&self) -> bool

Return whether the widget has focus
Source§

fn was_deleted(&self) -> bool

Check if a widget was deleted
Source§

fn damage(&self) -> bool

Return whether the widget was damaged
Source§

fn set_damage(&mut self, flag: bool)

Signal the widget as damaged and it should be redrawn in the next event loop cycle
Source§

fn damage_type(&self) -> Damage

Return the damage mask
Source§

fn set_damage_type(&mut self, mask: Damage)

Signal the type of damage a widget received
Source§

fn set_damage_area(&mut self, mask: Damage, x: i32, y: i32, w: i32, h: i32)

Signal damage for an area inside the widget
Source§

fn clear_damage(&mut self)

Clear the damaged flag
Source§

fn as_window(&self) -> Option<Box<dyn WindowExt>>

Return the widget as a window if it’s a window
Source§

fn as_group(&self) -> Option<Group>

Return the widget as a group widget if it’s a group widget
Source§

fn inside<W>(&self, wid: &W) -> bool
where W: WidgetExt,

Checks whether the self widget is inside another widget
Source§

fn get_type<T>(&self) -> T
where T: WidgetType,

Returns the widget type when applicable
Source§

fn set_type<T>(&mut self, typ: T)
where T: WidgetType,

Sets the widget type
Source§

fn set_image<I>(&mut self, image: Option<I>)
where I: ImageExt,

Sets the image of the widget
Source§

fn set_image_scaled<I>(&mut self, image: Option<I>)
where I: ImageExt,

Sets the image of the widget scaled to the widget’s size
Source§

fn image(&self) -> Option<Box<dyn ImageExt>>

Gets the image associated with the widget
Source§

unsafe fn image_mut(&self) -> Option<&mut Image>

Get a reference type of the widget’s image Read more
Source§

fn set_deimage<I>(&mut self, image: Option<I>)
where I: ImageExt,

Sets the deactivated image of the widget
Source§

fn set_deimage_scaled<I>(&mut self, image: Option<I>)
where I: ImageExt,

Sets the deactivated image of the widget scaled to the widget’s size
Source§

fn deimage(&self) -> Option<Box<dyn ImageExt>>

Gets the deactivated image associated with the widget
Source§

unsafe fn deimage_mut(&self) -> Option<&mut Image>

Get a reference type of the widget’s deactivated image Read more
Source§

fn set_callback<F>(&mut self, cb: F)
where F: FnMut(&mut Grid) + 'static,

Sets the callback when the widget is triggered (clicks for example) takes the widget as a closure argument
Source§

fn emit<T>(&mut self, sender: Sender<T>, msg: T)
where T: 'static + Clone + Send + Sync,

Emits a message on callback using a sender
Source§

unsafe fn into_widget<W>(&self) -> W
where W: WidgetBase,

Upcast a WidgetExt to some widget type Read more
Source§

fn visible(&self) -> bool

Returns whether a widget is visible
Source§

fn visible_r(&self) -> bool

Returns whether a widget or any of its parents are visible (recursively)
Source§

fn is_same<W>(&self, other: &W) -> bool
where W: WidgetExt,

Return whether two widgets object point to the same widget
Source§

fn active(&self) -> bool

Returns whether a widget is active
Source§

fn active_r(&self) -> bool

Returns whether a widget or any of its parents are active (recursively)
Source§

fn handle_event(&mut self, event: Event) -> bool

Handle a specific event
Source§

fn is_derived(&self) -> bool

Check whether a widget is derived
Source§

fn as_base_widget(&self) -> Widget
where Self: Sized,

Upcast a WidgetExt to a Widget
Source§

impl Eq for Grid

Source§

impl Send for Grid

Source§

impl Sync for Grid

Auto Trait Implementations§

§

impl Freeze for Grid

§

impl RefUnwindSafe for Grid

§

impl Unpin for Grid

§

impl UnwindSafe for Grid

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<W> WidgetId<W> for W
where W: WidgetExt + Send + Sync + Clone + 'static,

Source§

fn set_id(&mut self, id: &str)

Set the widget’s Id
Source§

fn with_id(self, id: &str) -> W

Construct a widget with an Id