diff options
author | Ignacio ROdríguez <ignaciorodriguez@sugarlabs.org> | 2013-05-13 23:30:17 (GMT) |
---|---|---|
committer | Ignacio ROdríguez <ignaciorodriguez@sugarlabs.org> | 2013-05-13 23:30:17 (GMT) |
commit | eeb69619dfec467f410dbbe4c1dde0d837875c37 (patch) | |
tree | 4d4d956124f6338a12e89591e36372360556194f | |
parent | bebcc1a27d46358f584cb5d0af8ff3180c96a707 (diff) |
Ahora autocompleta en cualquier línea.
-rw-r--r-- | WorkPanel.py | 56 |
1 files changed, 26 insertions, 30 deletions
diff --git a/WorkPanel.py b/WorkPanel.py index 9c41329..83e39aa 100644 --- a/WorkPanel.py +++ b/WorkPanel.py @@ -253,42 +253,38 @@ class AutoCompletado(GObject.Object, GtkSource.CompletionProvider): def do_get_name(self): return self.nombre_modulo - def do_populate(self, context): - inicio = self.buffer.get_start_iter() - fin = self.buffer.get_iter_at_mark(self.buffer.get_insert()) - texto = self.buffer.get_text(inicio, fin, True) - + def do_populate(self, context): self.modulo = None Tema = Gtk.IconTheme.get_default() Icono = Tema.load_icon(Gtk.STOCK_DIALOG_INFO, 16, 0) - if texto and texto[-1] == '.': - - if ' ' in texto: - palabras = texto.split(' ') - modulo = palabras[-1].replace('.', '') - self.nombre_modulo = modulo - else: - modulo = texto.replace('.', '') + inicio = self.buffer.get_start_iter() + ingresado = self.buffer.get_iter_at_mark(self.buffer.get_insert()) + texto = self.buffer.get_text(inicio, ingresado, True) + lineas = texto.splitlines() + + for linea in lineas: + if linea and linea[-1] == '.': + modulo = linea.replace('.', '') self.nombre_modulo = modulo - - try: - mod = __import__("gi.repository.%s" % modulo) - self.modulo = mod.importer.modules.get(modulo) - - except: try: - if modulo != 'gtk' and modulo != 'gobject': - self.modulo = __import__(modulo) - + mod = __import__("gi.repository.%s" % modulo) + self.modulo = mod.importer.modules.get(modulo) except: - pass + try: + if modulo != 'gtk' and modulo != 'gobject': + self.modulo = __import__(modulo) + + except: + pass + + self.resultados = [] - self.resultados = [] - - if self.modulo: - for Resultado in dir(self.modulo): - self.resultados.append(GtkSource.CompletionItem.new(Resultado, Resultado, Icono, "Descripción - PygiHack")) - - context.add_proposals(self, self.resultados, True) + if self.modulo: + for Resultado in dir(self.modulo): + self.resultados.append(GtkSource.CompletionItem.new(Resultado, + Resultado, Icono, + "Descripción - PygiHack")) + + context.add_proposals(self, self.resultados, True) |