import tkinter as tk from tkinter import scrolledtext class VistaChat: def __init__(self, root, controlador): self.root = root self.root.title("Chat Cliente-Servidor") self.controlador = controlador # Botón para iniciar el servidor self.server_button = tk.Button(root, text="Iniciar Servidor", command=self.controlador.iniciar_servidor) self.server_button.grid(row=0, column=0, padx=10, pady=10) # Botón para conectar el cliente self.connect_button = tk.Button(root, text="Conectar Cliente", command=self.controlador.conectar_cliente) self.connect_button.grid(row=0, column=1, padx=10, pady=10) # Área de chat self.chat_display = scrolledtext.ScrolledText(root, wrap=tk.WORD, state='disabled', width=50, height=20) self.chat_display.grid(row=1, column=0, padx=10, pady=10, columnspan=2) # Campo de entrada de mensajes self.message_entry = tk.Entry(root, width=40) self.message_entry.grid(row=2, column=0, padx=10, pady=10) # Botón para enviar mensajes self.send_button = tk.Button(root, text="Enviar", command=self.controlador.enviar_mensaje, state='disabled') self.send_button.grid(row=2, column=1, padx=10, pady=10) def mostrar_mensaje(self, mensaje): """Muestra un mensaje en el chat.""" self.chat_display.config(state='normal') self.chat_display.insert(tk.END, mensaje + '\n') self.chat_display.config(state='disabled') self.chat_display.yview(tk.END) def habilitar_envio(self): """Habilita el botón de enviar mensajes.""" self.send_button.config(state='normal') def deshabilitar_envio(self): """Deshabilita el botón de enviar mensajes.""" self.send_button.config(state='disabled')