Added basic keystroke detection

This commit is contained in:
Skyler Lehmkuhl 2012-01-04 15:12:41 -05:00
parent b175e863da
commit 331617c3e1
2 changed files with 30 additions and 3 deletions

View File

@ -144,6 +144,7 @@ elif svlgui.SYSTEM=="html":
elif svlgui.SYSTEM=="android": elif svlgui.SYSTEM=="android":
MainWindow = lightningbeam_windows.MainWindowAndroid() MainWindow = lightningbeam_windows.MainWindowAndroid()
MainWindow.stage.add(root, 0,0) MainWindow.stage.add(root, 0,0)
svlgui.FOCUS = MainWindow.stage
layers = svlgui.Group() layers = svlgui.Group()
b = svlgui.Image("media/object_active.png",0,0,True,MainWindow.layerbox,16,1) b = svlgui.Image("media/object_active.png",0,0,True,MainWindow.layerbox,16,1)
layers.add(b) layers.add(b)

View File

@ -25,6 +25,9 @@ SITER=0
#Currentframe - the frame selected on the timeline. Not necessarily the frame being shown. #Currentframe - the frame selected on the timeline. Not necessarily the frame being shown.
CURRENTFRAME=0 CURRENTFRAME=0
#Object which has the keyboard focus.
FOCUS = None
class Color (object): class Color (object):
def __init__(self, val): def __init__(self, val):
@ -180,10 +183,22 @@ if SYSTEM=="osx":
m.bring_to_front.enabled = 1 m.bring_to_front.enabled = 1
m.send_backward.enabled = 1 m.send_backward.enabled = 1
m.send_to_back.enabled = 1 m.send_to_back.enabled = 1
#def create_sc(self):
#def create_sc(self):
# pass # pass
#def run_file(self): #def run_file(self):
# pass # 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() app = Lightningbeam()
elif SYSTEM=="html": elif SYSTEM=="html":
app = "" app = ""
@ -235,7 +250,7 @@ class Window:
self.window.show_all() self.window.show_all()
self.window.connect("destroy",self.destroy) self.window.connect("destroy",self.destroy)
elif SYSTEM=="osx": elif SYSTEM=="osx":
self.window = OSXWindow(width=1024,height=500) self.window = LightningbeamWindow(width=1024,height=500)
#components = [i._int() for i in args] #components = [i._int() for i in args]
#self.vbox = GUI.Column(components, equalize="w", expand=0) #self.vbox = GUI.Column(components, equalize="w", expand=0)
#self.window.place(self.vbox, left = 0, top = 0, right = 0, bottom = 0, sticky = 'nsew') #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: for i in self.objs:
i._onMouseUp(x, y) i._onMouseUp(x, y)
self.invalidate_rect([0,0,self.extent[0],self.extent[1]]) 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 = OSXCanvas(extent = (width, height), scrolling = 'hv')
self.canvas.objs = self.objs self.canvas.objs = self.objs
elif SYSTEM=="html": elif SYSTEM=="html":
@ -644,6 +664,12 @@ class Canvas(Widget):
self.draw() self.draw()
if SYSTEM=="html": if SYSTEM=="html":
jscommunicate("cchildren["+str(self.tid)+"]="+str(self.objs)) 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): class TextView(Widget):
def __init__(self,editable=True,width=False,height=False): def __init__(self,editable=True,width=False,height=False):