git.lucas.co / cce-data-editor
structured data editor
git clone https://git.lucas.co/cce-data-editor.git

commite612dcef95a5ddd2269051c4e5ea2dfc8dc36a83
parenta43ffded5c
authorLucas Galante <[email protected]>
date2026-07-11 18:17
chore: TreeList -> Adapted<TreeList> (cce-ui Phase 6as)

Field type + the one raw *mut TreeList cast -> as_ptr_mut(); every other
call site rides Deref. Loaded-tree A/B AE=0; row select / context menu
Copy Key / search focus verified live.

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018u7qTwzX95dd5ysAkaSCLk

 src/main.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index 63c2f7e..ad06ae8 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -329,7 +329,7 @@ struct DataEditorApp {
     // Left Panel Form Edit
     flat_keys: Vec<(String, serde_json::Value)>,
     selected_key_idx: Option<usize>,
-    tree_list: TreeList,
+    tree_list: cce_ui::widget::Adapted<TreeList>,
 
     // Edit Value input
     selected_value_editor: cce_ui::widget::Adapted<TextBox>,
@@ -1165,7 +1165,7 @@ impl Application for DataEditorApp {
             let self_ptr = self as *mut Self;
             unsafe {
                 self.ui_context.register_widget(self.btn_open.base().unwrap().id(), (*self_ptr).btn_open.as_ptr_mut());
-                self.ui_context.register_widget(self.tree_list.base().unwrap().id(), &mut (*self_ptr).tree_list as *mut TreeList as *mut (dyn Element + 'static));
+                self.ui_context.register_widget(self.tree_list.base().unwrap().id(), (*self_ptr).tree_list.as_ptr_mut());
                 self.ui_context.register_widget(self.selected_value_editor.base().unwrap().id(), (*self_ptr).selected_value_editor.as_ptr_mut());
                 self.ui_context.register_widget(self.selected_color_editor.base().unwrap().id(), &mut (*self_ptr).selected_color_editor as *mut ColorSelector as *mut (dyn Element + 'static));
                 self.ui_context.register_widget(self.selected_spinbox_editor.base().unwrap().id(), (*self_ptr).selected_spinbox_editor.as_ptr_mut());