Files
LM-Gambit/prompt_playground.py
T
2025-10-03 04:28:51 -04:00

40 lines
1.6 KiB
Python

import tkinter as tk
from tkinter import ttk, scrolledtext, messagebox
class PlaygroundDialog(tk.Toplevel):
def __init__(self, parent, send_callback):
super().__init__(parent)
self.title("Prompt Playground")
self.geometry("700x600")
self.transient(parent)
self.grab_set()
self.send_callback = send_callback
ttk.Label(self, text="Prompt:").pack(anchor="w", padx=10, pady=(10,0))
self.prompt_text = scrolledtext.ScrolledText(self, height=8, wrap="word")
self.prompt_text.pack(fill="x", padx=10, pady=(0,10))
ttk.Button(self, text="Send", command=self.send_prompt).pack(pady=(0,10))
ttk.Label(self, text="Response:").pack(anchor="w", padx=10)
self.response_text = scrolledtext.ScrolledText(self, height=18, wrap="word")
self.response_text.pack(fill="both", expand=True, padx=10, pady=(0,10))
self.response_text.configure(state="disabled")
def send_prompt(self):
prompt = self.prompt_text.get("1.0", "end-1c").strip()
if not prompt:
messagebox.showwarning("Prompt Required", "Please enter a prompt.")
return
self.response_text.configure(state="normal")
self.response_text.delete("1.0", "end")
self.response_text.insert("1.0", "Running...")
self.response_text.update()
try:
response = self.send_callback(prompt)
except Exception as e:
response = f"Error: {e}"
self.response_text.delete("1.0", "end")
self.response_text.insert("1.0", response)
self.response_text.configure(state="disabled")