}
}
- pub fn selection(&self) -> Vec<i32> {
+ pub fn selection(&self) -> Vec<usize> {
unsafe {
let selection = ListSelection {
ptr: ui_list_get_selection_allocated(self.ptr),
None
}
- pub fn set_selection(&mut self, sel: &Vec<i32>) {
+ pub fn set_selection(&mut self, sel: &Vec<usize>) {
+ let sel_i32: Vec<i32> = 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);
}
}
ListSelection { ptr: ptr, free: true }
}
- pub fn selection(&self) -> Vec<i32> {
+ pub fn selection(&self) -> Vec<usize> {
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);
}
}
}