container_fn!(hbox, hbox_builder, ContainerBuilder);
container_fn!(grid, grid_builder, ContainerBuilder);
- pub fn vbox_builder(&mut self) -> ContainerBuilder
+ pub fn vbox_builder(&mut self) -> ContainerBuilder<'_>
{
unsafe {
let args = ui_container_args_new();
}
}
- pub fn hbox_builder(&mut self) -> ContainerBuilder
+ pub fn hbox_builder(&mut self) -> ContainerBuilder<'_>
{
unsafe {
let args = ui_container_args_new();
}
}
- pub fn grid_builder(&mut self) -> ContainerBuilder
+ pub fn grid_builder(&mut self) -> ContainerBuilder<'_>
{
unsafe {
let args = ui_container_args_new();
container_fn!(expander, expander_builder, FrameBuilder);
container_fn!(scrolledwindow, scrolledwindow_builder, FrameBuilder);
- pub fn frame_builder(&mut self) -> FrameBuilder
+ pub fn frame_builder(&mut self) -> FrameBuilder<'_>
{
unsafe {
let args = ui_frame_args_new();
}
}
- pub fn expander_builder(&mut self) -> FrameBuilder
+ pub fn expander_builder(&mut self) -> FrameBuilder<'_>
{
unsafe {
let args = ui_frame_args_new();
}
}
- pub fn scrolledwindow_builder(&mut self) -> FrameBuilder
+ pub fn scrolledwindow_builder(&mut self) -> FrameBuilder<'_>
{
unsafe {
let args = ui_frame_args_new();
}
self
}
+
+ pub fn label(&mut self, label: &str) -> &mut Self {
+ let cstr = CString::new(label).unwrap();
+ unsafe {
+ ui_frame_args_set_label(self.args, cstr.as_ptr());
+ }
+ self
+ }
+
+ pub fn expanded(&mut self, value: bool) -> &mut Self {
+ unsafe {
+ ui_frame_args_set_expanded(self.args, if value { 1 } else { 0 });
+ }
+ self
+ }
+
+ pub fn subcontainer_type(&mut self, subtype: SubContainer) -> &mut Self {
+ unsafe {
+ ui_frame_args_set_subcontainer(self.args, subtype as c_int);
+ }
+ self
+ }
}
impl<'a> Drop for FrameBuilder<'a> {