From: Olaf Wintermann Date: Sun, 26 Jul 2026 09:24:31 +0000 (+0200) Subject: remove _builder suffix X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;ds=sidebyside;p=note.git remove _builder suffix --- diff --git a/application/note/src/newnotebook.rs b/application/note/src/newnotebook.rs index 78e25f0..376f509 100644 --- a/application/note/src/newnotebook.rs +++ b/application/note/src/newnotebook.rs @@ -87,7 +87,7 @@ pub fn new_notebook_dialog(parent: &UiObject, groups: &Vec, ba groups: Default::default(), }; - parent.dialogwindow_builder() + parent.dialogwindow() .title("Add Notebook") .modal(true) .show_closebutton(false) diff --git a/application/note/src/window.rs b/application/note/src/window.rs index 5f518d4..3c01d76 100644 --- a/application/note/src/window.rs +++ b/application/note/src/window.rs @@ -194,7 +194,7 @@ pub fn create_window(app: &App, ctx: &AppContext) -> UiObject) -> UiObject) -> UiObject { impl<'a> Application for ErrApp<'a> { fn on_startup(&mut self, _app: &AppContext) { - dialog(|d| { - d.title(self.title); - d.content(self.message); - d.button1_label("OK"); - }); + dialog!(title = self.title, content = self.message, button1_label = "OK"); } } diff --git a/ui-rs/src/ui/button.rs b/ui-rs/src/ui/button.rs index fba6f06..62c1daf 100644 --- a/ui-rs/src/ui/button.rs +++ b/ui-rs/src/ui/button.rs @@ -40,35 +40,42 @@ use crate::ui::widget::*; #[macro_export] macro_rules! button { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, button_builder, $($tt)*) + $crate::widget!($parent, button, $($tt)*) }; } #[macro_export] macro_rules! togglebutton { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, togglebutton_builder, $($tt)*) + $crate::widget!($parent, togglebutton, $($tt)*) }; } #[macro_export] macro_rules! checkbox { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, checkbox_builder, $($tt)*) + $crate::widget!($parent, checkbox, $($tt)*) }; } #[macro_export] macro_rules! switch { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, switch_builder, $($tt)*) + $crate::widget!($parent, switch, $($tt)*) }; } #[macro_export] macro_rules! radiobutton { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, radiobutton_builder, $($tt)*) + $crate::widget!($parent, radiobutton, $($tt)*) + }; +} + +#[macro_export] +macro_rules! linkbutton { + ($parent:expr, $($tt:tt)*) => { + $crate::widget!($parent, linkbutton, $($tt)*) }; } @@ -135,14 +142,14 @@ pub enum LinkButtonType { pub type ToggleButtonCreate = fn(*const UiObject, *const UiToggleArgs) -> *mut c_void; impl toolkit::UiObject { - pub fn button_builder<'a>(&'a mut self) -> ButtonBuilder<'a, T> { + pub fn button<'a>(&'a mut self) -> ButtonBuilder<'a, T> { unsafe { let args = ui_button_args_new(); ButtonBuilder { args: args, obj: self } } } - pub fn togglebutton_builder<'a>(&'a mut self) -> ToggleBuilder<'a, T> { + pub fn togglebutton<'a>(&'a mut self) -> ToggleBuilder<'a, T> { unsafe { let args = ui_toggle_args_new(); ToggleBuilder { args: args, obj: self, create: togglebutton_create } @@ -151,26 +158,33 @@ impl toolkit::UiObject { - pub fn checkbox_builder<'a>(&'a mut self) -> ToggleBuilder<'a, T> { + pub fn checkbox<'a>(&'a mut self) -> ToggleBuilder<'a, T> { unsafe { let args = ui_toggle_args_new(); ToggleBuilder { args: args, obj: self, create: checkbox_create } } } - pub fn switch_builder<'a>(&'a mut self) -> ToggleBuilder<'a, T> { + pub fn switch<'a>(&'a mut self) -> ToggleBuilder<'a, T> { unsafe { let args = ui_toggle_args_new(); ToggleBuilder { args: args, obj: self, create: switch_create } } } - pub fn radiobutton_builder<'a>(&'a mut self) -> ToggleBuilder<'a, T> { + pub fn radiobutton<'a>(&'a mut self) -> ToggleBuilder<'a, T> { unsafe { let args = ui_toggle_args_new(); ToggleBuilder { args: args, obj: self, create: radiobutton_create } } } + + pub fn linkbutton<'a>(&'a mut self) -> LinkButtonBuilder<'a, T> { + unsafe { + let args = ui_linkbutton_args_new(); + LinkButtonBuilder { args: args, obj: self } + } + } } fn togglebutton_create<'a>(obj: *const UiObject, args: *const UiToggleArgs) -> *mut c_void { diff --git a/ui-rs/src/ui/container.rs b/ui-rs/src/ui/container.rs index 5dca705..3897769 100644 --- a/ui-rs/src/ui/container.rs +++ b/ui-rs/src/ui/container.rs @@ -42,7 +42,7 @@ macro_rules! vbox { , |$child:ident| $body:block ) => {{ - $parent.hbox_builder() + $parent.hbox() $(.$name($value))* .create(|$child| $body) }}; @@ -56,7 +56,7 @@ macro_rules! hbox { , |$child:ident| $body:block ) => {{ - $parent.hbox_builder() + $parent.hbox() $(.$name($value))* .create(|$child| $body) }}; @@ -70,7 +70,7 @@ macro_rules! grid { , |$child:ident| $body:block ) => {{ - $parent.grid_builder() + $parent.grid() $(.$name($value))* .create(|$child| $body) }}; @@ -84,7 +84,7 @@ macro_rules! frame { , |$child:ident| $body:block ) => {{ - $parent.frame_builder() + $parent.frame() $(.$name($value))* .create(|$child| $body) }}; @@ -98,7 +98,7 @@ macro_rules! expander { , |$child:ident| $body:block ) => {{ - $parent.expander_builder() + $parent.expander() $(.$name($value))* .create(|$child| $body) }}; @@ -112,7 +112,7 @@ macro_rules! scrolledwindow { , |$child:ident| $body:block ) => {{ - $parent.scrolledwindow_builder() + $parent.scrolledwindow() $(.$name($value))* .create(|$child| $body) }}; @@ -126,7 +126,7 @@ macro_rules! hsplitpane { , |$child:ident| $body:block ) => {{ - $parent.hsplitpane_builder() + $parent.hsplitpane() $(.$name($value))* .create(|$child| $body) }}; @@ -140,7 +140,7 @@ macro_rules! vsplitpane { , |$child:ident| $body:block ) => {{ - $parent.vsplitpane_builder() + $parent.vsplitpane() $(.$name($value))* .create(|$child| $body) }}; @@ -154,7 +154,7 @@ macro_rules! sidebar { , |$child:ident| $body:block ) => {{ - $parent.sidebar_builder() + $parent.sidebar() $(.$name($value))* .create(|$child| $body) }}; @@ -168,7 +168,7 @@ macro_rules! left_panel { , |$child:ident| $body:block ) => {{ - $parent.left_panel_builder() + $parent.left_panel() $(.$name($value))* .create(|$child| $body) }}; @@ -182,7 +182,7 @@ macro_rules! right_panel { , |$child:ident| $body:block ) => {{ - $parent.right_panel_builder() + $parent.right_panel() $(.$name($value))* .create(|$child| $body) }}; @@ -196,7 +196,7 @@ macro_rules! tabview { , |$child:ident| $body:block ) => {{ - $parent.tabview_builder() + $parent.tabview() $(.$name($value))* .create(|$child| $body) }}; @@ -204,20 +204,6 @@ macro_rules! tabview { -macro_rules! container_fn { - ($fn_name:ident, $builder_fn:ident, $builder_ty:ident) => { - pub fn $fn_name(&mut self, build: F, ui: U) - where - F: Fn(&mut $builder_ty<'_, T>), - U: FnOnce(&mut toolkit::UiObject) - { - let mut builder = self.$builder_fn(); - build(&mut builder); - builder.create(ui); - } - }; -} - pub enum SubContainer { VBox = 0, HBox = 1, @@ -265,11 +251,7 @@ fn grid_create(obj: *mut UiObject, args: *const UiContainerArgs) { } impl toolkit::UiObject { - container_fn!(vbox, vbox_builder, ContainerBuilder); - container_fn!(hbox, hbox_builder, ContainerBuilder); - container_fn!(grid, grid_builder, ContainerBuilder); - - pub fn vbox_builder(&mut self) -> ContainerBuilder<'_, T> + pub fn vbox(&mut self) -> ContainerBuilder<'_, T> { unsafe { let args = ui_container_args_new(); @@ -281,7 +263,7 @@ impl toolkit::UiObject { } } - pub fn hbox_builder(&mut self) -> ContainerBuilder<'_, T> + pub fn hbox(&mut self) -> ContainerBuilder<'_, T> { unsafe { let args = ui_container_args_new(); @@ -293,7 +275,7 @@ impl toolkit::UiObject { } } - pub fn grid_builder(&mut self) -> ContainerBuilder<'_, T> + pub fn grid(&mut self) -> ContainerBuilder<'_, T> { unsafe { let args = ui_container_args_new(); @@ -526,11 +508,7 @@ fn scrolledwindow_create(obj: *mut UiObject, args: *const UiFrameArgs) { } impl toolkit::UiObject { - container_fn!(frame, frame_builder, FrameBuilder); - container_fn!(expander, expander_builder, FrameBuilder); - container_fn!(scrolledwindow, scrolledwindow_builder, FrameBuilder); - - pub fn frame_builder(&mut self) -> FrameBuilder<'_, T> + pub fn frame(&mut self) -> FrameBuilder<'_, T> { unsafe { let args = ui_frame_args_new(); @@ -542,7 +520,7 @@ impl toolkit::UiObject { } } - pub fn expander_builder(&mut self) -> FrameBuilder<'_, T> + pub fn expander(&mut self) -> FrameBuilder<'_, T> { unsafe { let args = ui_frame_args_new(); @@ -554,7 +532,7 @@ impl toolkit::UiObject { } } - pub fn scrolledwindow_builder(&mut self) -> FrameBuilder<'_, T> + pub fn scrolledwindow(&mut self) -> FrameBuilder<'_, T> { unsafe { let args = ui_frame_args_new(); @@ -769,10 +747,7 @@ fn vsplitpane_create(obj: *mut UiObject, args: *const UiSplitPaneArgs) { impl toolkit::UiObject { - container_fn!(hsplitpane, hsplitpane_builder, SplitPaneBuilder); - container_fn!(vsplitpane, vsplitpane_builder, SplitPaneBuilder); - - pub fn hsplitpane_builder(&mut self) -> SplitPaneBuilder<'_, T> + pub fn hsplitpane(&mut self) -> SplitPaneBuilder<'_, T> { unsafe { let args = ui_splitpane_args_new(); @@ -784,7 +759,7 @@ impl toolkit::UiObject { } } - pub fn vsplitpane_builder(&mut self) -> SplitPaneBuilder<'_, T> + pub fn vsplitpane(&mut self) -> SplitPaneBuilder<'_, T> { unsafe { let args = ui_splitpane_args_new(); @@ -984,9 +959,7 @@ fn right_panel_create(obj: *mut UiObject, args: *const UiSidebarArgs) { impl toolkit::UiObject { - container_fn!(sidebar, sidebar_builder, SidebarBuilder); - - pub fn sidebar_builder(&mut self) -> SidebarBuilder<'_, T> + pub fn sidebar(&mut self) -> SidebarBuilder<'_, T> { unsafe { let args = ui_sidebar_args_new(); @@ -998,7 +971,7 @@ impl toolkit::UiObject { } } - pub fn left_panel_builder(&mut self) -> SidebarBuilder<'_, T> + pub fn left_panel(&mut self) -> SidebarBuilder<'_, T> { unsafe { let args = ui_sidebar_args_new(); @@ -1010,7 +983,7 @@ impl toolkit::UiObject { } } - pub fn right_panel_builder(&mut self) -> SidebarBuilder<'_, T> + pub fn right_panel(&mut self) -> SidebarBuilder<'_, T> { unsafe { let args = ui_sidebar_args_new(); @@ -1132,16 +1105,7 @@ impl<'a, T> TabBuilder<'a, T> { } impl toolkit::UiObject { - pub fn tabview(&mut self, build: F, ui: U) - where - F: Fn(&mut TabViewBuilder), - U: FnOnce(&mut TabBuilder) { - let mut builder = self.tabview_builder(); - build(&mut builder); - builder.create(ui); - } - - pub fn tabview_builder(&mut self) -> TabViewBuilder<'_, T> + pub fn tabview(&mut self) -> TabViewBuilder<'_, T> { unsafe { let args = ui_tabview_args_new(); diff --git a/ui-rs/src/ui/label.rs b/ui-rs/src/ui/label.rs index 0ff0694..094345c 100644 --- a/ui-rs/src/ui/label.rs +++ b/ui-rs/src/ui/label.rs @@ -7,21 +7,21 @@ use crate::ui::widget::{Widget}; #[macro_export] macro_rules! label { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, label_builder, $($tt)*) + $crate::widget!($parent, label, $($tt)*) }; } #[macro_export] macro_rules! llabel { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, llabel_builder, $($tt)*) + $crate::widget!($parent, llabel, $($tt)*) }; } #[macro_export] macro_rules! rlabel { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, rlabel_builder, $($tt)*) + $crate::widget!($parent, rlabel, $($tt)*) }; } @@ -58,21 +58,21 @@ pub enum Alignment { } impl toolkit::UiObject { - pub fn label_builder<'a>(&'a mut self) -> LabelBuilder<'a, T> { + pub fn label<'a>(&'a mut self) -> LabelBuilder<'a, T> { unsafe { let args = ui_label_args_new(); LabelBuilder { args: args, obj: self, create: label_create } } } - pub fn llabel_builder<'a>(&'a mut self) -> LabelBuilder<'a, T> { + pub fn llabel<'a>(&'a mut self) -> LabelBuilder<'a, T> { unsafe { let args = ui_label_args_new(); LabelBuilder { args: args, obj: self, create: llabel_create } } } - pub fn rlabel_builder<'a>(&'a mut self) -> LabelBuilder<'a, T> { + pub fn rlabel<'a>(&'a mut self) -> LabelBuilder<'a, T> { unsafe { let args = ui_label_args_new(); LabelBuilder { args: args, obj: self, create: rlabel_create } diff --git a/ui-rs/src/ui/list.rs b/ui-rs/src/ui/list.rs index 78dedbb..fc55a26 100644 --- a/ui-rs/src/ui/list.rs +++ b/ui-rs/src/ui/list.rs @@ -39,28 +39,28 @@ use crate::ui::widget::{Widget}; #[macro_export] macro_rules! listview { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, listview_builder, $($tt)*) + $crate::widget!($parent, listview, $($tt)*) }; } #[macro_export] macro_rules! dropdown { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, dropdown_builder, $($tt)*) + $crate::widget!($parent, dropdown, $($tt)*) }; } #[macro_export] macro_rules! tableview { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, tableview_builder, $($tt)*) + $crate::widget!($parent, tableview, $($tt)*) }; } #[macro_export] macro_rules! sourcelist { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, sourcelist_builder, $($tt)*) + $crate::widget!($parent, sourcelist, $($tt)*) }; } @@ -138,28 +138,28 @@ pub enum ColumnType { pub type ListBuilderCreate = fn(*const UiObject, *const UiListArgs) -> ListView; impl toolkit::UiObject { - pub fn listview_builder<'a, E>(&'a mut self) -> ListViewBuilder<'a, T, E> { + pub fn listview<'a, E>(&'a mut self) -> ListViewBuilder<'a, T, E> { unsafe { let args = ui_list_args_new(); ListViewBuilder { args: args, obj: self, create: list_create, has_getvalue_func: false, _marker: PhantomData } } } - pub fn dropdown_builder<'a, E>(&'a mut self) -> ListViewBuilder<'a, T, E> { + pub fn dropdown<'a, E>(&'a mut self) -> ListViewBuilder<'a, T, E> { unsafe { let args = ui_list_args_new(); ListViewBuilder { args: args, obj: self, create: dropdown_create, has_getvalue_func: false, _marker: PhantomData } } } - pub fn tableview_builder<'a, E>(&'a mut self) -> TableViewBuilder<'a, T, E> { + pub fn tableview<'a, E>(&'a mut self) -> TableViewBuilder<'a, T, E> { unsafe { let args = ui_list_args_new(); TableViewBuilder { args: args, obj: self, create: tableview_create, model: std::ptr::null_mut(), has_getvalue_func: false, _marker: PhantomData } } } - pub fn sourcelist_builder<'a, E>(&'a mut self) -> SourceListBuilder<'a, T, E> { + pub fn sourcelist<'a, E>(&'a mut self) -> SourceListBuilder<'a, T, E> { unsafe { let args = ui_sourcelist_args_new(); SourceListBuilder { args: args, obj: self, _marker: PhantomData } diff --git a/ui-rs/src/ui/text.rs b/ui-rs/src/ui/text.rs index 7a8c443..cbbe19e 100644 --- a/ui-rs/src/ui/text.rs +++ b/ui-rs/src/ui/text.rs @@ -38,28 +38,28 @@ use crate::ui::widget::{Widget}; #[macro_export] macro_rules! textarea { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, textarea_builder, $($tt)*) + $crate::widget!($parent, textarea, $($tt)*) }; } #[macro_export] macro_rules! textfield { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, textfield_builder, $($tt)*) + $crate::widget!($parent, textfield, $($tt)*) }; } #[macro_export] macro_rules! passwordfield { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, passwordfield_builder, $($tt)*) + $crate::widget!($parent, passwordfield, $($tt)*) }; } #[macro_export] macro_rules! frameless_textfield { ($parent:expr, $($tt:tt)*) => { - $crate::widget!($parent, frameless_textfield_builder, $($tt)*) + $crate::widget!($parent, frameless_textfield, $($tt)*) }; } @@ -126,7 +126,7 @@ pub struct TextAreaBuilder<'a, T> { } impl toolkit::UiObject { - pub fn textarea_builder<'a>(&'a mut self) -> TextAreaBuilder<'a, T> { + pub fn textarea<'a>(&'a mut self) -> TextAreaBuilder<'a, T> { unsafe { let args = ui_textarea_args_new(); TextAreaBuilder { args: args, obj: self } @@ -423,21 +423,21 @@ pub fn frameless_textfield_create(obj: *const UiObject, args: *const UiTextField } impl toolkit::UiObject { - pub fn textfield_builder<'a>(&'a mut self) -> TextFieldBuilder<'a, T> { + pub fn textfield<'a>(&'a mut self) -> TextFieldBuilder<'a, T> { unsafe { let args = ui_textfield_args_new(); TextFieldBuilder { args: args, obj: self, create: textfield_create } } } - pub fn passwordfield_builder<'a>(&'a mut self) -> TextFieldBuilder<'a, T> { + pub fn passwordfield<'a>(&'a mut self) -> TextFieldBuilder<'a, T> { unsafe { let args = ui_textfield_args_new(); TextFieldBuilder { args: args, obj: self, create: passwordfield_create } } } - pub fn frameless_textfield_builder<'a>(&'a mut self) -> TextFieldBuilder<'a, T> { + pub fn frameless_textfield<'a>(&'a mut self) -> TextFieldBuilder<'a, T> { unsafe { let args = ui_textfield_args_new(); TextFieldBuilder { args: args, obj: self, create: frameless_textfield_create } diff --git a/ui-rs/src/ui/window.rs b/ui-rs/src/ui/window.rs index 9c08b99..aba6bc7 100644 --- a/ui-rs/src/ui/window.rs +++ b/ui-rs/src/ui/window.rs @@ -35,6 +35,31 @@ use std::marker::PhantomData; use crate::ui::{destroy_boxed, event, event_wrapper_oneshot, ffi, toolkit, ui_object_ref, ui_update_action_bindings, AppContext, EventWrapper, NoAppData, UiActions, UiModel}; use crate::ui::ffi::{UiButtonArgs, UiCallback, UiContext, UiDestructor, UiDialogArgs, UiDialogWindowArgs, UiObject}; + +#[macro_export] +macro_rules! dialog { + ( + $($name:ident = $value:expr),* $(,)? + ) => {{ + dialog() + $(.$name($value))* + .create() + }}; +} + +#[macro_export] +macro_rules! child_dialog { + ( + $parent:expr, + $(, $name:ident = $value:expr )* + $(,)? + ) => {{ + parent_dialog(); + $(.$name($value))* + .create() + }}; +} + impl toolkit::UiObject { pub fn show(&self) { unsafe { @@ -410,7 +435,7 @@ impl DialogWindowBuilder { impl toolkit::UiObject { - pub fn dialog_builder(&self) -> DialogBuilder { + pub fn dialog(&self) -> DialogBuilder { DialogBuilder { args: unsafe { ui_dialog_args_new() }, parent: self.ptr, @@ -418,16 +443,7 @@ impl toolkit::UiObject { } } - pub fn dialog(&mut self, build: F) - where - F: Fn(&mut DialogBuilder), - { - let mut builder = self.dialog_builder(); - build(&mut builder); - builder.create(); - } - - pub fn dialogwindow_builder(&self) -> DialogWindowBuilder { + pub fn dialogwindow(&self) -> DialogWindowBuilder { unsafe { DialogWindowBuilder { args: ui_dialogwindow_args_new(), @@ -454,7 +470,7 @@ impl toolkit::UiObject { } } -pub fn dialog_builder() -> DialogBuilder { +pub fn dialog() -> DialogBuilder { DialogBuilder { args: unsafe { ui_dialog_args_new() }, parent: std::ptr::null_mut(), @@ -462,15 +478,6 @@ pub fn dialog_builder() -> DialogBuilder { } } -pub fn dialog(build: F) -where - F: Fn(&mut DialogBuilder), -{ - let mut builder = dialog_builder(); - build(&mut builder); - builder.create(); -} - fn openfile_dialog(obj: &toolkit::UiObject, mode: c_uint, f: F) where F: FnMut(&mut event::Event) + 'static { let b: Box> = Box::new(EventWrapper { callback: Box::new(f) });