本文整理汇总了Python中PyQt4.Qsci.QsciAPIs.cancelPreparation方法的典型用法代码示例。如果您正苦于以下问题:Python QsciAPIs.cancelPreparation方法的具体用法?Python QsciAPIs.cancelPreparation怎么用?Python QsciAPIs.cancelPreparation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt4.Qsci.QsciAPIs
的用法示例。
在下文中一共展示了QsciAPIs.cancelPreparation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: CommandShell
# 需要导入模块: from PyQt4.Qsci import QsciAPIs [as 别名]
# 或者: from PyQt4.Qsci.QsciAPIs import cancelPreparation [as 别名]
class CommandShell(QsciScintilla):
def __init__(self, parent=None):
super(CommandShell, self).__init__(parent)
self.setMinimumHeight(50)
self.setMaximumHeight(50)
self.settings = QSettings()
self.lex = QsciLexerPython(self)
self.apis = QsciAPIs(self.lex)
self.lex.setAPIs(self.apis)
self.setLexers()
self.SendScintilla(QsciScintilla.SCI_SETHSCROLLBAR, 0)
self.SendScintilla(QsciScintilla.SCI_SETVSCROLLBAR, 0)
self.setFolding(0)
self._start_prompt = _start_prompt
self.prompt = self._start_prompt
self.currentfunction = None
self.setAutoCompletionSource(self.AcsAPIs)
self.setAutoCompletionThreshold(1)
self.setAutoCompletionReplaceWord(True)
self.setCallTipsStyle(QsciScintilla.CallTipsNoContext)
self.parent().installEventFilter(self)
self.textChanged.connect(self.text_changed)
self._lastcompletions = None
def text_changed(self):
if not self.get_data().strip():
return
try:
completions = command.completions_for_line(self.get_data())
if completions == self._lastcompletions:
self.autoCompleteFromAPIs()
return
self._lastcompletions = completions
self.apis.cancelPreparation()
self.apis.clear()
for value in completions:
data = u"{}".format(value)
self.apis.add(data)
self.apis.prepare()
except command.NoFunction:
return
def end(self):
self.parent().removeEventFilter(self)
self.close()
def eventFilter(self, object, event):
if event.type() == QEvent.Resize:
self.adjust_size()
return QWidget.eventFilter(self, object, event)
def keyPressEvent(self, e):
if e.key() in (Qt.Key_Return, Qt.Key_Enter):
self.entered()
elif e.key() == Qt.Key_Escape:
self.close()
elif e.key() in (Qt.Key_Backspace, Qt.Key_Delete):
_, newindex = self.getCursorPosition()
if newindex > len(self.prompt):
QsciScintilla.keyPressEvent(self, e)
else:
QsciScintilla.keyPressEvent(self, e)
def show_prompt(self, prompt=_start_prompt, data=None):
self.clear()
if not prompt == _start_prompt:
prompt += ":"
text = prompt
if data:
text = prompt + str(data)
self.setText(text)
self.prompt = prompt
self.move_cursor_to_end()
def get_end_pos(self):
"""Return (line, index) position of the last character"""
line = self.lines() - 1
return (line, len(self.text(line)))
def move_cursor_to_end(self):
"""Move cursor to end of text"""
line, index = self.get_end_pos()
self.setCursorPosition(line, index)
self.ensureCursorVisible()
self.ensureLineVisible(line)
def get_data(self):
line = self.text()
line = line[len(self.prompt):]
return line
def entered(self):
line = self.get_data()
#.........这里部分代码省略.........
示例2: APIs
# 需要导入模块: from PyQt4.Qsci import QsciAPIs [as 别名]
# 或者: from PyQt4.Qsci.QsciAPIs import cancelPreparation [as 别名]
#.........这里部分代码省略.........
def __apiPreparationCancelled(self):
"""
Private method called, after the API preparation process has been cancelled.
"""
self.__inPreparation = False
self.emit(SIGNAL('apiPreparationCancelled()'))
def __apiPreparationStarted(self):
"""
Private method called, when the API preparation process started.
"""
self.__inPreparation = True
self.emit(SIGNAL('apiPreparationStarted()'))
def prepareAPIs(self, ondemand = False, rawList = None):
"""
Public method to prepare the APIs if necessary.
@keyparam ondemand flag indicating a requested preparation (boolean)
@keyparam rawList list of raw API files (QStringList)
"""
if self.__apis is None or self.__inPreparation:
return
needsPreparation = False
if ondemand:
needsPreparation = True
else:
# check, if a new preparation is necessary
preparedAPIs = self.__defaultPreparedName()
if not preparedAPIs.isEmpty():
preparedAPIsInfo = QFileInfo(preparedAPIs)
if not preparedAPIsInfo.exists():
needsPreparation = True
else:
preparedAPIsTime = preparedAPIsInfo.lastModified()
apifiles = Preferences.getEditorAPI(self.__language)
apifiles.sort()
if self.__apifiles != apifiles:
needsPreparation = True
for apifile in apifiles:
if QFileInfo(apifile).lastModified() > preparedAPIsTime:
needsPreparation = True
break
if needsPreparation:
# do the preparation
self.__apis.clear()
if rawList:
apifiles = rawList
else:
apifiles = Preferences.getEditorAPI(self.__language)
for apifile in apifiles:
self.__apis.load(apifile)
self.__apis.prepare()
self.__apifiles = apifiles
def cancelPreparation(self):
"""
Public slot to cancel the APIs preparation.
"""
self.__apis and self.__apis.cancelPreparation()
def installedAPIFiles(self):
"""
Public method to get a list of installed API files.
@return list of installed API files (QStringList)
"""
if self.__apis is not None:
if Utilities.isWindowsPlatform():
qsciPath = os.path.join(Utilities.getPyQt4ModulesDirectory(), "qsci")
if os.path.exists(qsciPath):
# it's the installer
if self.__lexer.lexer() is not None:
apidir = os.path.join(qsciPath, "api", self.__lexer.lexer())
fnames = QStringList()
filist = QDir(apidir).entryInfoList(["*.api"], QDir.Files,
QDir.IgnoreCase)
for fi in filist:
fnames.append(fi.absoluteFilePath())
return fnames
else:
return QStringList()
return self.__apis.installedAPIFiles()
else:
return QStringList()
def __defaultPreparedName(self):
"""
Private method returning the default name of a prepared API file.
@return complete filename for the Prepared APIs file (QString)
"""
if self.__apis is not None:
return self.__apis.defaultPreparedName()
else:
return QString()