def handle_gui(self, dict_): """ Maneja información recibida desde la interfaz, y se comunica con el servidor en caso de ser necesario. Parámetros: - dict_: diccionario recibido desde frontend """ new_dict = Backend.handle_gui_signal(dict_) command = dict_["command"] if command == "start": self.ventana_principal = VentanaPrincipal(**dict_) self.current_window = "principal" self.connect_signals() elif command == "logout": self.current_window = "inicio" del self.ventana_principal self.ventana_principal = None elif command == "enter": nombre_room = dict_["room"].nombre self.log(f"Solicitando entrar a {nombre_room}") new_dict["user"] = self.user elif command == "access_granted": nombre_room = dict_["room"].nombre self.log(f"Entrando a {nombre_room}...") self.ventana_chat = VentanaChat(user=self.user, **dict_) self.current_window = "chat" self.connect_signals() elif command == "access_denied": nombre_room = dict_["room"].nombre self.log(f"No se pudo entrar a {nombre_room}.") elif command == "enter_text": new_dict["user"] = self.user text = new_dict["text"] self.log(f"{self.user.username} escribe: {text}.") if new_dict["send"]: del new_dict["send"] self.send(new_dict)