Source code for openalea.oalab.editor.completion

# -*- python -*-
# 
#       OpenAlea.OALab: Multi-Paradigm GUI
#
#       Copyright 2013 INRIA - CIRAD - INRA
#
#       File author(s): Julien Coste <julien.coste@inria.fr>
#
#       File contributor(s):
#
#       Distributed under the Cecill-C License.
#       See accompanying file LICENSE.txt or copy at
#           http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html
#
#       OpenAlea WebSite : http://openalea.gforge.inria.fr
#
###############################################################################
__revision__ = ""

from openalea.vpltk.qt import QtGui
import keyword
import __builtin__

[docs]class DictionaryCompleter(QtGui.QCompleter): def __init__(self, parent=None): super(DictionaryCompleter, self).__init__(parent) self.basic_words = keyword.kwlist + __builtin__.__dict__.keys() self.update_dict()
[docs] def update_dict(self): """ Use it to add new words from locals() and globals() """ words = self.basic_words + locals().keys() + globals().keys() QtGui.QCompleter.__init__(self, words, self.parent())
[docs] def add_words(self, words): """ Add a list of words into dict """ words = list(words) self.words = self.words + words self.update_dict()