]> uap-core.de Git - note.git/commitdiff
implement remaining UiSourceList methods
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 23 Apr 2026 17:46:07 +0000 (19:46 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Thu, 23 Apr 2026 17:46:07 +0000 (19:46 +0200)
ui-rs/src/ui/toolkit.rs

index a1765a764297954e2d86f888aeb0ad259d4be0d0..0b0ce16e9df2bf3a4765fbf5005512a144c29876 100644 (file)
@@ -414,17 +414,29 @@ impl<T> UiSourceList<T> {
     }
 
     pub fn remove(&mut self, index: usize) {
-        // TODO
+        unsafe {
+            ui_list_remove(self.ptr, index as c_int);
+        }
         self.sublists.remove(index);
     }
 
     pub fn clear(&mut self) {
-        // TODO
+        unsafe {
+            ui_list_clear(self.ptr);
+        }
         self.sublists.clear();
     }
 
     pub fn update(&mut self) {
+        unsafe {
+            ui_list_update(self.ptr);
+        }
+    }
 
+    pub fn update_row(&mut self, row: i32) {
+        unsafe {
+            ui_list_update_row(self.ptr, row);
+        }
     }
 }
 
@@ -581,6 +593,8 @@ extern "C" {
 
     pub fn ui_list_append(list: *mut ffi::UiList, data: *mut c_void);
     pub fn ui_list_insert(list: *mut ffi::UiList, index: c_int, data: *mut c_void);
+    pub fn ui_list_remove(list: *mut ffi::UiList, index: c_int);
+    pub fn ui_list_clear(list: *mut ffi::UiList);
 
     fn ui_list_free(ctx: *mut ffi::UiContext, list: *mut ffi::UiList);
 }