From f62b401ae7d8d4354b68beb00cc1b50894253698 Mon Sep 17 00:00:00 2001 From: Cristian Garcia Date: Wed, 08 May 2013 23:18:18 +0000 Subject: Emprolijando --- diff --git a/CristianEdit/CristianEdit.py b/CristianEdit/CristianEdit.py index 2835c13..609df9c 100644 --- a/CristianEdit/CristianEdit.py +++ b/CristianEdit/CristianEdit.py @@ -371,7 +371,7 @@ class CristianEdit(Gtk.Plug): barra_inferior = objetos.Barra_Inferior() combo = barra_inferior.get_combo() - buffer = objetos.Buffer(combo) + buffer = objetos.Buffer() view = objetos.View(buffer) label = Gtk.Label('Sin título') @@ -522,6 +522,7 @@ class CristianEdit(Gtk.Plug): pagina = self.notebook.get_current_page() buffer = self.buffers[pagina] + return buffer def get_direccion(self): @@ -529,6 +530,7 @@ class CristianEdit(Gtk.Plug): pagina = self.notebook.get_current_page() lugar = self.lugares[pagina] + return lugar def get_direccion(self): @@ -536,6 +538,7 @@ class CristianEdit(Gtk.Plug): pagina = self.notebook.get_current_page() direccion = self.lugares[pagina] + return direccion def get_fuente(self): @@ -575,6 +578,7 @@ class CristianEdit(Gtk.Plug): pagina = self.notebook.get_current_page() start, end = self.buffers[pagina].get_bounds() + return self.buffers[pagina].get_text(start, end, False) def set_configuracion(self, lista): diff --git a/CristianEdit/Globales.py b/CristianEdit/Globales.py new file mode 100644 index 0000000..2575a03 --- /dev/null +++ b/CristianEdit/Globales.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# Globales.py por: +# Cristian García + +from gi.repository import Gtk +from gi.repository import GtkSource + +BIENVENIDA = '''\n\nTerminal creada en python, +por Cristian García ''' + +lenguaje_manager = GtkSource.LanguageManager() +lenguajes = lenguaje_manager.get_language_ids() + +lenguajes.insert(0, 'Texto Plano') + +estilo_manager = GtkSource.StyleSchemeManager() +estilos = estilo_manager.get_scheme_ids() + + +def get_clasico(): + """Devuelve la posisión de classic en el combo""" + + cuenta = 0 + clasico = 0 + + for estilo in estilos: + if estilo == 'classic': + clasico = cuenta + + cuenta += 1 + + return clasico diff --git a/CristianEdit/objetos.py b/CristianEdit/objetos.py index e9730e4..822619b 100644 --- a/CristianEdit/objetos.py +++ b/CristianEdit/objetos.py @@ -30,34 +30,7 @@ from gi.repository import Vte from gi.repository import GLib from Creditos import Creditos - -lenguaje_manager = GtkSource.LanguageManager() -lenguajes = lenguaje_manager.get_language_ids() - -lenguajes.sort() -lenguajes.remove(lenguajes[0]) -lenguajes.insert(0, 'Texto Plano') - -estilo_manager = GtkSource.StyleSchemeManager() -estilos = estilo_manager.get_scheme_ids() - -BIENVENIDA = '''\n\nTerminal creada en python, -por Cristian García ''' - - -def get_clasico(): - """Devuelve la posisión de classic en el combo""" - - cuenta = 0 - clasico = 0 - - for estilo in estilos: - if estilo == 'classic': - clasico = cuenta - - cuenta += 1 - - return clasico +import Globales as G def dialogo_cerrar(direccion, buffer, cristianedit, accion): @@ -247,8 +220,6 @@ class Menu(Gtk.MenuBar): numero += 1 else: - #self.menu_recientes.get_parent().get_parent().set_sensitive(False) - pass self.show_all() @@ -266,40 +237,32 @@ class Menu(Gtk.MenuBar): class Buffer(GtkSource.Buffer): """Buffer de Texto""" - def __init__(self, combo): + def __init__(self): GtkSource.Buffer.__init__(self) - self.combo = combo self.lenguaje = None + self.lenguaje_manager = G.lenguaje_manager + self.lenguajes = G.lenguajes - def buscar_lenguaje(self, lugar, combo): + def buscar_lenguaje(self, filename, combo): """Busca el lenguaje de programación en un archivo al guardarlo o abrirlo, sí es que tiene uno""" - tipo = list(mimetypes.guess_type(lugar))[0] - encontrado = False - - for id in lenguajes: - lenguaje = lenguaje_manager.get_language(id) - - if lenguaje and len(lenguaje.get_mime_types()): - mime = lenguaje.get_mime_types()[0] - - if tipo == mime: - self.set_highlight_syntax(True) - self.set_language(lenguaje) - - list_num = lenguajes.index(id) + 1 - self.lenguaje = lenguaje - encontrado = True - - combo.set_active(list_num) - - if not encontrado: + lenguaje = self.lenguaje_manager.guess_language(filename, None) + + if lenguaje: + self.set_highlight_syntax(True) + self.set_language(lenguaje) + + nombre = lenguaje.get_name() + numero = self.lenguajes.index(nombre.lower()) + + combo.set_active(numero + 1) + + else: self.set_highlight_syntax(False) - - self.lenguaje = None + combo.set_active(0) def get_lenguaje(self): @@ -581,7 +544,7 @@ class Barra_Inferior(Gtk.HBox): Gtk.HBox.__init__(self) - self.combo = Combo_Lenguajes() + self.combo = ComboLenguajes() self.b_estado = Gtk.Statusbar() self.b_estado.push(0, 'Línea:0, Columna:0') @@ -615,7 +578,7 @@ class Combo_Estilos(Gtk.ComboBoxText): self.set_active(estilo_principal) -class Combo_Lenguajes(Gtk.ComboBoxText): +class ComboLenguajes(Gtk.ComboBoxText): """Un GtkComboBoxText para mostrar los lenguajes de programación instalados en el sistema""" @@ -623,9 +586,10 @@ class Combo_Lenguajes(Gtk.ComboBoxText): Gtk.ComboBoxText.__init__(self) - self.primera_vez = True + self.lenguaje_manager = G.lenguaje_manager + self.lenguajes = G.lenguajes - for lenguaje in lenguajes: + for lenguaje in self.lenguajes: self.append_text(lenguaje) self.set_active(0) @@ -641,47 +605,17 @@ class Combo_Lenguajes(Gtk.ComboBoxText): else: tipo = 'text/plain' - if not self.primera_vez: - self.buscar_lenguaje(tipo, buffer) - - else: - self.primera_vez = False - - def buscar_lenguaje(self, filename, buffer): - """Busca un lenguaje especifico, - y lo activa en el Widget clase""" - - manager = lenguaje_manager - extension = filename.split('.')[-1] - - if extension != filename and extension in lenguajes: - lenguaje = manager.get_language() - numero = self.index(extension) - - self.set_active(numero) - buffer.set_language(lenguaje) - - else: - language = manager.guess_language(filename, 'algo') - - if language: - buffer.set_highlight_syntax(True) - buffer.set_language(language) - - else: - buffer.set_highlight_syntax(False) - - buffer.buscar_lenguaje(filename) + self.buscar_lenguaje(tipo, buffer) def get_lenguajes(self): - """Devuelve la lista con lenguajes ya ordenados por orden alfabetico""" + """Devuelve la lista con los lenguajes.""" - return lenguajes + return self.lenguajes def get_lenguaje_manager(self): - """Devuelve la variable 'lenguaje_manager'""" + """Devuelve la variable 'lenguaje_manager'.""" - return lenguaje_manager + return self.lenguaje_manager class DialogoCerrar(Gtk.MessageDialog): @@ -755,21 +689,23 @@ class DialogoEstado(Gtk.Dialog): self.label_lineas = Gtk.Label() self.label_modificado = Gtk.Label() self.label_fuente = Gtk.Label() - self.label_lugar = Gtk.Label() + self.entry_lugar = Gtk.Entry() self.label_pestania = Gtk.Label() + self.entry_lugar.set_editable(False) + self.actualizar_estado() self.tabla = Gtk.Table(7, 2, False) label_caracteres = Gtk.Label('Cantidad de caractéres:') label_lineas = Gtk.Label('Cantidad de líneas:') - label_lugar = Gtk.Label('Ubicación de archivo:') + entry_lugar = Gtk.Label('Ubicación de archivo:') label_modificado = Gtk.Label('Estado de modificación:') label_fuente = Gtk.Label('Fuente de Texto:') label_pestania = Gtk.Label('Pestaña actual:') - lista = [self.label_caracteres, self.label_lineas, self.label_lugar, + lista = [self.label_caracteres, self.label_lineas, self.entry_lugar, self.label_modificado, self.label_pestania] for label in lista: @@ -782,14 +718,14 @@ class DialogoEstado(Gtk.Dialog): self.tabla.attach(label_caracteres, 0, 1, 0, 1) self.tabla.attach(label_lineas, 0, 1, 1, 2) - self.tabla.attach(label_lugar, 0, 1, 2, 3) + self.tabla.attach(entry_lugar, 0, 1, 2, 3) self.tabla.attach(label_modificado, 0, 1, 3, 4) self.tabla.attach(label_fuente, 0, 1, 4, 5) self.tabla.attach(label_pestania, 0, 1, 5, 6) self.tabla.attach(self.label_caracteres, 1, 2, 0, 1) self.tabla.attach(self.label_lineas, 1, 2, 1, 2) - self.tabla.attach(self.label_lugar, 1, 2, 2, 3) + self.tabla.attach(self.entry_lugar, 1, 2, 2, 3) self.tabla.attach(self.label_modificado, 1, 2, 3, 4) self.tabla.attach(self.label_fuente, 1, 2, 4, 5) self.tabla.attach(self.label_pestania, 1, 2, 5, 6) @@ -818,7 +754,7 @@ class DialogoEstado(Gtk.Dialog): self.label_caracteres.set_text(str(buffer.get_char_count())) self.label_lineas.set_text(str(buffer.get_line_count())) self.label_fuente.set_text(fuente) - self.label_lugar.set_text(direccion) + self.entry_lugar.set_text(direccion) self.label_pestania.set_text(str(pagina) + '/' + str(paginas)) if buffer.get_modified(): @@ -1407,7 +1343,7 @@ class Terminal(Vte.Terminal): """Imprime un texto cuando recién se crea el Widget clase""" - print BIENVENIDA + print G.BIENVENIDA def tecla(self, widget, event): """Obtiene el evento de teclado y diff --git a/CristianEdit/objetos.pyc b/CristianEdit/objetos.pyc index 47bf98c..cfb48b7 100644 --- a/CristianEdit/objetos.pyc +++ b/CristianEdit/objetos.pyc Binary files differ -- cgit v0.9.1