From 331617c3e1a61b643f713c8936e95420945952f2 Mon Sep 17 00:00:00 2001 From: Skyler Lehmkuhl Date: Wed, 4 Jan 2012 15:12:41 -0500 Subject: [PATCH] Added basic keystroke detection --- lightningbeam | 1 + svlgui.py | 32 +++++++++++++++++++++++++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/lightningbeam b/lightningbeam index f5407fb..66ad05d 100644 --- a/lightningbeam +++ b/lightningbeam @@ -144,6 +144,7 @@ elif svlgui.SYSTEM=="html": elif svlgui.SYSTEM=="android": MainWindow = lightningbeam_windows.MainWindowAndroid() MainWindow.stage.add(root, 0,0) +svlgui.FOCUS = MainWindow.stage layers = svlgui.Group() b = svlgui.Image("media/object_active.png",0,0,True,MainWindow.layerbox,16,1) layers.add(b) diff --git a/svlgui.py b/svlgui.py index 1f2f3be..0821e39 100644 --- a/svlgui.py +++ b/svlgui.py @@ -25,6 +25,9 @@ SITER=0 #Currentframe - the frame selected on the timeline. Not necessarily the frame being shown. CURRENTFRAME=0 +#Object which has the keyboard focus. +FOCUS = None + class Color (object): def __init__(self, val): @@ -180,10 +183,22 @@ if SYSTEM=="osx": m.bring_to_front.enabled = 1 m.send_backward.enabled = 1 m.send_to_back.enabled = 1 - #def create_sc(self): + + #def create_sc(self): # pass #def run_file(self): # pass + class LightningbeamWindow(OSXWindow): + def __init__(self,*args,**kwargs): + OSXWindow.__init__(self,*args,**kwargs) + def key_down(self, event): + if FOCUS: + FOCUS.key_down(event) + def key_up(self, event): + if FOCUS: + FOCUS.key_up(event) + + app = Lightningbeam() elif SYSTEM=="html": app = "" @@ -235,7 +250,7 @@ class Window: self.window.show_all() self.window.connect("destroy",self.destroy) elif SYSTEM=="osx": - self.window = OSXWindow(width=1024,height=500) + self.window = LightningbeamWindow(width=1024,height=500) #components = [i._int() for i in args] #self.vbox = GUI.Column(components, equalize="w", expand=0) #self.window.place(self.vbox, left = 0, top = 0, right = 0, bottom = 0, sticky = 'nsew') @@ -593,7 +608,12 @@ class Canvas(Widget): for i in self.objs: i._onMouseUp(x, y) self.invalidate_rect([0,0,self.extent[0],self.extent[1]]) - + + def key_down(self, event): + print "Please" + + def key_up(self, event): + print "Thank you!" self.canvas = OSXCanvas(extent = (width, height), scrolling = 'hv') self.canvas.objs = self.objs elif SYSTEM=="html": @@ -644,6 +664,12 @@ class Canvas(Widget): self.draw() if SYSTEM=="html": jscommunicate("cchildren["+str(self.tid)+"]="+str(self.objs)) + def key_down(self, event): + if SYSTEM=="osx": + self.canvas.key_down(event) + def key_up(self, event): + if SYSTEM=="osx": + self.canvas.key_up(event) class TextView(Widget): def __init__(self,editable=True,width=False,height=False):