Example #1
0
    def setup_init(self):
        """
        Se crea la interfaz grafica, se setea todo y
        se empaqueta todo.
        """

        ### Contenedor secundario para toda la interfaz.
        basebox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)

        ### Contenedor para todas las toolbars.
        self.toolbar_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)

        ### Panel para lector y barra de navegaciĆ³n de pĆ”ginas.
        hpanel = Gtk.HPaned()

        self.toolbar = Toolbar()
        self.toolbar_salir = ToolbarSalir()
        self.toolbar_config = ToolbarConfig()

        self.toolbarlector = ToolbarLector()
        self.toolbartry = ToolbarTry()

        ### Empaquetado de las tres toolbars superiores de la aplicacion.
        self.toolbar_box.pack_start(self.toolbar, False, False, 0)
        self.toolbar_box.pack_start(self.toolbar_salir, False, False, 0)
        self.toolbar_box.pack_start(self.toolbar_config, False, False, 0)

        self.visor = DrawingLector()

        self.previewcontainer = PreviewContainer()
        self.toolbarpaginas = ToolbarPaginas()

        self.textview = TextView()

        # Izquierda
        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)

        scroll = Gtk.ScrolledWindow()

        scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)

        scroll.add_with_viewport(self.visor)

        vbox.pack_start(self.toolbarlector, False, False, 0)
        vbox.pack_start(scroll, True, True, 0)

        self.controlespdf = [self.toolbarlector, scroll]

        scroll = Gtk.ScrolledWindow()

        scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)

        scroll.add_with_viewport(self.textview)

        vbox.pack_start(scroll, True, True, 0)

        self.controlestexto = [scroll]

        hpanel.pack1(vbox, resize=True, shrink=True)

        ### Derecha
        self.derecha_vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)

        scroll = Gtk.ScrolledWindow()

        scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)

        scroll.add_with_viewport(self.previewcontainer)

        self.derecha_vbox.pack_start(self.toolbarpaginas, False, False, 0)
        self.derecha_vbox.pack_start(scroll, True, True, 0)

        self.controlespdf.append(self.derecha_vbox)

        hpanel.pack2(self.derecha_vbox, resize=False, shrink=False)

        basebox.pack_start(self.toolbar_box, False, False, 0)
        basebox.pack_start(hpanel, True, True, 0)
        basebox.pack_start(self.toolbartry, False, False, 0)

        self.controles_dinamicos = [
            self.toolbar_box, self.derecha_vbox, self.toolbartry
        ]

        self.add(basebox)
        self.show_all()

        self.toolbar_salir.hide()
        self.toolbar.abrir.hide()  # Solo cuando no esta embebido
        self.toolbar_config.hide()

        self.toolbarlector.connect('original', self.visor.original)
        self.toolbarlector.connect('alejar', self.visor.alejar)
        self.toolbarlector.connect('acercar', self.visor.acercar)
        #self.toolbarlector.connect('rotar_izquierda', self.visor.acercar)
        #self.toolbarlector.connect('rotar_derecha', self.visor.acercar)

        self.toolbarpaginas.connect('activar', self.activar)

        self.previewcontainer.connect('nueva_seleccion', self.nueva_pagina)

        self.visor.connect("button_press_event", self.clicks_en_pantalla)

        self.toolbar.connect('abrir', self.show_filechooser)
        self.toolbar.connect('config', self.mostrar_config)
        self.toolbar.connect('salir', self.confirmar_salir)
        self.toolbar_salir.connect('salir', self.emit_salir)

        map(self.ocultar, self.controlestexto)
        map(self.ocultar, self.controlespdf)
    def setup_init(self):
        """
        Se crea la interfaz grafica,
        se setea y se empaqueta todo.
        """

        from Widgets import ToolbarVideo

        # Widgets Base: - vbox - toolbars - panel
        basebox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)

        self.toolbar_salir = ToolbarSalir()
        self.toolbar = ToolbarVideo()
        hpanel = Gtk.HPaned()

        basebox.pack_start(self.toolbar_salir, False, True, 0)
        basebox.pack_start(self.toolbar, False, True, 0)
        basebox.pack_start(hpanel, True, True, 0)

        self.add(basebox)

        # Panel lado Izquierdo: vbox - pantalla - hbox_efectos_aplicados
        vbox_izq_panel = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        self.pantalla = Visor()
        eventbox = Gtk.EventBox()
        eventbox.modify_bg(0, get_color("NEGRO"))

        self.hbox_efectos_en_pipe = Gtk.Box(
            orientation=Gtk.Orientation.HORIZONTAL)

        self.hbox_efectos_en_pipe.set_size_request(-1, get_pixels(0.5))

        scroll = Gtk.ScrolledWindow()

        scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.NEVER)

        scroll.add_with_viewport(eventbox)

        eventbox.add(self.hbox_efectos_en_pipe)

        vbox_izq_panel.pack_start(self.pantalla, True, True, 0)
        vbox_izq_panel.pack_start(scroll, False, False, 0)

        hpanel.pack1(vbox_izq_panel, resize=True, shrink=True)

        # Panel lado Derecho: eventbox - vbox - scroll
        # - balance_widget - widget_efectos
        self.box_config = Gtk.EventBox()
        self.box_config.set_size_request(get_pixels(5.0), -1)

        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
        self.balance_widget = ToolbarBalanceConfig()

        scroll = Gtk.ScrolledWindow()

        scroll.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)

        scroll.add_with_viewport(vbox)

        self.box_config.add(scroll)

        self.widget_efectos = WidgetsGstreamerEfectos()

        vbox.pack_start(self.balance_widget, False, True, 0)
        vbox.pack_start(self.widget_efectos, False, True, 0)

        hpanel.pack2(self.box_config, resize=False, shrink=False)

        self.show_all()
        self.realize()

        from gi.repository import GdkX11

        xid = self.pantalla.get_property('window').get_xid()
        self.jamediawebcam = JAMediaWebCam(xid)

        self.controles_dinamicos = [
            self.toolbar_salir,
            self.box_config,
        ]

        map(self.ocultar, self.controles_dinamicos)

        self.jamediawebcam.connect('estado', self.set_estado)

        self.pantalla.connect("button_press_event", self.clicks_en_pantalla)

        self.toolbar.connect("rotar", self.set_rotacion)
        self.toolbar.connect("accion", self.set_accion)
        self.toolbar.connect('salir', self.confirmar_salir)

        self.balance_widget.connect('valor', self.set_balance)

        self.widget_efectos.connect("click_efecto", self.click_efecto)
        self.widget_efectos.connect('configurar_efecto',
                                    self.configurar_efecto)

        self.toolbar_salir.connect('salir', self.emit_salir)