diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py index ef8e12208b2..45481ed53f5 100644 --- a/Lib/idlelib/EditorWindow.py +++ b/Lib/idlelib/EditorWindow.py @@ -80,6 +80,9 @@ def __init__(self, flist=None, filename=None, key=None, root=None): self.top.protocol("WM_DELETE_WINDOW", self.close) self.top.bind("<>", self.close_event) + text.bind("<>", self.cut) + text.bind("<>", self.copy) + text.bind("<>", self.paste) text.bind("<>", self.center_insert_event) text.bind("<>", self.help_dialog) text.bind("<>", self.good_advice) @@ -311,6 +314,18 @@ def python_docs(self, event=None): def display_docs(self, url): webbrowser.open(url) + def cut(self,event): + self.text.event_generate("<>") + return "break" + + def copy(self,event): + self.text.event_generate("<>") + return "break" + + def paste(self,event): + self.text.event_generate("<>") + return "break" + def select_all(self, event=None): self.text.tag_add("sel", "1.0", "end-1c") self.text.mark_set("insert", "1.0") @@ -743,6 +758,7 @@ def apply_bindings(self, keydefs=None): text = self.text text.keydefs = keydefs for event, keylist in keydefs.items(): + ##print>>sys.__stderr__, "event, list: ", event, keylist if keylist: apply(text.event_add, (event,) + tuple(keylist)) @@ -755,6 +771,7 @@ def fill_menus(self, defs=None, keydefs=None): defs = self.Bindings.menudefs if keydefs is None: keydefs = self.Bindings.default_keydefs + ##print>>sys.__stderr__, "*keydefs: " , keydefs menudict = self.menudict text = self.text for mname, itemlist in defs: @@ -770,6 +787,7 @@ def fill_menus(self, defs=None, keydefs=None): if checkbutton: label = label[1:] underline, label = prepstr(label) + ##print>>sys.__stderr__, "*Event: " , event accelerator = get_accelerator(keydefs, event) def command(text=text, event=event): text.event_generate(event) @@ -779,8 +797,12 @@ def command(text=text, event=event): command=command, accelerator=accelerator, variable=var) else: + ##print>>sys.__stderr__, "label, ul, cmd, accel: ", + ## label, underline, command, + ## accelerator menu.add_command(label=label, underline=underline, - command=command, accelerator=accelerator) + command=command, + accelerator=accelerator) def getvar(self, name): var = self.getrawvar(name) diff --git a/Lib/idlelib/config-keys.def b/Lib/idlelib/config-keys.def index 0c81b17af03..ebaffd4f9de 100644 --- a/Lib/idlelib/config-keys.def +++ b/Lib/idlelib/config-keys.def @@ -15,6 +15,7 @@ beginning-of-line= center-insert= close-all-windows= close-window= +do-nothing= end-of-file= python-docs= python-context-help= @@ -108,6 +109,7 @@ beginning-of-line= center-insert= close-all-windows= close-window= +do-nothing= end-of-file= python-docs= python-context-help= diff --git a/Lib/idlelib/configHandler.py b/Lib/idlelib/configHandler.py index 2dd46e2e66c..d3a88f27c0f 100644 --- a/Lib/idlelib/configHandler.py +++ b/Lib/idlelib/configHandler.py @@ -496,6 +496,7 @@ def GetCoreKeys(self, keySetName=None): '<>': [''], '<>': [''], '<>': [''], + '<>': [''], '<>': [''], '<>': [''], '<>': [''],