diff options
author | Ignacio Rodríguez <ignaciorodriguez@sugarlabs.org> | 2013-05-16 00:39:09 (GMT) |
---|---|---|
committer | Ignacio Rodríguez <ignaciorodriguez@sugarlabs.org> | 2013-05-16 00:39:09 (GMT) |
commit | 844080b5827a597ae4237cfc110e049927af59c6 (patch) | |
tree | 57adee40cb2502660b54bda2a59b1565729b8ab3 | |
parent | 5f5e931428df14ddb2021c67fbb4c6e996be5943 (diff) |
Correciones finales para el autocompletado.
-rw-r--r-- | WorkPanel.py | 43 |
1 files changed, 28 insertions, 15 deletions
diff --git a/WorkPanel.py b/WorkPanel.py index 0be1117..af7d3bc 100644 --- a/WorkPanel.py +++ b/WorkPanel.py @@ -278,6 +278,7 @@ class AutoCompletado(GObject.Object, GtkSource.CompletionProvider): """ nombre = dato1.get_text() + self.nombre_modulo = self.nombre_modulo + "." + nombre if not self.modulo: return try: @@ -314,29 +315,42 @@ class AutoCompletado(GObject.Object, GtkSource.CompletionProvider): texto = self.buffer.get_text(inicio, ingresado, True) lineas = texto.splitlines() - tipo = str(type(self.ultimo_seleccionado)) - - if "class" in tipo or "module" in tipo or "function" in tipo: - self.resultados = [] - for Resultado in dir(self.ultimo_seleccionado): - self.resultados.append( - GtkSource.CompletionItem.new( - Resultado, - Resultado, - icono, - "Descripción - PygiHack")) - context.add_proposals(self, self.resultados, True) - return - if lineas: linea = lineas[-1] else: linea = '' + dato1 = linea[len(linea)-2:len(linea)] + + try: + dat = linea.find(self.nombre_modulo) + dat1 = len(self.nombre_modulo) + dato_nombre = linea[dat:dat1] + except: + dato_nombre = "" + + if dato1[-1] == "." and dato1 != " ." and dato_nombre == self.nombre_modulo: + tipo = str(type(self.ultimo_seleccionado)) + if "class" in tipo or "module" in tipo or "function" in tipo: + self.resultados = [] + for Resultado in dir(self.ultimo_seleccionado): + self.resultados.append( + GtkSource.CompletionItem.new( + Resultado, + Resultado, + icono, + "Descripción - PygiHack")) + context.add_proposals(self, self.resultados, True) + else: + self.ultimo_seleccionado = None + self.nombre_modulo = None + self.modulo = None + if ' ' in linea: modulo = linea.split(' ')[-1] else: modulo = linea + if modulo and modulo[-1] == '.': mod = '' @@ -365,7 +379,6 @@ class AutoCompletado(GObject.Object, GtkSource.CompletionProvider): Resultado, icono, "Descripción - PygiHack")) - context.add_proposals(self, self.resultados, True) def __get_modulos_gi(self): |