]> uap-core.de Git - note.git/commitdiff
add listview multiselection arg main
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Sat, 25 Apr 2026 18:53:02 +0000 (20:53 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Sat, 25 Apr 2026 18:53:02 +0000 (20:53 +0200)
ui-rs/src/ui/list.rs

index 80925eff7a14150ddd3253f973e61921b524afd5..71d2fe399f9ad1dfaabe67ac84c08a1a753253f3 100644 (file)
@@ -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);