def textInserted(hwnd, start, text):
global currentEntry, autoFlushTimer
log.debug("textInserted %r" % text)
if currentEntry is not None:
prevStart, prevText = currentEntry
if (not (start == -1 and prevStart == -1)) and (start < prevStart or start > (prevStart + len(prevText))):
flushCurrentEntry()
if currentEntry is not None:
prevStart, prevText = currentEntry
if prevStart == -1 and start == -1:
currentEntry = (-1, prevText + text)
else:
currentEntry = (prevStart, prevText[:start - prevStart] + text)
else:
currentEntry = (start, text)
if autoFlushTimer is not None:
autoFlushTimer.Stop()
autoFlushTimer = None
def autoFlush(*args, **kwargs):
global autoFlushTimer
autoFlushTimer = None
flushCurrentEntry()
autoFlushTimer = wx.CallLater(100, autoFlush)
评论列表
文章目录