From: Olaf Wintermann Date: Wed, 20 May 2026 19:04:54 +0000 (+0200) Subject: use Vec for list selections X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2Fmain;p=note.git use Vec for list selections --- diff --git a/ui-rs/src/ui/toolkit.rs b/ui-rs/src/ui/toolkit.rs index f63a89c..fdbdc5e 100644 --- a/ui-rs/src/ui/toolkit.rs +++ b/ui-rs/src/ui/toolkit.rs @@ -622,7 +622,7 @@ impl UiList { } } - pub fn selection(&self) -> Vec { + pub fn selection(&self) -> Vec { unsafe { let selection = ListSelection { ptr: ui_list_get_selection_allocated(self.ptr), @@ -647,9 +647,10 @@ impl UiList { None } - pub fn set_selection(&mut self, sel: &Vec) { + pub fn set_selection(&mut self, sel: &Vec) { + let sel_i32: Vec = sel.into_iter().map(|x| *x as i32).collect(); unsafe { - ui_list_set_selected_indices(self.ptr, sel.as_ptr(), sel.len() as c_int); + ui_list_set_selected_indices(self.ptr, sel_i32.as_ptr(), sel.len() as c_int); } } @@ -690,14 +691,14 @@ impl ListSelection { ListSelection { ptr: ptr, free: true } } - pub fn selection(&self) -> Vec { + pub fn selection(&self) -> Vec { let mut sel = Vec::new(); unsafe { let count = ui_list_selection_get_count(self.ptr) as usize; if count > 0 { let indices = ui_list_selection_get_rows(self.ptr); for i in 0..count { - sel.push(*indices.add(i) as i32); + sel.push(*indices.add(i) as usize); } } }