def changeTo(self, status): if status == OUT: self._changeButton(self.createButton, _("Crear"), self.createRoom) # self._disableButton(self.acceptButton) # self._disableButton(self.rejectButton) self._disableButton(self.discButton) elif status == IN_DECIDING: self._changeButton(self.createButton, _("Eliminar"), self.removeRoom) answer = tkMessageBox.askyesno(_("Nuevo alumno"), _("Aceptar alumno?")) if answer: self.accept() else: self.reject() # self._enableButton(self.acceptButton, self.accept) # self._enableButton(self.rejectButton, self.reject) self._disableButton(self.discButton) try: import winsound winsound.PlaySound(self.alarm, winsound.SND_MEMORY) except ImportError: pass elif status == IN_CLASS: self._enableButton(self.discButton, self.disconnect) # self._disableButton(self.acceptButton) # self._disableButton(self.rejectButton) elif status == IN_WAITING: self._changeButton(self.createButton, _("Eliminar"), self.removeRoom) # self._disableButton(self.acceptButton) # self._disableButton(self.rejectButton) self._disableButton(self.discButton)
def refresh(self): self.listbox.delete(0, END) for roomId, roomInfo in self.admin.queueInfo.iteritems(): if roomId == GENERAL: roomInfo = (_(roomInfo[0]), roomInfo[1]) self.roomId[self.listbox.index(END)] = roomId self.listbox.insert(END, ("%s (%d " + _("en cola") + ")") % roomInfo)
def __init__(self, master, callback, errback, client, factory, username): Toplevel.__init__(self, master=None) self.title(APP_NAME +": " + _("Demo Mode")) self.frame = Frame(self) self.master = master self.callback = callback self.errback = errback self.client = client self.factory = factory self.username = username self.label=Label(self.frame, text=_("Tipo de acceso temporal") + " :") self.label.pack(side=TOP, padx=5, pady=5) self.opciones = Radiobar(self.frame, ['Tutor','Alumno']) self.opciones.pack(side=LEFT, fill=Y) self.opciones.config(relief=RIDGE, bd=2) self.okbutton = Button(self.frame, text=_("Crear")) self.okbutton.bind("<Button-1>", self.crear) self.okbutton.pack(side=LEFT, padx=5, pady=5) self.exitbutton = Button(self.frame, text=_("Cancelar"), command=self.destroy) self.exitbutton.pack(side=LEFT, padx=5, pady=5) self.protocol("WM_DELETE_WINDOW", self.destroy)
def __init__(self, admin, kind): Toplevel.__init__(self, master=None) self.admin = admin self.subjects = {} self.title(_("Lista de materias")) self.protocol("WM_DELETE_WINDOW", self.closeDialog) self.protocol("WM_TAKE_FOCUS", self.refresh) self.frame = Frame(self) self.scrollbar = Scrollbar(self.frame, orient=VERTICAL) self.roomLabel=Label(self.frame, text=_("Materias") + ":") self.roomLabel.pack(side=TOP, padx=5, pady=5) selmode = BROWSE if kind == TUTOR: selmode = MULTIPLE self.listbox = Listbox(self.frame, selectmode=selmode, yscrollcommand=self.scrollbar.set) self.listbox.pack(side=TOP, padx=5, pady=5) self.scrollbar.config(command=self.listbox.yview) self.scrollbar.pack(side=RIGHT, fill=Y) self.listbox.pack(side=LEFT, fill=BOTH, expand=1, padx=5, pady=5) self.frame.pack(side=TOP, fill=BOTH, expand=1, padx=5, pady=5) frameButtons = Frame(self) self.updateButton = Button(frameButtons, text=_("Aceptar")) self.updateButton.bind("<Button-1>", self.update) self.updateButton.pack(side=LEFT, padx=5, pady=5) self.cancelButton = Button(frameButtons, text=_("Cancelar")) self.cancelButton.bind("<Button-1>", self.closeDialog) self.cancelButton.pack(side=LEFT, padx=5, pady=5) frameButtons.pack()
def remote_serverStringQuestion(self, title, question, initial): string = tkSimpleDialog.askstring(_(title), _(question), initialvalue=initial) if string != None: answer = string.encode("utf-8") else: answer = None return answer
def __init__(self, admin): Toplevel.__init__(self, master=None) self.admin = admin self.questions = {} self.title(_("Preguntas offline")) self.protocol("WM_DELETE_WINDOW", self.closeDialog) self.frame = Frame(self) self.scrollbar = Scrollbar(self.frame, orient=VERTICAL) self.roomLabel=Label(self.frame, text=_("Preguntas offline") + ":") self.roomLabel.pack(side=TOP, padx=5, pady=5) self.listbox = Listbox(self.frame, yscrollcommand=self.scrollbar.set) self.listbox.bind("<Double-Button-1>", self.getQuestion) self.scrollbar.config(command=self.listbox.yview) self.scrollbar.pack(side=RIGHT, fill=Y) self.listbox.pack(side=LEFT, fill=BOTH, expand=1, padx=5, pady=5) self.frame.pack(side=TOP, fill=BOTH, expand=1, padx=5, pady=5) frameButtons = Frame(self) self.acceptButton = Button(frameButtons, text=_("Aceptar"), width=10) self.acceptButton.bind("<Button-1>", self.getQuestion) self.acceptButton.pack(side=LEFT, padx=5, pady=5) self.updateButton = Button(frameButtons, text=_("Actualizar"), width=10) self.updateButton.bind("<Button-1>", self.update) self.updateButton.pack(side=LEFT, padx=5, pady=5) frameButtons.pack()
def update(self, event=None): current = self.listbox.curselection() if len(current) == 0: tkMessageBox.showinfo(_("Informacion"), _("Elegir al menos una materia")) else: subjects = [self.subjects[str(i)] for i in current] self.admin.updateSubjects(subjects) self.closeDialog()
def changeTo(self, status): if status == OUT: self.acceptButton.unbind("<Button-1>") self.acceptButton["text"] = _("Aceptar") self.acceptButton.bind("<Button-1>", self.getQuestion) self.updateButton.unbind("<Button-1>") self.updateButton["text"] = _("Actualizar") self.updateButton.bind("<Button-1>", self.update) elif status == IN_ANSWERING: self.acceptButton.unbind("<Button-1>") self.acceptButton["text"] = _("Rechazar") self.acceptButton.bind("<Button-1>", self.rejectQuestion) self.updateButton.unbind("<Button-1>") self.updateButton["text"] = _("Responder") self.updateButton.bind("<Button-1>", self.answerQuestion)
def changeTo(self, status): if status == OUT: self.acceptButton.unbind("<Button-1>") self.acceptButton["text"] = _("Aceptar") self.acceptButton.bind("<Button-1>", self.getQuestion) self.updateButton.unbind("<Button-1>") self.updateButton["text"] = _("Actualizar") self.updateButton.bind("<Button-1>", self.update) elif status == IN_POST_PROCESS: self.acceptButton.unbind("<Button-1>") self.acceptButton["text"] = _("Cancelar") self.acceptButton.bind("<Button-1>", self.rejectQuestion) self.updateButton.unbind("<Button-1>") self.updateButton["text"] = _("Postprocesar") self.updateButton.bind("<Button-1>", self.answerQuestion)
def __init__(self, cliente=None): Frame.__init__(self) self["bg"] = self.BACKGROUND self.frame = Frame(bg=self.BACKGROUND) self.frame["bg"] = self.BACKGROUND self.client = cliente #log del chat con scroll vertical self.scroll = Scrollbar(self.frame) self.logbox = Text(self.frame) self.scroll.config(command=self.logbox.yview) self.logbox.config(font=('courier', 10, 'normal'), height=4, yscrollcommand=self.scroll.set) self.scroll.pack(side=RIGHT, fill=Y) self.logbox.bind("<FocusIn>", lambda e: self.lineinput.focus_set()) self.logbox.pack(side=TOP, expand=YES, fill=Y) self.lineinput = Entry (self.frame, textvariable=StringVar()) self.lineinput.config(font=('courier', 10, 'normal')) self.lineinput.bind("<Return>", lambda e: self.enviar()) self.lineinput.pack(side=LEFT, expand=YES, fill=BOTH) self.sendbutton = Button(self.frame, text=_('Enviar')) self.sendbutton.config(command=self.enviar) self.sendbutton.pack(side=RIGHT) #self.sendbutton = Button(self.frame, text=_('log')) #self.sendbutton.config(command=self.enviarLog) #self.sendbutton.pack(side=RIGHT) self.frame.pack(side=BOTTOM)
def __init__(self, master, callback, cancelCallback, host, port, factory, client, initialUser = "******", initialPassword = "******"): Toplevel.__init__(self, master=None) self.callback = callback self.cancelCallback = cancelCallback self.client = client self.factory = factory self.frame = Frame(self) self.master = master self.initialUser = initialUser self.initialPassword = initialPassword self.initialPort = port self.userlabel=Label(self.frame, text=_("Usuario") + ":") self.userlabel.pack(side=TOP, padx=5, pady=5) self.username = Entry(self.frame) self.username.insert(0, initialUser) self.username.pack(side=TOP, padx=5, pady=5) self.passlabel=Label(self.frame, text=_("Contraseña") + ":") self.passlabel.pack(side=TOP, padx=5, pady=5) self.password = Entry(self.frame, show='*') self.password.insert(0, initialPassword) self.password.pack(side=TOP, padx=5, pady=5) self.serverlabel = Label (self.frame, text=_("Servidor")) self.serverlabel.pack (side=TOP, padx=5, pady=5) self.server = Entry(self.frame) self.server.insert (0, host + ":" + str(port)) self.server.pack(side=TOP, padx=5, pady=5) self.okbutton = Button(self.frame, text=_("Conectarse")) self.okbutton.bind("<Button-1>", self.login) self.okbutton.pack(side=LEFT, padx=5, pady=5) self.exitbutton = Button(self.frame, text=_("Cancelar"), command=self.quit) self.exitbutton.bind("<Button-1>", self.cancelCallback) self.exitbutton.pack(side=LEFT, padx=5, pady=5) self.protocol("WM_DELETE_WINDOW", self.cancelCallback) self.bind("<Return>", self.login) self.username.focus_set()
def __init__(self, admin): Toplevel.__init__(self, master=None) self.admin = admin self.roomId = {} self.title(_("Lista de aulas")) self.protocol("WM_DELETE_WINDOW", self.closeDialog) self.frame = Frame(self) self.scrollbar = Scrollbar(self.frame, orient=VERTICAL) self.roomLabel=Label(self.frame, text=_("Aulas disponibles") + ":") self.roomLabel.pack(side=TOP, padx=5, pady=5) self.listbox = Listbox(self.frame, yscrollcommand=self.scrollbar.set) self.listbox.pack(side=TOP, padx=5, pady=5) self.scrollbar.config(command=self.listbox.yview) self.scrollbar.pack(side=RIGHT, fill=Y) self.listbox.pack(side=LEFT, fill=BOTH, expand=1, padx=5, pady=5) self.frame.pack(side=TOP, fill=BOTH, expand=1, padx=5, pady=5) self.refresh()
def __init__(self, admin): RoomAdminDialog.__init__(self, admin) self.subjectAdmin = None frameButtons = Frame(self) # frameButtons2 = Frame(self) self.createButton = Button(frameButtons, text=_("Crear"), width=12) self.createButton.pack(side=LEFT, padx=5, pady=5) # self.acceptButton = Button(frameButtons2, text="Aceptar Cliente", width=12) # self.acceptButton.pack(side=LEFT, padx=5, pady=5) # self.rejectButton = Button(frameButtons2, text="Rechazar Cliente", width=12) # self.rejectButton.pack(side=LEFT, padx=5, pady=5) self.discButton = Button(frameButtons, text=_("Terminar clase"), width=12) self.discButton.pack(side=LEFT, padx=5, pady=5) self.createButton.bind("<Button-1>", self.createRoom) # self._disableButton(self.acceptButton) # self._disableButton(self.rejectButton) self._disableButton(self.discButton) # frameButtons2.pack(side=BOTTOM) frameButtons.pack(side=BOTTOM)
def __init__(self, admin): RoomAdminDialog.__init__(self, admin) frameButtons = Frame(self) frameButtons2 = Frame(self) #self.propButton = Button(frameButtons, text=_("Proponer"), width=7) #self.propButton.bind("<Button-1>", self.proposeQuestion) #self.propButton.pack(side=LEFT, padx=5, pady=5) self.listbox.bind("<Double-Button-1>", self.enterRoom) self.propButton = Button(frameButtons, text=_("Entrar"), width=7) self.propButton.bind("<Button-1>", self.enterRoom) self.propButton.pack(side=LEFT, padx=5, pady=5) self.offButton = Button(frameButtons, text=_("Preguntar"), width=7) self.offButton.bind("<Button-1>", self.offQuestion) self.offButton.pack(side=LEFT, padx=5, pady=5) self.viewButton = Button(frameButtons2, text=_("Ver"), width=7) self.viewButton.bind("<Button-1>", self.viewRoom) self.viewButton.pack(side=LEFT, padx=5, pady=5) self.infoButton = Button(frameButtons2, text=_("Informacion"), width=7) self.infoButton.bind("<Button-1>", self.roomInfo) self.infoButton.pack(side=LEFT, padx=5, pady=5) frameButtons.pack() frameButtons2.pack()
def changeTo(self, status): if status == OUT: self.listbox.bind("<Double-Button-1>", self.enterRoom) self._enableButton(self.propButton, self.enterRoom) self._enableButton(self.viewButton, self.viewRoom) self._changeButton(self.offButton, _("Preguntar"), self.offQuestion) elif status == IN_ASKING: self.listbox.bind("<Double-Button-1>", self.enterRoom) self._disableButton(self.viewButton) elif status == IN_QUEUE: self.listbox.unbind("<Double-Button-1>") self._changeButton(self.offButton, _("Abandonar"), self.leaveRoom) self._disableButton(self.propButton) self._disableButton(self.viewButton) elif status == IN_CLASS: self.listbox.unbind("<Double-Button-1>") self._disableButton(self.propButton) self._disableButton(self.viewButton) elif status == IN_VIEW: self.listbox.unbind("<Double-Button-1>") self._changeButton(self.offButton, _("Abandonar"), self.leaveRoom) self._disableButton(self.propButton) self._disableButton(self.viewButton)
def updateMenu(self, whoami): if whoami == TUTOR: self.fileMenu.insert_command(1, label=_("Preguntas offline"), command=self.showQuestionAdmin) self.fileMenu.insert_command(2, label=_("Postprocesado de pizarras"), command=self.showPostAdmin) self.editMenu.add_command(label=_("Cortar"), accelerator="Ctrl-X", command=self.client.swb.wb.cutSelection) self.editMenu.add_command(label=_("Copiar"), accelerator="Ctrl-C", command=self.client.swb.wb.copySelection) self.editMenu.add_command(label=_("Pegar"), accelerator="Ctrl-V", command=self.client.swb.wb.paste) self.editMenu.add_separator() self.editMenu.add_command(label=_("Importar texto"), accelerator="Ctrl-B", command=self.client.swb.wb.pasteForeign) self._loadImgMenu(self.emoticMenu, EMOTIC) self._loadImgMenu(self.greekMenu, SYMBOL) self._loadImgMenu(self.mathMenu, MATH)
def viewRoom(self, event=None): current = self._roomIdFromList() if current != None: self.admin.viewRoom(current) else: self.showInfo(_("Seleccionar un aula"))
def loginError(self, failure): if failure.getErrorMessage()=='no_existe': #solo se accede si se está corriendo en modo demo. self.askDemo() else: tkMessageBox.showerror(_("Error de login"), _("Error al conectarse") + ":\n "+failure.getErrorMessage())
def showInfo(self, msg): tkMessageBox.showinfo(_("Informacion"), msg)
def showRoomInfo(self, info): if info[1] == GENERAL: msg = _("Cola General") tkMessageBox.showinfo(_("Informacion"), msg) return msg = _("Tutor") + ": " + info[0] if info[1] == IACLASS: end = info[2] msg = msg + "\n" + _("Tipo de clase") + ": " + _("Acceso instantaneo") + "\n" + _("Hora de cierre") + ": " + end elif info[1] == PACLASS: end = info[2] msg = msg + "\n" + _("Tipo de clase") + ": " + _("Precoordinada") + "\n" + _("Hora de cierre") + ": " + end elif info[1] == EXTRA_IACLASS: msg = msg + "\n" + _("Tipo de clase") + ": " + _("Acceso instantaneo (extra)") msg = msg + "\n" + _("Materias") + ":\n" subjects = info[3] for s in subjects: msg = msg + "\t" + s + "\n" tkMessageBox.showinfo(_("Informacion"), msg)
def askDemo(self): answer = tkMessageBox.askquestion(_("Error de login"), _("El usuario ingresado no existe. \n ¿Desea crear un usuario temporal?")) if answer == "yes": ask = LoginDialogDemo(self.master,self.callback, self.loginError, self.client, self.factory, self.username.get()) ask.run() self.destroy()
def createMenu(self): menubar = Menu(self.window) self.fileMenu = Menu(menubar, tearoff=0) self.fileMenu.add_command(label=_("Lista de aulas"), command=self.showRoomAdmin) self.fileMenu.add_command(label=_("Lista de materias"), command=self.showSubjectAdmin) self.fileMenu.add_separator() self.fileMenu.add_command(label=_("Imprimir")) self.fileMenu.add_separator() self.fileMenu.add_command(label=_("Salir"), command=self.application_quit) menubar.add_cascade(label=_("Archivo"), menu=self.fileMenu) self.editMenu = Menu(menubar, tearoff=0) menubar.add_cascade(label=_("Edicion"), menu=self.editMenu) self.emoticMenu = Menu(menubar, tearoff=0) menubar.add_cascade(label=_("Emoticonos"), menu=self.emoticMenu) self.symbolMenu = Menu(menubar, tearoff=0) menubar.add_cascade(label=_("Simbolos"), menu=self.symbolMenu) self.mathMenu = Menu(self.symbolMenu, tearoff=0) self.symbolMenu.add_cascade(label=_("Matematica"), menu=self.mathMenu) self.greekMenu = Menu(self.symbolMenu, tearoff=0) self.symbolMenu.add_cascade(label=_("Griego"), menu=self.greekMenu) self.helpMenu = Menu(menubar, tearoff=0) self.helpMenu.add_command(label=_("Manual de instrucciones"), command=self.showHelp) self.helpMenu.add_command(label=_("Acerca de..."), command=self.showAbout) menubar.add_cascade(label=_("Ayuda"), menu=self.helpMenu) self.linksMenu = Menu(menubar, tearoff=0) self.linksMenu.add_command(label=_("Links utiles"), command=self.showLinks) menubar.add_cascade(label=_("Links"), menu=self.linksMenu) self.window.config(menu=menubar)
def remote_serverQuestion(self, title, question): answer = tkMessageBox.askyesno(_(title), _(question)) return answer
#Anchos de linea FINE = 3 MEDIUM = 5 BIG = 9 XBIG = 13 #Mensajes de estado de cliente IN_QUEUE = 1 IN_CLASS = 2 IN_VIEW = 3 OUT = 4 IN_WAITING = 5 IN_ASKING = 6 IN_DECIDING = 7 IN_ANSWERING = 8 IN_POST_PROCESS = 9 statusMsg = {IN_QUEUE:_("En cola"), IN_CLASS:_("En clase"), IN_VIEW:_("Observador"), OUT:_("Fuera"), \ IN_WAITING:_("En espera"), IN_ASKING:_("Preguntando"), IN_DECIDING:_("Decidiendo"), \ IN_ANSWERING:_("Respondiendo"), IN_POST_PROCESS:_("Postprocesando")} #Horas de Modo Demo DEMO_AI = 20.0 DEMO_PC = 20.0 #Factor de devolucion de horas para PA canceladas FACTOR_CANCELED_HOURS = 1.0 #cantidad de items por pagina ITEMS_PAG = 3
def remote_serverMessage(self, msg): tkMessageBox.showinfo(_("Informacion"), _(msg))