# data file for the Fltk User Interface Designer (fluid)
version 1.0400
header_name {.h}
code_name {.cxx}
class UserInterface {open
} {
Function {make_window()} {open
} {
Fl_Window window {
label Sample open
xywh {321 208 400 300} type Double resizable visible
} {
Fl_Flex flex {open
xywh {0 0 400 300} type HORIZONTAL set_size_tuples {1 0 200 }
} {
Fl_Group group {open
xywh {0 0 200 300}
} {
Fl_Button button {
label button1 selected
xywh {10 10 180 25}
}
}
}
}
}
}
It generates
// Automatically generated by fl2rust
#![allow(unused_variables)]
#![allow(unused_mut)]
#![allow(unused_imports)]
#![allow(dead_code)]
#![allow(clippy::needless_update)]
use fltk::browser::*;
use fltk::button::*;
use fltk::dialog::*;
use fltk::enums::*;
use fltk::frame::*;
use fltk::group::*;
use fltk::image::*;
use fltk::input::*;
use fltk::menu::*;
use fltk::misc::*;
use fltk::output::*;
use fltk::prelude::*;
use fltk::table::*;
use fltk::text::*;
use fltk::tree::*;
use fltk::valuator::*;
use fltk::widget::*;
use fltk::window::*;
#[derive(Debug, Clone)]
pub struct UserInterface {
pub window: Window,
pub flex: Flex,
pub group: Group,
pub button: Button,
}
impl UserInterface {
pub fn make_window() -> Self {
let mut window = Window::new(321, 208, 400, 300, None);
window.set_label("Sample");
window.end();
window.set_type(WindowType::Double);
window.make_resizable(true);
window.show();
let mut flex = Flex::new(0, 0, 400, 300, None);
flex.end();
flex.set_type(FlexType::Row);
window.add(&flex);
let mut group = Group::new(0, 0, 200, 300, None);
group.end();
flex.add(&group);
let mut button = Button::new(10, 10, 180, 25, None);
button.set_label("button1");
group.add(&button);
flex.set_size(&flex.child(0).unwrap(), 200);
flex.recalc();
Self {
window,
Flex
group,
button,
}
}
}
I tried if flex.add(&group); generate after group.add(&button);, the result will be the same as in fuild:
// Automatically generated by fl2rust
#![allow(unused_variables)]
#![allow(unused_mut)]
#![allow(unused_imports)]
#![allow(dead_code)]
#![allow(clippy::needless_update)]
use fltk::browser::*;
use fltk::button::*;
use fltk::dialog::*;
use fltk::enums::*;
use fltk::frame::*;
use fltk::group::*;
use fltk::image::*;
use fltk::input::*;
use fltk::menu::*;
use fltk::misc::*;
use fltk::output::*;
use fltk::prelude::*;
use fltk::table::*;
use fltk::text::*;
use fltk::tree::*;
use fltk::valuator::*;
use fltk::widget::*;
use fltk::window::*;
#[derive(Debug, Clone)]
pub struct UserInterface {
pub window: Window,
pub flex: Flex,
pub group: Group,
pub button: Button,
}
impl UserInterface {
pub fn make_window() -> Self {
let mut window = Window::new(321, 208, 400, 300, None);
window.set_label("Sample");
window.end();
window.set_type(WindowType::Double);
window.make_resizable(true);
window.show();
let mut flex = Flex::new(0, 0, 400, 300, None);
flex.end();
flex.set_type(FlexType::Row);
window.add(&flex);
let mut group = Group::new(0, 0, 200, 300, None);
group.end();
// flex.add(&group); // <--- This line
let mut button = Button::new(10, 10, 180, 25, None);
button.set_label("button1");
group.add(&button);
flex.add(&group); // <--- if this line is here, then it will be the same!
flex.set_size(&flex.child(0).unwrap(), 200);
flex.recalc();
Self {
window,
flex,
group,
button,
}
}
}
Here is the fl sample:
It generates
I tried if
flex.add(&group);
generate aftergroup.add(&button);
, the result will be the same as in fuild: