def __init__(self): super(Ventana, self).__init__() self.set_title("JAMediaVideoEfectos.") #self.set_icon_from_file(os.path.join(JAMediaObjectsPath, # "Iconos", "ver.png")) self.set_resizable(True) self.set_size_request(640, 480) self.set_border_width(2) self.set_position(Gtk.WindowPosition.CENTER) hpanel = Gtk.HPaned() from JAMediaObjects.JAMediaWidgets import Visor # plugins Good from WidgetsEfectosGood import Radioactv from WidgetsEfectosGood import Agingtv pantalla = Visor() self.widget_efecto = Radioactv() #self.widget_efecto = Agingtv() hpanel.pack1(pantalla, resize=True, shrink=True) hpanel.pack2(self.widget_efecto, resize=False, shrink=True) self.add(hpanel) self.show_all() self.realize() from gi.repository import GdkX11 xid = pantalla.get_property('window').get_xid() self.efecto = EfectoBin('radioactv', xid) #self.efecto = EfectoBin('agingtv', xid) self.widget_efecto.connect('propiedad', self.set_efecto) self.connect("destroy", self.salir) GLib.idle_add(self.efecto.play)
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)