Example #1
0
    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)
Example #2
0
 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)
Example #3
0
    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)
Example #4
0
    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()
Example #5
0
 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
Example #6
0
    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()
Example #7
0
 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()
Example #8
0
 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)
Example #9
0
 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)
Example #10
0
    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)
Example #11
0
    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()
Example #12
0
    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()
Example #13
0
    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)
Example #14
0
    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()
Example #15
0
 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)
Example #16
0
 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)
Example #17
0
 def viewRoom(self, event=None):
     current = self._roomIdFromList()
     if current != None:
         self.admin.viewRoom(current)
     else:
         self.showInfo(_("Seleccionar un aula"))
Example #18
0
 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())
Example #19
0
 def showInfo(self, msg):
     tkMessageBox.showinfo(_("Informacion"), msg)
Example #20
0
 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)
Example #21
0
 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()
Example #22
0
    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)
Example #23
0
 def remote_serverQuestion(self, title, question):
     answer = tkMessageBox.askyesno(_(title), _(question))
     return answer
Example #24
0
#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
Example #25
0
 def remote_serverMessage(self, msg):
     tkMessageBox.showinfo(_("Informacion"), _(msg))