system settings
git clone https://git.lucas.co/cce-system-interface.git
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();