git.lucas.co / cce-system-interface
system settings
git clone https://git.lucas.co/cce-system-interface.git

commit87dd225efb2fa16556f8e24665ef1af0377c0ecd
parentb1a255a737
authorLucas Galante <[email protected]>
date2026-06-22 14:34
Refactor page root containers to use Page instead of Plate

 src/input_handler.rs |  2 +-
 src/main.rs          | 17 ++++++++---------
 src/renderer.rs      | 14 +++++++-------
 3 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/src/input_handler.rs b/src/input_handler.rs
index 2612e5e..93daed6 100644
--- a/src/input_handler.rs
+++ b/src/input_handler.rs
@@ -688,7 +688,7 @@ impl SystemInterface {
 
     pub(crate) fn get_page_root_widget(&mut self) -> Option<*mut (dyn cce_ui::widget::Element + 'static)> {
         let page_idx = Page::ALL.iter().position(|&p| p == self.app.current_page).unwrap_or(0);
-        let ptr = &mut self.plates[page_idx] as &mut dyn cce_ui::widget::Element as *mut dyn cce_ui::widget::Element;
+        let ptr = &mut self.pages[page_idx] as &mut dyn cce_ui::widget::Element as *mut dyn cce_ui::widget::Element;
         let static_ptr = unsafe {
             std::mem::transmute::<*mut dyn cce_ui::widget::Element, *mut (dyn cce_ui::widget::Element + 'static)>(ptr)
         };
diff --git a/src/main.rs b/src/main.rs
index c0e44ee..e5888ef 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -167,7 +167,7 @@ struct SystemInterface {
     root_window: cce_ui::widget::Window,
     menubar: cce_ui::widget::Paginator,
     switcher: cce_ui::widget::Switcher,
-    plates: Vec<cce_ui::widget::Plate>,
+    pages: Vec<cce_ui::widget::Page>,
     sans_serif_family: String,
     serif_family: String,
     monospace_family: String,
@@ -201,12 +201,11 @@ impl cce_ui::engine::Application for SystemInterface {
         let sidebar_width = menubar.sidebar_w();
 
         let switcher = cce_ui::widget::Switcher::new(sidebar_width, 0.0, 820.0 - sidebar_width, 680.0);
-        let mut plates = Vec::new();
+        let mut pages = Vec::new();
         for page in Page::ALL.iter() {
-            let plate = cce_ui::widget::Plate::new(sidebar_width, 0.0, 820.0 - sidebar_width, 680.0)
-                .with_label(page.label())
-                .with_draggable(false);
-            plates.push(plate);
+            let page_widget = cce_ui::widget::Page::new(sidebar_width, 0.0, 820.0 - sidebar_width, 680.0)
+                .with_label(page.label());
+            pages.push(page_widget);
         }
 
         let mut app_state = app;
@@ -273,7 +272,7 @@ impl cce_ui::engine::Application for SystemInterface {
                 .with_radius(win_radius as f32),
             menubar,
             switcher,
-            plates,
+            pages,
             sans_serif_family: sans_family,
             serif_family,
             monospace_family,
@@ -282,8 +281,8 @@ impl cce_ui::engine::Application for SystemInterface {
             ui_context: cce_ui::context::UiContext::new(),
         };
 
-        for plate in &mut this.plates {
-            this.switcher.add_child(plate.as_ptr(), &mut this.ui_context);
+        for page in &mut this.pages {
+            this.switcher.add_child(page.as_ptr(), &mut this.ui_context);
         }
 
         this.root_window.add_child(this.menubar.as_ptr(), &mut this.ui_context);
diff --git a/src/renderer.rs b/src/renderer.rs
index 57da70e..351c0ca 100644
--- a/src/renderer.rs
+++ b/src/renderer.rs
@@ -8,17 +8,17 @@ impl SystemInterface {
     pub(crate) fn rebuild_layout(&mut self, sw: f32, sh: f32) {
         self.ui_context.clear_hierarchy();
         self.switcher.clear_children(&mut self.ui_context);
-        for plate in &mut self.plates {
-            self.switcher.add_child(plate.as_ptr(), &mut self.ui_context);
+        for page in &mut self.pages {
+            self.switcher.add_child(page.as_ptr(), &mut self.ui_context);
         }
 
         let page_idx = Page::ALL.iter().position(|&p| p == self.app.current_page).unwrap_or(0);
 
         // ── Rebuild Element Focus Hierarchy ──
-        for plate in &mut self.plates {
-            plate.clear_children(&mut self.ui_context);
+        for page in &mut self.pages {
+            page.clear_children(&mut self.ui_context);
         }
-        let page_root = &mut self.plates[page_idx];
+        let page_root = &mut self.pages[page_idx];
         self.page_sec_containers.clear();
 
         // Clear all widgets' hierarchy links
@@ -632,7 +632,7 @@ impl SystemInterface {
         let pc = self.render_page_content(lcx, lcy, lcw, lch);
 
         let mut popovers = Vec::new();
-        Self::collect_popover_rects(&self.plates[page_idx], &mut popovers, &self.ui_context);
+        Self::collect_popover_rects(&self.pages[page_idx], &mut popovers, &self.ui_context);
 
         let mut max_y = 0.0f32;
         for (_, _, y, _, h, _, _) in &pc.rects {
@@ -823,7 +823,7 @@ impl SystemInterface {
         let ch = (ch - 2.0 * margin).max(1.0);
         let mut layout = AdaptiveGrid::new(260.0, 20.0);
         let page_idx = Page::ALL.iter().position(|&p| p == self.app.current_page).unwrap_or(0);
-        let root_focused = cce_ui::widget::focus::is_focused(&self.plates[page_idx]);
+        let root_focused = cce_ui::widget::focus::is_focused(&self.pages[page_idx]);
         let sec_focused: Vec<bool> = self.page_sec_containers.iter()
             .map(|c| cce_ui::widget::focus::is_focused(c))
             .collect();