X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1ad0de842df4994a74d045a890f2503b393ceee9..3ad84671d3668996da1e351e83c7d859fc094603:/wxPython/wx/py/shell.py?ds=inline diff --git a/wxPython/wx/py/shell.py b/wxPython/wx/py/shell.py index de8c88c90c..c86ced152d 100644 --- a/wxPython/wx/py/shell.py +++ b/wxPython/wx/py/shell.py @@ -147,10 +147,9 @@ Ctrl+[ Decrease font size. Ctrl+= Default font size. Ctrl-Space Show Auto Completion. Ctrl-Alt-Space Show Call Tip. -Alt+Shift+C Clear Screen. Shift+Enter Complete Text from History. -Ctrl+F Search (backwards) TODO: regexp-wholeWords-... -Ctrl+G Search next +Ctrl+F Search +F3 Search next Ctrl+H "hide" lines containing selection / "unhide" F12 on/off "free-edit" mode """ @@ -169,6 +168,7 @@ class ShellFacade: d = self.__dict__ d['other'] = other d['helpText'] = HELP_TEXT + d['this'] = other.this def help(self): """Display some useful information about how to use the shell.""" @@ -321,6 +321,11 @@ class Shell(editwindow.EditWindow): wx.CallAfter(self.ScrollToLine, 0) + def clearHistory(self): + self.history = [] + self.historyIndex = -1 + dispatcher.send(signal="Shell.clearHistory") + def destroy(self): del self.interp @@ -349,7 +354,7 @@ class Shell(editwindow.EditWindow): def setBuiltinKeywords(self): """Create pseudo keywords as part of builtins. - This sets `close`, `exit` and `quit` to a helpful string. + This sets "close", "exit" and "quit" to a helpful string. """ import __builtin__ __builtin__.close = __builtin__.exit = __builtin__.quit = \ @@ -416,7 +421,7 @@ Platform: %s""" % \ currpos = self.GetCurrentPos() stoppos = self.promptPosEnd # Return (Enter) needs to be ignored in this handler. - if key == wx.WXK_RETURN: + if key in [wx.WXK_RETURN, wx.WXK_NUMPAD_ENTER]: pass elif key in self.autoCompleteKeys: # Usually the dot (period) key activates auto completion. @@ -512,17 +517,17 @@ Platform: %s""" % \ # Return (Enter) is used to submit a command to the # interpreter. - if (not controlDown and not shiftDown and not altDown) and key == wx.WXK_RETURN: + if (not controlDown and not shiftDown and not altDown) and key in [wx.WXK_RETURN, wx.WXK_NUMPAD_ENTER]: if self.CallTipActive(): self.CallTipCancel() self.processLine() # Complete Text (from already typed words) - elif shiftDown and key == wx.WXK_RETURN: + elif shiftDown and key in [wx.WXK_RETURN, wx.WXK_NUMPAD_ENTER]: self.OnShowCompHistory() # Ctrl+Return (Ctrl+Enter) is used to insert a line break. - elif controlDown and key == wx.WXK_RETURN: + elif controlDown and key in [wx.WXK_RETURN, wx.WXK_NUMPAD_ENTER]: if self.CallTipActive(): self.CallTipCancel() if currpos == endpos: @@ -918,6 +923,7 @@ Platform: %s""" % \ if command != '' \ and (len(self.history) == 0 or command != self.history[0]): self.history.insert(0, command) + dispatcher.send(signal="Shell.addHistory", command=command) def write(self, text): """Display text in the shell.