From ead07285d160c5bde410b481752f8e89b72c4ed8 Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Sat, 25 Apr 2026 20:53:02 +0200 Subject: [PATCH] add listview multiselection arg --- ui-rs/src/ui/list.rs | 44 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/ui-rs/src/ui/list.rs b/ui-rs/src/ui/list.rs index 80925ef..71d2fe3 100644 --- a/ui-rs/src/ui/list.rs +++ b/ui-rs/src/ui/list.rs @@ -275,13 +275,6 @@ impl<'a, T, E> ListViewBuilder<'a, T, E> { self } - pub fn visibility_states(&mut self, states: &[i32]) -> &mut Self { - unsafe { - ui_list_args_set_visibility_states(self.args, states.as_ptr(), states.len() as c_int); - } - self - } - pub fn varname(&mut self, varname: &str) -> &mut Self { let cstr = CString::new(varname).unwrap(); unsafe { @@ -308,6 +301,20 @@ impl<'a, T, E> ListViewBuilder<'a, T, E> { self } + pub fn multiselection(&mut self, value: bool) -> &mut Self { + unsafe { + ui_list_args_set_multiselection(self.args, value as c_int); + } + self + } + + pub fn visibility_states(&mut self, states: &[i32]) -> &mut Self { + unsafe { + ui_list_args_set_visibility_states(self.args, states.as_ptr(), states.len() as c_int); + } + self + } + pub fn states(&mut self, states: &[i32]) -> &mut Self { unsafe { ui_list_args_set_states(self.args, states.as_ptr(), states.len() as c_int); @@ -453,13 +460,6 @@ impl<'a, T, E> TableViewBuilder<'a, T, E> { self } - pub fn visibility_states(&mut self, states: &[i32]) -> &mut Self { - unsafe { - ui_list_args_set_visibility_states(self.args, states.as_ptr(), states.len() as c_int); - } - self - } - pub fn varname(&mut self, varname: &str) -> &mut Self { let cstr = CString::new(varname).unwrap(); unsafe { @@ -500,6 +500,21 @@ impl<'a, T, E> TableViewBuilder<'a, T, E> { self } + pub fn multiselection(&mut self, value: bool) -> &mut Self { + unsafe { + ui_list_args_set_multiselection(self.args, value as c_int); + } + self + } + + + pub fn visibility_states(&mut self, states: &[i32]) -> &mut Self { + unsafe { + ui_list_args_set_visibility_states(self.args, states.as_ptr(), states.len() as c_int); + } + self + } + pub fn states(&mut self, states: &[i32]) -> &mut Self { unsafe { ui_list_args_set_states(self.args, states.as_ptr(), states.len() as c_int); @@ -904,6 +919,7 @@ extern "C" { fn ui_list_args_set_model(args: *mut UiListArgs, model: *mut ffi::UiModel); fn ui_list_args_set_getvalue_func2(args: *mut UiListArgs, func: GetValueFunc); fn ui_list_args_set_getvalue_data(args: *mut UiListArgs, data: *mut c_void); + fn ui_list_args_set_multiselection(args: *mut UiListArgs, value: c_int); fn ui_list_args_set_states(args: *mut UiListArgs, states: *const c_int, numstates: c_int); fn ui_list_args_set_visibility_states(args: *mut UiListArgs, states: *const c_int, numstates: c_int); fn ui_list_args_free(args: *mut UiListArgs); -- 2.47.3