changeset 476:0e3743492eae

curvecalc: new keyboard shortcut hotness
author drewp@bigasterisk.com
date Fri, 12 Jun 2009 22:46:17 +0000
parents a5f38134fb88
children b1ec84833f36
files bin/curvecalc light9/curve.py
diffstat 2 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/bin/curvecalc	Fri Jun 12 10:45:57 2009 +0000
+++ b/bin/curvecalc	Fri Jun 12 22:46:17 2009 +0000
@@ -342,11 +342,16 @@
 
     tk.Button(f, text="reload subs (C-r)", 
         command=reload_subs).pack(side='left')
-    tk.Label(f, text="new subterm named (C-Enter for curve too):").pack(side='left')
+    tk.Label(f, text="new subterm named (C-Enter for curve too, C-n for focus):").pack(side='left')
     entry = tk.Entry(f, textvariable=newname)
     entry.pack(side='left', fill='x', exp=1)
     entry.bind("<Key-Return>", add_cmd)
 
+    def focus_entry():
+        entry.focus()
+        
+    dispatcher.connect(focus_entry, "focus new subterm", weak=False)
+
     return f
 
 def savesubterms(filename,subterms):
@@ -464,6 +469,8 @@
     
 root.bind("<Control-Key-s>",savekey)
 root.bind("<Control-Key-r>", lambda evt: dispatcher.send('reload all subs'))
+root.bind("<Control-Key-n>", lambda evt: dispatcher.send('focus new subterm'))
+root.bind("<Control-Key-N>", lambda evt: dispatcher.send('focus new curve'))
 
 create_status_lines(root)
 for helpline in ["Bindings: C-s save subterms;  Esc see current time; S-Esc see curtime to end; C-Esc show all; Mousewheel zoom; C-p play/pause music at mouse",
--- a/light9/curve.py	Fri Jun 12 10:45:57 2009 +0000
+++ b/light9/curve.py	Fri Jun 12 22:46:17 2009 +0000
@@ -697,7 +697,7 @@
         
         f = tk.Frame(self,relief='raised',bd=1)
         f.pack(side='top',fill='x')
-        tk.Label(f, text="new curve named:").pack(side='left')
+        tk.Label(f, text="new curve named: (C-N)").pack(side='left')
         
         self.newcurvename = tk.StringVar()
 
@@ -708,8 +708,12 @@
         entry = tk.Entry(f, textvariable=self.newcurvename)
         entry.pack(side='left', fill='x',exp=1)        
         entry.bind("<Key-Return>", new_curve)
+
+        def focus_entry():
+            entry.focus()
         
-        dispatcher.connect(self.add_curve,"add_curve",sender=self.curveset)
+        dispatcher.connect(self.add_curve, "add_curve", sender=self.curveset)
+        dispatcher.connect(focus_entry, "focus new curve", weak=False)
         
     def add_curve(self,name, slider=None, knobEnabled=False):
         f = tk.Frame(self,relief='raised',bd=1)