]> granicus.if.org Git - python/commitdiff
changeover to new keybinding configuration implementation
authorSteven M. Gava <elguavas@python.net>
Sat, 19 Jan 2002 10:41:51 +0000 (10:41 +0000)
committerSteven M. Gava <elguavas@python.net>
Sat, 19 Jan 2002 10:41:51 +0000 (10:41 +0000)
Lib/idlelib/AutoExpand.py
Lib/idlelib/AutoIndent.py
Lib/idlelib/Bindings.py
Lib/idlelib/CallTips.py
Lib/idlelib/EditorWindow.py
Lib/idlelib/ExecBinding.py
Lib/idlelib/FormatParagraph.py
Lib/idlelib/ParenMatch.py
Lib/idlelib/ScriptBinding.py
Lib/idlelib/ZoomHeight.py
Lib/idlelib/config-extensions.def

index 09f34b38d9fbac6fa55ebf39667b621b048a8ba9..c50e52a14f8a2cd02018f2390d1800d94f181b3c 100644 (file)
@@ -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>>'),
index 6d38481a4287bd9813921f6221681ca17857be32..eff398b527025cdc6a19ac0a1fa2fc7304f642f0 100644 (file)
@@ -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
index 862ceb69f9bbb1bbcc743a4ee2af990b36166ca0..2269a90223e6df5575263dca467cd8c9a49e2886 100644 (file)
@@ -73,6 +73,6 @@ menudefs = [
   ]),
 ]
 
-default_keydefs = idleConf.GetKeys(keySetName=idleConf.CurrentKeys())
+default_keydefs = idleConf.GetCurrentKeySet()
 
 del sys
index 7c5f41c73d55f1b72ad50f7195ddc5aeaa5ef33f..b1f100f22233042ff76a61e7aa253c0fadc6ee9a 100644 (file)
@@ -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
index 237a462c5cc4c3f446866fa1ad38031db2eb6d69..bba1702e4d120b5961af0b6cc1f25bbb219b0750 100644 (file)
@@ -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
index 67b08220d9dffbff8a0cac1740f81bf4b133a32c..e148769c9820a3a191c5600ee28c89444969c3c4 100644 (file)
@@ -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>>'),
index 498e2efbad31f90b8fda8f626039aaebc4bf2d04..cf5e36589b3379529a101b8a7bb97c1eab56681e 100644 (file)
@@ -25,14 +25,6 @@ class FormatParagraph:
          ])
     ]
 
-    keydefs = {
-        '<<format-paragraph>>': ['<Alt-q>'],
-    }
-
-    unix_keydefs = {
-        '<<format-paragraph>>': ['<Meta-q>'],
-    }
-
     def __init__(self, editwin):
         self.editwin = editwin
 
index 17d76c2659c53cd91a00061f031e8e3b96a6850d..78514226a7556da5789a8ae7b239906356a270e0 100644 (file)
@@ -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')
index b54dfc4c791931a8ec97e27c6aeae119d3a41c49..2b3bf99267bea715a59830293a447676f9eecabf 100644 (file)
@@ -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>>'),
index ecc306a73392b00b18a70cf6ba3fb01965666a6c..f2b99e96b25be021ffecfb60325bc0d22be9b310 100644 (file)
@@ -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
 
index b4e9b0250920a300c6a1c8024a0cd76e97ab4f9d..c0439e6d4599e676bbd0cb699c7b63d557a27f73 100644 (file)
@@ -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>