Example #1
0
    def initUI(self):
        '''
        Crea y empaqueta los windgets de la ventana, tambien se establecen las propiedades
        de la ventana 
        '''
        self.geometry('300x210+300+100')
        self.protocol("WM_DELETE_WINDOW", "onexit")
        self.resizable(0, 0)

        frmClases = ttk.Labelframe(self, text="Escoge una opcion")

        ttk.Button(frmClases,
                   text='Una sola imagen de la PC.',
                   width=30,
                   command=self.agregarImagenPC).pack(pady=5)

        ttk.Button(frmClases,
                   text='Una sola imagen de la WEB.',
                   width=30,
                   command=self.mostrarVistaAgrImgURLWeb).pack(pady=5)

        ttk.Button(frmClases,
                   text='Un Archivo de Direcciones WEB o PC',
                   width=30,
                   command=self.agregarImagenesArchivo).pack(pady=5)

        ttk.Button(frmClases,
                   text='Una carpeta con Imagenes',
                   width=30,
                   command=self.agregarImagenesDeDirectorio).pack(pady=5)

        ttk.Button(frmClases, text='Cancelar', command=self.hide).pack(pady=15)

        frmClases.pack(fill=tk.BOTH)

        #++++++++++++++++++++++++ Ventanas Emergentes ++++++++++++++++++++++++#
        self.frmVistaAgrImgURLWeb = VistaAgregarImgURLWeb(
            self, self.agregarImagenWEB)
 def initUI(self):
     '''
     Crea y empaqueta los windgets de la ventana, tambien se establecen las propiedades
     de la ventana 
     '''
     self.geometry('300x210+300+100')
     self.protocol("WM_DELETE_WINDOW", "onexit")
     self.resizable(0,0)
     
     frmClases = ttk.Labelframe(self,text = "Escoge una opcion")
     
     ttk.Button(frmClases,
                text = 'Una sola imagen de la PC.', 
                width = 30,
                command = self.agregarImagenPC).pack(pady = 5)
                
     ttk.Button(frmClases,
                text = 'Una sola imagen de la WEB.', 
                width = 30,
                command = self.mostrarVistaAgrImgURLWeb).pack(pady = 5)
     
     ttk.Button(frmClases,
                text = 'Un Archivo de Direcciones WEB o PC', 
                width = 30,
                command = self.agregarImagenesArchivo).pack(pady = 5)
     
     ttk.Button(frmClases,
                text = 'Una carpeta con Imagenes', 
                width = 30,
                command = self.agregarImagenesDeDirectorio).pack(pady = 5)
                
     ttk.Button(frmClases, 
                text = 'Cancelar', 
                command = self.hide).pack(pady = 15)
                
     
     frmClases.pack(fill = tk.BOTH)
     
     #++++++++++++++++++++++++ Ventanas Emergentes ++++++++++++++++++++++++#
     self.frmVistaAgrImgURLWeb = VistaAgregarImgURLWeb(self, self.agregarImagenWEB)
class VistaMenuAgregarImagenes(tk.Toplevel):
    '''
    Ventana en la que se ofrece la posibilidad de crear una clase
    '''
    
    #----------------------------------------------------------------------
    def __init__(self, master, frmTabla):
        '''
        Constructor
        '''
        tk.Toplevel.__init__(self, master)
        self.padre = master
        self.attributes('-topmost', tk.TRUE)
        self.frmTabla = frmTabla
        self.title("Agregar Imagenes")
        
        #Opciones para el dialogo de imagenes para abrir una sola imagen de tkinter
        self.optDialogoImg = opciones = {}
        opciones['defaultextension'] = '.jpg'
        opciones['filetypes'] = [('Imagenes', Util.getMnsjConf("Validacion", "Extenciones"))]
        opciones['initialdir'] = '/home/ivan/'
        opciones['parent'] = self
        opciones['title'] = 'Escoge imagenes'
        
        #Opciones para el dialogo de imagenes para abrir un archivo con url's de imagenes de tkinter
        self.optDialogoArchivo = opciones = {}
        opciones['defaultextension'] = '.jpg'
        opciones['filetypes'] = [('all files', '.*'), ('text files', '.txt')]
        opciones['initialdir'] = '/home/ivan/Escritorio/'
        opciones['parent'] = self
        opciones['title'] = 'Escoge un imagen archivo de texto que contenga url\'s de imagenes'
        
        #Opciones para el dialogo de imagenes para abrir un directorio con imagenes de tkinter
        self.optDialogoDir = opciones = {}
        opciones['initialdir'] = '/home/ivan/Escritorio/'
        opciones['parent'] = self
        opciones['title'] = 'Escoge un directorio con imagenes'
        
        self.initUI()
        self.hide()
        
    #----------------------------------------------------------------------
    def initUI(self):
        '''
        Crea y empaqueta los windgets de la ventana, tambien se establecen las propiedades
        de la ventana 
        '''
        self.geometry('300x210+300+100')
        self.protocol("WM_DELETE_WINDOW", "onexit")
        self.resizable(0,0)
        
        frmClases = ttk.Labelframe(self,text = "Escoge una opcion")
        
        ttk.Button(frmClases,
                   text = 'Una sola imagen de la PC.', 
                   width = 30,
                   command = self.agregarImagenPC).pack(pady = 5)
                   
        ttk.Button(frmClases,
                   text = 'Una sola imagen de la WEB.', 
                   width = 30,
                   command = self.mostrarVistaAgrImgURLWeb).pack(pady = 5)
        
        ttk.Button(frmClases,
                   text = 'Un Archivo de Direcciones WEB o PC', 
                   width = 30,
                   command = self.agregarImagenesArchivo).pack(pady = 5)
        
        ttk.Button(frmClases,
                   text = 'Una carpeta con Imagenes', 
                   width = 30,
                   command = self.agregarImagenesDeDirectorio).pack(pady = 5)
                   
        ttk.Button(frmClases, 
                   text = 'Cancelar', 
                   command = self.hide).pack(pady = 15)
                   
        
        frmClases.pack(fill = tk.BOTH)
        
        #++++++++++++++++++++++++ Ventanas Emergentes ++++++++++++++++++++++++#
        self.frmVistaAgrImgURLWeb = VistaAgregarImgURLWeb(self, self.agregarImagenWEB)
        
    #----------------------------------------------------------------------
    def hide(self):
        """
        Oculta la ventana 
        """
        self.withdraw()
        
    #----------------------------------------------------------------------
    def show(self):
        """
        Mustra la ventana
        """
        self.update()
        self.deiconify()
        
    #----------------------------------------------------------------------
    def mostrarVistaAgrImgURLWeb(self):
        self.frmVistaAgrImgURLWeb.show()
    
    #----------------------------------------------------------------------    
    def agregarImagenPC(self):
        dirImg = tkFileDialog.askopenfilename(**self.optDialogoImg)
        
        if dirImg is None or dirImg == "":
            return
        
        nvaImg = Imagen(dirImg, self.frmTabla)
        a = []
        a.append(nvaImg)
        AgregarImagen(a).efectuarAccion()
        self.padre.actualizarClase(Accion.nomClaseDefault)
    
    #----------------------------------------------------------------------
    def agregarImagenWEB(self):
        try:
            dirImg = self.frmVistaAgrImgURLWeb.nomNvaImg.get()
            nvaImg = Imagen(dirImg, self.frmTabla)
            a = []
            a.append(nvaImg)
            AgregarImagen(a).efectuarAccion()
            
            self.frmVistaAgrImgURLWeb.hide()
            self.frmVistaAgrImgURLWeb.nomNvaImg.set("");
        except Exception as ex:
            logger.error(ex)
            raise ex
        self.padre.actualizarClase(Accion.nomClaseDefault)
            
    #----------------------------------------------------------------------    
    def agregarImagenesArchivo(self):
        archivo = tkFileDialog.askopenfile(**self.optDialogoArchivo)
        
        if archivo is None:
            return
        
        linea = archivo.readline()
        a = []
        while linea != "":
            try:
                nvaImg = Imagen(linea.strip(), self.frmTabla)
                a.append(nvaImg)
            except Exception as ex:
                logger.error(ex)
            linea = archivo.readline()
        AgregarImagen(a).efectuarAccion()
        self.padre.actualizarClase(Accion.nomClaseDefault)
        
    #----------------------------------------------------------------------    
    def agregarImagenesDeDirectorio(self):
        directorio = tkFileDialog.askdirectory(**self.optDialogoDir)
        if directorio is None or directorio == "":
            return
        ficheros = os.listdir(directorio)
        a = []
        for fichero in ficheros:
            try:
                nvaImg = Imagen(directorio+os.path.sep+fichero, self.frmTabla)
                a.append(nvaImg)
            except Exception as ex:
                logger.error(ex)
        AgregarImagen(a).efectuarAccion()
        self.padre.actualizarClase(Accion.nomClaseDefault)
    
    #----------------------------------------------------------------------    
    def actualizar(self):
        self.frmTabla.actualizar()
Example #4
0
class VistaMenuAgregarImagenes(tk.Toplevel):
    '''
    Ventana en la que se ofrece la posibilidad de crear una clase
    '''

    #----------------------------------------------------------------------
    def __init__(self, master, frmTabla):
        '''
        Constructor
        '''
        tk.Toplevel.__init__(self, master)
        self.padre = master
        self.attributes('-topmost', tk.TRUE)
        self.frmTabla = frmTabla
        self.title("Agregar Imagenes")

        #Opciones para el dialogo de imagenes para abrir una sola imagen de tkinter
        self.optDialogoImg = opciones = {}
        opciones['defaultextension'] = '.jpg'
        opciones['filetypes'] = [('Imagenes',
                                  Util.getMnsjConf("Validacion",
                                                   "Extenciones"))]
        opciones['initialdir'] = '/home/ivan/'
        opciones['parent'] = self
        opciones['title'] = 'Escoge imagenes'

        #Opciones para el dialogo de imagenes para abrir un archivo con url's de imagenes de tkinter
        self.optDialogoArchivo = opciones = {}
        opciones['defaultextension'] = '.jpg'
        opciones['filetypes'] = [('all files', '.*'), ('text files', '.txt')]
        opciones['initialdir'] = '/home/ivan/Escritorio/'
        opciones['parent'] = self
        opciones[
            'title'] = 'Escoge un imagen archivo de texto que contenga url\'s de imagenes'

        #Opciones para el dialogo de imagenes para abrir un directorio con imagenes de tkinter
        self.optDialogoDir = opciones = {}
        opciones['initialdir'] = '/home/ivan/Escritorio/'
        opciones['parent'] = self
        opciones['title'] = 'Escoge un directorio con imagenes'

        self.initUI()
        self.hide()

    #----------------------------------------------------------------------
    def initUI(self):
        '''
        Crea y empaqueta los windgets de la ventana, tambien se establecen las propiedades
        de la ventana 
        '''
        self.geometry('300x210+300+100')
        self.protocol("WM_DELETE_WINDOW", "onexit")
        self.resizable(0, 0)

        frmClases = ttk.Labelframe(self, text="Escoge una opcion")

        ttk.Button(frmClases,
                   text='Una sola imagen de la PC.',
                   width=30,
                   command=self.agregarImagenPC).pack(pady=5)

        ttk.Button(frmClases,
                   text='Una sola imagen de la WEB.',
                   width=30,
                   command=self.mostrarVistaAgrImgURLWeb).pack(pady=5)

        ttk.Button(frmClases,
                   text='Un Archivo de Direcciones WEB o PC',
                   width=30,
                   command=self.agregarImagenesArchivo).pack(pady=5)

        ttk.Button(frmClases,
                   text='Una carpeta con Imagenes',
                   width=30,
                   command=self.agregarImagenesDeDirectorio).pack(pady=5)

        ttk.Button(frmClases, text='Cancelar', command=self.hide).pack(pady=15)

        frmClases.pack(fill=tk.BOTH)

        #++++++++++++++++++++++++ Ventanas Emergentes ++++++++++++++++++++++++#
        self.frmVistaAgrImgURLWeb = VistaAgregarImgURLWeb(
            self, self.agregarImagenWEB)

    #----------------------------------------------------------------------
    def hide(self):
        """
        Oculta la ventana 
        """
        self.withdraw()

    #----------------------------------------------------------------------
    def show(self):
        """
        Mustra la ventana
        """
        self.update()
        self.deiconify()

    #----------------------------------------------------------------------
    def mostrarVistaAgrImgURLWeb(self):
        self.frmVistaAgrImgURLWeb.show()

    #----------------------------------------------------------------------
    def agregarImagenPC(self):
        dirImg = tkFileDialog.askopenfilename(**self.optDialogoImg)

        if dirImg is None or dirImg == "":
            return

        nvaImg = Imagen(dirImg, self.frmTabla)
        a = []
        a.append(nvaImg)
        AgregarImagen(a).efectuarAccion()
        self.padre.actualizarClase(Accion.nomClaseDefault)

    #----------------------------------------------------------------------
    def agregarImagenWEB(self):
        try:
            dirImg = self.frmVistaAgrImgURLWeb.nomNvaImg.get()
            nvaImg = Imagen(dirImg, self.frmTabla)
            a = []
            a.append(nvaImg)
            AgregarImagen(a).efectuarAccion()

            self.frmVistaAgrImgURLWeb.hide()
            self.frmVistaAgrImgURLWeb.nomNvaImg.set("")
        except Exception as ex:
            logger.error(ex)
            raise ex
        self.padre.actualizarClase(Accion.nomClaseDefault)

    #----------------------------------------------------------------------
    def agregarImagenesArchivo(self):
        archivo = tkFileDialog.askopenfile(**self.optDialogoArchivo)

        if archivo is None:
            return

        linea = archivo.readline()
        a = []
        while linea != "":
            try:
                nvaImg = Imagen(linea.strip(), self.frmTabla)
                a.append(nvaImg)
            except Exception as ex:
                logger.error(ex)
            linea = archivo.readline()
        AgregarImagen(a).efectuarAccion()
        self.padre.actualizarClase(Accion.nomClaseDefault)

    #----------------------------------------------------------------------
    def agregarImagenesDeDirectorio(self):
        directorio = tkFileDialog.askdirectory(**self.optDialogoDir)
        if directorio is None or directorio == "":
            return
        ficheros = os.listdir(directorio)
        a = []
        for fichero in ficheros:
            try:
                nvaImg = Imagen(directorio + os.path.sep + fichero,
                                self.frmTabla)
                a.append(nvaImg)
            except Exception as ex:
                logger.error(ex)
        AgregarImagen(a).efectuarAccion()
        self.padre.actualizarClase(Accion.nomClaseDefault)

    #----------------------------------------------------------------------
    def actualizar(self):
        self.frmTabla.actualizar()