From 7d8680232a827ab65b8ad9e9f28e01250a6ef1c6 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Tue, 12 May 2026 15:34:48 -0400 Subject: [PATCH] fix imgui label error --- src/gui_2.py | 61 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/src/gui_2.py b/src/gui_2.py index cce759d..72f15aa 100644 --- a/src/gui_2.py +++ b/src/gui_2.py @@ -662,8 +662,10 @@ class App: def _render_project_settings_hub(self) -> None: with imscope.tab_bar('context_hub_tabs'): - with imscope.tab_item('Projects'): self._render_projects_panel() - with imscope.tab_item('Paths'): self._render_paths_panel() + with imscope.tab_item('Projects') as (exp, _): + if exp: self._render_projects_panel() + with imscope.tab_item('Paths') as (exp, _): + if exp: self._render_paths_panel() def _render_ai_settings_hub(self) -> None: self._render_persona_selector_panel() @@ -674,10 +676,14 @@ class App: def _render_discussion_hub(self) -> None: with imscope.tab_bar("discussion_hub_tabs"): - with imscope.tab_item("Discussion"): self._render_discussion_tab() - with imscope.tab_item("Context Composition"): self._render_context_composition_panel() - with imscope.tab_item("Snapshot"): self._render_snapshot_tab() - with imscope.tab_item("Takes"): self._render_takes_panel() + with imscope.tab_item("Discussion") as (exp, _): + if exp: self._render_discussion_tab() + with imscope.tab_item("Context Composition") as (exp, _): + if exp: self._render_context_composition_panel() + with imscope.tab_item("Snapshot") as (exp, _): + if exp: self._render_snapshot_tab() + with imscope.tab_item("Takes") as (exp, _): + if exp: self._render_takes_panel() def _render_operations_hub(self) -> None: imgui.push_style_var(imgui.StyleVar_.item_spacing, imgui.ImVec2(10, 4)) @@ -692,27 +698,32 @@ class App: imgui.pop_style_var() show_tc_tab, show_usage_tab = not self.ui_separate_tool_calls_panel, not self.ui_separate_usage_analytics with imscope.tab_bar("ops_tabs"): - with imscope.tab_item("Comms History"): self._render_comms_history_panel() + with imscope.tab_item("Comms History") as (exp, _): + if exp: self._render_comms_history_panel() if show_tc_tab: - with imscope.tab_item("Tool Calls"): self._render_tool_calls_panel() + with imscope.tab_item("Tool Calls") as (exp, _): + if exp: self._render_tool_calls_panel() if show_usage_tab: - with imscope.tab_item("Usage Analytics"): self._render_usage_analytics_panel() + with imscope.tab_item("Usage Analytics") as (exp, _): + if exp: self._render_usage_analytics_panel() if not self.ui_separate_external_tools: - with imscope.tab_item("External Tools"): - self._render_external_tools_panel() - imgui.separator(); imgui.text("") - try: self._render_external_editor_panel() - except Exception as e: imgui.text_colored(vec4(1, 0.3, 0.3, 1), f"Error: {str(e)}") - with imscope.tab_item("Workspace Layouts"): - imgui.text("Experimental: Auto-switch layout by Tier") - ch, self.controller.ui_auto_switch_layout = imgui.checkbox("Enable Auto-Switch", self.controller.ui_auto_switch_layout) - if self.controller.ui_auto_switch_layout: - imgui.separator(); imgui.text("Tier Bindings (select profile for each tier)") - profiles = [""] + [p.name for p in self.controller.workspace_profiles.values()] - for t in ["Tier 1", "Tier 2", "Tier 3", "Tier 4"]: - curr = self.controller.ui_tier_layout_bindings.get(t, ""); idx = profiles.index(curr) if curr in profiles else 0 - ch_combo, new_idx = imgui.combo(t, idx, profiles) - if ch_combo: self.controller.ui_tier_layout_bindings[t] = profiles[new_idx] + with imscope.tab_item("External Tools") as (exp, _): + if exp: + self._render_external_tools_panel() + imgui.separator(); imgui.text("") + try: self._render_external_editor_panel() + except Exception as e: imgui.text_colored(vec4(1, 0.3, 0.3, 1), f"Error: {str(e)}") + with imscope.tab_item("Workspace Layouts") as (exp, _): + if exp: + imgui.text("Experimental: Auto-switch layout by Tier") + ch, self.controller.ui_auto_switch_layout = imgui.checkbox("Enable Auto-Switch", self.controller.ui_auto_switch_layout) + if self.controller.ui_auto_switch_layout: + imgui.separator(); imgui.text("Tier Bindings (select profile for each tier)") + profiles = [""] + [p.name for p in self.controller.workspace_profiles.values()] + for t in ["Tier 1", "Tier 2", "Tier 3", "Tier 4"]: + curr = self.controller.ui_tier_layout_bindings.get(t, ""); idx = profiles.index(curr) if curr in profiles else 0 + ch_combo, new_idx = imgui.combo(t, idx, profiles) + if ch_combo: self.controller.ui_tier_layout_bindings[t] = profiles[new_idx] def _show_menus(self) -> None: """ @@ -2858,7 +2869,7 @@ class App: if not hasattr(self, '_file_stats_worker_active'): self._file_stats_worker_active = False - if imgui.collapsing_header("Context Composition"): + if imgui.collapsing_header("Context Composition##panel"): total_lines = 0 total_ast = 0