feat(gui): Update all text viewer usages to specify types and support markdown preview for presets
This commit is contained in:
18
src/gui_2.py
18
src/gui_2.py
@@ -300,6 +300,7 @@ class App:
|
||||
imgui.same_line()
|
||||
if imgui.button("[+]##" + label + id_suffix):
|
||||
self.show_text_viewer = True
|
||||
self.text_viewer_type = 'markdown' if label in ('message', 'text', 'content', 'system') else 'json' if label in ('tool_calls', 'data') else 'powershell' if label == 'script' else 'text'
|
||||
self.text_viewer_title = label
|
||||
self.text_viewer_content = content
|
||||
|
||||
@@ -1174,15 +1175,13 @@ class App:
|
||||
imgui.separator()
|
||||
imgui.text("Prompt Content:")
|
||||
imgui.same_line()
|
||||
if imgui.button("MD Preview" if not self._prompt_md_preview else "Edit Mode"):
|
||||
self._prompt_md_preview = not self._prompt_md_preview
|
||||
if imgui.button("Pop out MD Preview"):
|
||||
self.text_viewer_title = f"Preset: {self._editing_preset_name}"
|
||||
self.text_viewer_content = self._editing_preset_system_prompt
|
||||
self.text_viewer_type = "markdown"
|
||||
self.show_text_viewer = True
|
||||
|
||||
rem_y = imgui.get_content_region_avail().y
|
||||
if self._prompt_md_preview:
|
||||
if imgui.begin_child("prompt_preview", imgui.ImVec2(-1, rem_y), True):
|
||||
markdown_helper.render(self._editing_preset_system_prompt, context_id="prompt_preset_preview")
|
||||
imgui.end_child()
|
||||
else:
|
||||
_, self._editing_preset_system_prompt = imgui.input_text_multiline("##pcont", self._editing_preset_system_prompt, imgui.ImVec2(-1, rem_y))
|
||||
imgui.end_child()
|
||||
|
||||
@@ -2364,6 +2363,7 @@ def hello():
|
||||
if res:
|
||||
self.text_viewer_title = path
|
||||
self.text_viewer_content = res
|
||||
self.text_viewer_type = Path(path).suffix.lstrip('.') if Path(path).suffix else 'text'
|
||||
self.show_text_viewer = True
|
||||
if code_block:
|
||||
if is_nerv: imgui.push_style_color(imgui.Col_.text, vec4(80, 255, 80))
|
||||
@@ -3057,7 +3057,7 @@ def hello():
|
||||
script = entry.get("script", "")
|
||||
res = entry.get("result", "")
|
||||
# Use a clear, formatted combined view for the detail window
|
||||
combined = f"COMMAND:\n{script}\n\n{'='*40}\nOUTPUT:\n{res}"
|
||||
combined = f"**COMMAND:**\n```powershell\n{script}\n```\n\n---\n**OUTPUT:**\n```text\n{res}\n```"
|
||||
|
||||
script_preview = script.replace("\n", " ")[:150]
|
||||
if len(script) > 150: script_preview += "..."
|
||||
@@ -3065,6 +3065,7 @@ def hello():
|
||||
if imgui.is_item_clicked():
|
||||
self.text_viewer_title = f"Tool Call #{i+1} Details"
|
||||
self.text_viewer_content = combined
|
||||
self.text_viewer_type = 'markdown'
|
||||
self.show_text_viewer = True
|
||||
|
||||
imgui.table_next_column()
|
||||
@@ -3074,6 +3075,7 @@ def hello():
|
||||
if imgui.is_item_clicked():
|
||||
self.text_viewer_title = f"Tool Call #{i+1} Details"
|
||||
self.text_viewer_content = combined
|
||||
self.text_viewer_type = 'markdown'
|
||||
self.show_text_viewer = True
|
||||
|
||||
imgui.end_table()
|
||||
|
||||
Reference in New Issue
Block a user