Пример #1
0
 def __init__(self, objeto = None, usuario = None):
     self.usuario = usuario
     self._objetoreciencreado = None
     self.objeto = objeto
     Ventana.__init__(self, 'postomatic.glade', objeto, self.usuario)
     self.fileabierto = None
     connections = {'b_negrita/clicked': self.negrita,
                    'b_cursiva/clicked': self.cursiva,
                    'b_subrayado/clicked': self.subrayado,
                    'b_cita/clicked': self.cita,
                    'b_codigo/clicked': self.codigo,
                    'b_imagen/clicked': self.imagen,
                    'b_lista/clicked': self.lista,
                    'b_listao/clicked': self.listao,
                    'b_enlace/clicked': self.enlace,
                    'b_color/clicked': self.color,
                    'b_size/clicked': self.size,
                    'nuevo1/activate': self.nuevo,
                    'abrir1/activate': self.abrir,
                    'guardar1/activate': self.guardar,
                    'guardar_como1/activate': self.guardar_como,
                    'salir1/activate': self.salir,
                    'cortar1/activate': self.cortar,
                    'copiar1/activate': self.copiar,
                    'pegar1/activate': self.pegar,
                    'borrar1/activate': self.borrar,
                    'copiar_todo1/activate': self.copiar_todo,
                    'b_undo/clicked': self.deshacer,} 
     self.add_connections(connections)
     self.wids['tv_texto'].get_buffer().connect('changed', 
         self.actualizar_vista_previa)
     self.wids['tv_preview'].connect("key_release_event", 
         lambda w, e: self.wids['tv_texto'].get_buffer().set_text(w.get_buffer().get_text(*w.get_buffer().get_bounds())))
     nombres_tags = self.crear_tags(self.wids['tv_preview'].get_buffer())
     # Valores por defecto:
     self.wids['cbe_color'].child.set_text('blue')
     self.wids['cbe_size'].child.set_text('9')
     if (self.objeto != None 
         and hasattr(self.objeto, "notas") 
         and isinstance(self.objeto.notas, str)):
         self.wids['tv_texto'].get_buffer().set_text(self.objeto.notas)
         self.actualizar_vista_previa(None)
     self.texto_original = textview_get_all_text(self.wids['tv_texto'])
     self.wids['vpaned1'].set_position(0)
     gtk.main()
Пример #2
0
 def actualizar_vista_previa(self, widget):
     """
     Actualiza la vista previa, pero también se asegura de que 
     si hay un objeto relacionado su campo notas también esté 
     siempre actualizado y contenga lo mismo que aparece en 
     el TextView de texto.
     """
     # Si hay objeto, actualizo el campo notas primero
     if self.objeto:
         self.objeto.notas = textview_get_all_text(self.wids['tv_texto'])
     # Y posteriormente actualizo el textview de vista previa en sí.
     buf = self.wids['tv_texto'].get_buffer()
     sob, eob = buf.get_bounds()
     texto = buf.get_text(sob, eob)
     buf = self.wids['tv_preview'].get_buffer()
     buf.set_text("")
     self.insertar_con_imagenes_en_buffer(texto, buf)
     self.reemplazar_tags(buf)