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