diff options
author | Steven M. Gava <elguavas@python.net> | 2002-01-19 10:41:51 +0000 |
---|---|---|
committer | Steven M. Gava <elguavas@python.net> | 2002-01-19 10:41:51 +0000 |
commit | 72c3bf076f785aaf54d63a7e8cae29bc8282920e (patch) | |
tree | 25a7d261d1cd962735f40dc038fd51ce5b1edf99 /Lib/idlelib | |
parent | c628a06c709dcf0d96ad55a475a5a1318d06dba4 (diff) | |
download | cpython-git-72c3bf076f785aaf54d63a7e8cae29bc8282920e.tar.gz |
changeover to new keybinding configuration implementation
Diffstat (limited to 'Lib/idlelib')
-rw-r--r-- | Lib/idlelib/AutoExpand.py | 8 | ||||
-rw-r--r-- | Lib/idlelib/AutoIndent.py | 34 | ||||
-rw-r--r-- | Lib/idlelib/Bindings.py | 2 | ||||
-rw-r--r-- | Lib/idlelib/CallTips.py | 13 | ||||
-rw-r--r-- | Lib/idlelib/EditorWindow.py | 13 | ||||
-rw-r--r-- | Lib/idlelib/ExecBinding.py | 5 | ||||
-rw-r--r-- | Lib/idlelib/FormatParagraph.py | 8 | ||||
-rw-r--r-- | Lib/idlelib/ParenMatch.py | 12 | ||||
-rw-r--r-- | Lib/idlelib/ScriptBinding.py | 6 | ||||
-rw-r--r-- | Lib/idlelib/ZoomHeight.py | 9 | ||||
-rw-r--r-- | Lib/idlelib/config-extensions.def | 49 |
11 files changed, 50 insertions, 109 deletions
diff --git a/Lib/idlelib/AutoExpand.py b/Lib/idlelib/AutoExpand.py index 09f34b38d9..c50e52a14f 100644 --- a/Lib/idlelib/AutoExpand.py +++ b/Lib/idlelib/AutoExpand.py @@ -7,14 +7,6 @@ import re class AutoExpand: - keydefs = { - '<<expand-word>>': ['<Alt-slash>'], - } - - unix_keydefs = { - '<<expand-word>>': ['<Meta-slash>', '<Alt-slash>'], - } - menudefs = [ ('edit', [ ('E_xpand word', '<<expand-word>>'), diff --git a/Lib/idlelib/AutoIndent.py b/Lib/idlelib/AutoIndent.py index 6d38481a42..eff398b527 100644 --- a/Lib/idlelib/AutoIndent.py +++ b/Lib/idlelib/AutoIndent.py @@ -41,7 +41,6 @@ class AutoIndent: menudefs = [ ('format', [ # /s/edit/format dscherer@cmu.edu - None, ('_Indent region', '<<indent-region>>'), ('_Dedent region', '<<dedent-region>>'), ('Comment _out region', '<<comment-region>>'), @@ -53,39 +52,6 @@ class AutoIndent: ]), ] - keydefs = { - '<<smart-backspace>>': ['<Key-BackSpace>'], - '<<newline-and-indent>>': ['<Key-Return>', '<KP_Enter>'], - '<<smart-indent>>': ['<Key-Tab>'] - } - - windows_keydefs = { - '<<indent-region>>': ['<Control-bracketright>'], - '<<dedent-region>>': ['<Shift-Tab>', # dscherer@cmu.edu - '<Control-bracketleft>'], - '<<comment-region>>': ['<Alt-Key-3>'], - '<<uncomment-region>>': ['<Alt-Key-4>'], - '<<tabify-region>>': ['<Alt-Key-5>'], - '<<untabify-region>>': ['<Alt-Key-6>'], - '<<toggle-tabs>>': ['<Alt-Key-t>'], - '<<change-indentwidth>>': ['<Alt-Key-u>'], - } - - unix_keydefs = { - '<<indent-region>>': ['<Alt-bracketright>', - '<Meta-bracketright>', - '<Control-bracketright>'], - '<<dedent-region>>': ['<Alt-bracketleft>', - '<Meta-bracketleft>', - '<Control-bracketleft>'], - '<<comment-region>>': ['<Alt-Key-3>', '<Meta-Key-3>'], - '<<uncomment-region>>': ['<Alt-Key-4>', '<Meta-Key-4>'], - '<<tabify-region>>': ['<Alt-Key-5>', '<Meta-Key-5>'], - '<<untabify-region>>': ['<Alt-Key-6>', '<Meta-Key-6>'], - '<<toggle-tabs>>': ['<Alt-Key-t>'], - '<<change-indentwidth>>': ['<Alt-Key-u>'], - } - # usetabs true -> literal tab characters are used by indent and # dedent cmds, possibly mixed with spaces if # indentwidth is not a multiple of tabwidth diff --git a/Lib/idlelib/Bindings.py b/Lib/idlelib/Bindings.py index 862ceb69f9..2269a90223 100644 --- a/Lib/idlelib/Bindings.py +++ b/Lib/idlelib/Bindings.py @@ -73,6 +73,6 @@ menudefs = [ ]), ] -default_keydefs = idleConf.GetKeys(keySetName=idleConf.CurrentKeys()) +default_keydefs = idleConf.GetCurrentKeySet() del sys diff --git a/Lib/idlelib/CallTips.py b/Lib/idlelib/CallTips.py index 7c5f41c73d..b1f100f222 100644 --- a/Lib/idlelib/CallTips.py +++ b/Lib/idlelib/CallTips.py @@ -10,19 +10,6 @@ class CallTips: menudefs = [ ] - keydefs = { - '<<paren-open>>': ['<Key-parenleft>'], - '<<paren-close>>': ['<Key-parenright>'], - '<<check-calltip-cancel>>': ['<KeyRelease>'], - '<<calltip-cancel>>': ['<ButtonPress>', '<Key-Escape>'], - } - - windows_keydefs = { - } - - unix_keydefs = { - } - def __init__(self, editwin): self.editwin = editwin self.text = editwin.text diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py index 237a462c5c..bba1702e4d 100644 --- a/Lib/idlelib/EditorWindow.py +++ b/Lib/idlelib/EditorWindow.py @@ -590,17 +590,7 @@ class EditorWindow: cls = getattr(mod, name) ins = cls(self) self.extensions[name] = ins - kdnames = ["keydefs"] - if sys.platform == 'win32': - kdnames.append("windows_keydefs") - elif sys.platform == 'mac': - kdnames.append("mac_keydefs") - else: - kdnames.append("unix_keydefs") - keydefs = {} - for kdname in kdnames: - if hasattr(ins, kdname): - keydefs.update(getattr(ins, kdname)) + keydefs=idleConf.GetExtensionBindings(name) if keydefs: self.apply_bindings(keydefs) for vevent in keydefs.keys(): @@ -612,6 +602,7 @@ class EditorWindow: methodname = methodname + "_event" if hasattr(ins, methodname): self.text.bind(vevent, getattr(ins, methodname)) + if hasattr(ins, "menudefs"): self.fill_menus(ins.menudefs, keydefs) return ins diff --git a/Lib/idlelib/ExecBinding.py b/Lib/idlelib/ExecBinding.py index 67b08220d9..e148769c98 100644 --- a/Lib/idlelib/ExecBinding.py +++ b/Lib/idlelib/ExecBinding.py @@ -45,11 +45,6 @@ def loader_connect(client, addr): protocol.publish('ExecBinding', loader_connect) class ExecBinding: - keydefs = { - '<<run-complete-script>>': ['<F5>'], - '<<stop-execution>>': ['<Cancel>'], #'<Control-c>' - } - menudefs = [ ('run', [None, ('Run program', '<<run-complete-script>>'), diff --git a/Lib/idlelib/FormatParagraph.py b/Lib/idlelib/FormatParagraph.py index 498e2efbad..cf5e36589b 100644 --- a/Lib/idlelib/FormatParagraph.py +++ b/Lib/idlelib/FormatParagraph.py @@ -25,14 +25,6 @@ class FormatParagraph: ]) ] - keydefs = { - '<<format-paragraph>>': ['<Alt-q>'], - } - - unix_keydefs = { - '<<format-paragraph>>': ['<Meta-q>'], - } - def __init__(self, editwin): self.editwin = editwin diff --git a/Lib/idlelib/ParenMatch.py b/Lib/idlelib/ParenMatch.py index 17d76c2659..78514226a7 100644 --- a/Lib/idlelib/ParenMatch.py +++ b/Lib/idlelib/ParenMatch.py @@ -43,19 +43,7 @@ class ParenMatch: to the right of a right paren. I don't know how to do that in Tk, so I haven't bothered. """ - menudefs = [] - - keydefs = { - '<<flash-open-paren>>' : ('<KeyRelease-parenright>', - '<KeyRelease-bracketright>', - '<KeyRelease-braceright>'), - '<<check-restore>>' : ('<KeyPress>',), - } - - windows_keydefs = {} - unix_keydefs = {} - iconf = idleconf.getsection('ParenMatch') STYLE = iconf.getdef('style', 'default') FLASH_DELAY = iconf.getint('flash-delay') diff --git a/Lib/idlelib/ScriptBinding.py b/Lib/idlelib/ScriptBinding.py index b54dfc4c79..2b3bf99267 100644 --- a/Lib/idlelib/ScriptBinding.py +++ b/Lib/idlelib/ScriptBinding.py @@ -35,12 +35,6 @@ by Untabify Region (both in the Edit menu).""" class ScriptBinding: - keydefs = { - '<<check-module>>': ['<Alt-F5>', '<Meta-F5>'], - '<<import-module>>': ['<F5>'], - '<<run-script>>': ['<Control-F5>'], - } - menudefs = [ ('edit', [None, ('Check module', '<<check-module>>'), diff --git a/Lib/idlelib/ZoomHeight.py b/Lib/idlelib/ZoomHeight.py index ecc306a733..f2b99e96b2 100644 --- a/Lib/idlelib/ZoomHeight.py +++ b/Lib/idlelib/ZoomHeight.py @@ -10,14 +10,7 @@ class ZoomHeight: ('_Zoom Height', '<<zoom-height>>'), ]) ] - - windows_keydefs = { - '<<zoom-height>>': ['<Alt-F2>'], - } - unix_keydefs = { - '<<zoom-height>>': ['<Control-x><Control-z>'], - } - + def __init__(self, editwin): self.editwin = editwin diff --git a/Lib/idlelib/config-extensions.def b/Lib/idlelib/config-extensions.def index b4e9b02509..c0439e6d45 100644 --- a/Lib/idlelib/config-extensions.def +++ b/Lib/idlelib/config-extensions.def @@ -1,26 +1,66 @@ # IDLE reads several config files to determine user preferences. This # file is the default config file for idle extensions settings. +# +# Each extension must have at least one section, named after the extension +# module. This section must contain an 'enable' item (=1 to enable the +# extension, =0 to disable it) and also contains any other general configuration +# items for the extension. Each extension may also define up to two optional +# sections named ExtensionName_bindings and ExtensionName_cfgBindings. If +# present, ExtensionName_bindings defines virtual event bindings for the +# extension that are not sensibly re-configurable. If present, +# ExtensionName_cfgBindings defines virtual event bindings for the extension +# that may be sensibly re-configured. [FormatParagraph] enable=1 +[FormatParagraph_cfgBindings] +format-paragraph=<Alt-Key-q> [AutoIndent] enable=1 +[AutoIndent_cfgBindings] +smart-backspace=<Key-BackSpace> +newline-and-indent=<Key-Return> <Key-KP_Enter> +smart-indent=<Key-Tab> +indent-region=<Control-Key-bracketright> +dedent-region=<Control-Key-bracketleft> +comment-region=<Alt-Key-3> +uncomment-region=<Alt-Key-4> +tabify-region=<Alt-Key-5> +untabify-region=<Alt-Key-6> +toggle-tabs=<Alt-Key-t> +change-indentwidth=<Alt-Key-u> [AutoExpand] enable=1 +[AutoExpand_cfgBindings] +expand-word=<Alt-Key-slash> [ZoomHeight] enable=1 - -#[ScriptBinding] # disabled in favor of ExecBinding -#enable=0 +[ZoomHeight_cfgBindings] +zoom-height=<Alt-Key-F2> [ExecBinding] enable=1 +[ExecBinding_cfgBindings] +run-complete-script=<Key-F5> +stop-execution=<Key-Cancel> + +#[ScriptBinding] #currently ExecBinding has replaced ScriptBinding +#enable=0 +#[ScriptBinding_cfgBindings] +#run-script=<Key-F5> +#check-module=<Alt-Key-F5> <Meta-Key-F5> +#import-module=<Control-Key-F5> [CallTips] enable=1 +[CallTips_bindings] +paren-open=<Key-parenleft> +paren-close=<Key-parenright> +check-calltip-cancel=<KeyRelease> +calltip-cancel=<ButtonPress> <Key-Escape> [ParenMatch] enable=0 @@ -29,3 +69,6 @@ flash-delay= 500 bell= 1 hilite-foreground= black hilite-background= #43cd80 +[ParenMatch_bindings] +flash-open-paren=<KeyRelease-parenright> <KeyRelease-bracketright> <KeyRelease-braceright> +check-restore=<KeyPress> |