Skip to content
Snippets Groups Projects
grid.rs 3.36 KiB
Newer Older
Florian Blasius's avatar
Florian Blasius committed
widget!(MainView);

impl Widget for MainView {
Florian Blasius's avatar
Florian Blasius committed
    fn create() -> Self {
        MainView::new()
            .child(
                Grid::create()
                    .columns(
                        Columns::create()
                            .column("*")
                            .column("Auto")
                            .column(50.0)
                            .build(),
                    )
                    .rows(Rows::create().row("*").row("*").build())
                    .child(
                        Grid::create()
                            .selector("lynch")
                            .margin((10.0, 0.0, 0.0, 4.0))
Florian Blasius's avatar
Florian Blasius committed
                            .attach(GridColumn(0))
                            .child(
                                TextBlock::create()
                                    .text("(0,0)")
                                    .horizontal_alignment("Center")
                                    .vertical_alignment("Center"),
                            ),
                    )
                    .child(
                        Grid::create()
                            .selector("bluebayoux")
                            .margin(10.0)
Florian Blasius's avatar
Florian Blasius committed
                            .constraint(Constraint::create().width(150.0).build())
Florian Blasius's avatar
Florian Blasius committed
                            .attach(GridColumn(1))
                            .child(
                                TextBlock::create()
                                    .text("(1,0)")
                                    .horizontal_alignment("Center")
                                    .vertical_alignment("Center"),
                            ),
                    )
                    .child(
                        Grid::create()
                            .selector("linkwater")
Florian Blasius's avatar
Florian Blasius committed
                            .attach(GridColumn(2))
                            .child(
                                TextBlock::create()
                                    .text("(2,0)")
                                    .selector("linkwater")
                                    .horizontal_alignment("Center")
                                    .vertical_alignment("Center"),
                            ),
                    )
                    .child(
                        Grid::create()
                            .selector("goldendream")
Florian Blasius's avatar
Florian Blasius committed
                            .attach(GridColumn(0))
                            .attach(GridRow(1))
                            .attach(ColumnSpan(3))
                            .child(
                                TextBlock::create()
                                    .text("(0,1) - ColumnSpan 3")
                                    .selector("goldendream")
                                    .horizontal_alignment(HorizontalAlignment(Alignment::Center))
                                    .vertical_alignment(VerticalAlignment(Alignment::Center)),
    }
}

fn main() {
    let mut application = Application::default();
    application
        .create_window()
        .bounds((100.0, 100.0, 420.0, 730.0))
Florian Blasius's avatar
Florian Blasius committed
        .title("OrbTk - grid example")
        .root(MainView::create())
        .theme(
                .extension_path("examples/res/grid.css")
Florian Blasius's avatar
Florian Blasius committed
        .resizable(true)
        .build();
    application.run();
}