Execute now actually executes

This commit is contained in:
Skyler Lehmkuhl 2012-01-11 11:04:01 -05:00
parent 97e0a65a73
commit 9e6f7f8dec
2 changed files with 46 additions and 3 deletions

View File

@ -12,6 +12,9 @@ import lightningbeam_windows
#pickle - used to save and open files #pickle - used to save and open files
import pickle import pickle
#misc_funcs - miscelleneous functions in a separate file so as not to clutter things up too much
import misc_funcs
#specify the current version and what version files it can still open #specify the current version and what version files it can still open
LIGHTNINGBEAM_VERSION = "1.0-alpha1" LIGHTNINGBEAM_VERSION = "1.0-alpha1"
LIGHTNINGBEAM_COMPAT = ["1.0-alpha1"] LIGHTNINGBEAM_COMPAT = ["1.0-alpha1"]
@ -138,6 +141,36 @@ def run_file(self=None):
root.descendItem().activelayer.frames[root.descendItem().activelayer.currentframe].actions = MainWindow.scriptwindow.text root.descendItem().activelayer.frames[root.descendItem().activelayer.currentframe].actions = MainWindow.scriptwindow.text
open("test.sc", "w").write(create_sc(root)) open("test.sc", "w").write(create_sc(root))
svlgui.execute("swfc/swfc_"+svlgui.PLATFORM+" test.sc -o test.swf") svlgui.execute("swfc/swfc_"+svlgui.PLATFORM+" test.sc -o test.swf")
logloc = "/Users/skyler/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt"
try:
logfile.close()
except:
pass
logfile = open(logloc,"w")
logfile.write("")
logfile.close()
outputwin = svlgui.Window("Output")
outputwin.resize(200,500)
outputtext = svlgui.TextView(False)
outputwin.add(outputtext)
logfile = open(logloc, "r")
def updatetrace(outputtext):
try:
outputtext.text+=logfile.readline()
outputtext.scroll_bottom() # this doesn't work
except:
pass
r = misc_funcs.RepeatTimer(0.02, updatetrace, args=[outputtext])
print dir(outputwin.window)
r.daemon = True
r.start()
if svlgui.PLATFORM=="osx":
osx_flash_player_loc = "/Applications/Flash\ Player\ Debugger.app"
svlgui.execute("open -a "+osx_flash_player_loc+" test.swf")
elif svlgui.PLATFORM=='win32':
svlgui.execute('start '+win_flash_player_loc+" test.swf")
elif svlgui.PLATFORM.startswith('linux'):
svlgui.execute('xdg-open '+linux_flash_player_loc+" test.swf")
def box(x, y, width, height, fill=None): def box(x, y, width, height, fill=None):
@ -336,7 +369,7 @@ svlgui.menufuncs([["File",
"Export .pdf", "Export .pdf",
"Export Animated GIF"], "Export Animated GIF"],
["Tools", ["Tools",
("Execute",run_file,"<Alt>Return")], ("Execute",run_file,"/\r")],
["Modify", ["Modify",
"Document", "Document",
"Convert to Symbol", "Convert to Symbol",

View File

@ -283,6 +283,8 @@ class Window:
self.window.connect("destroy",self.destroy) self.window.connect("destroy",self.destroy)
elif SYSTEM=="osx": elif SYSTEM=="osx":
self.window = LightningbeamWindow(width=1024,height=500) self.window = LightningbeamWindow(width=1024,height=500)
if not title=="":
self.window.title = title
#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')
@ -318,6 +320,9 @@ class Window:
self.window.title = title self.window.title = title
elif SYSTEM=="html": elif SYSTEM=="html":
jscommunicate("document.title = "+title) jscommunicate("document.title = "+title)
def resize(self,x,y):
if SYSTEM=="osx":
self.window.resize(width=x,height=y)
# Widget meta-class - to prevent code duplication # Widget meta-class - to prevent code duplication
# I don't seem to have any code in here. :( # I don't seem to have any code in here. :(
@ -398,7 +403,7 @@ def menufuncs(j):
if n[1].__name__=="run_file": if n[1].__name__=="run_file":
app.run_file = test''' app.run_file = test'''
[setattr(app,k[1].__name__, k[1]) for k in i if type(k)==type(())] [setattr(app,k[1].__name__, k[1]) for k in i if type(k)==type(())]
menu = GUI.Menu(i[0],[(k[0],k[1].__name__) for k in i if type(k)==type(())]) menu = GUI.Menu(i[0],[((k[0]+k[2],k[1].__name__) if (len(k)==3 and "/" in k[2]) else (k[0],k[1].__name__)) for k in i if type(k)==type(())])
#menu = GUI.Menu("Test", [("Run", 'run_file')]) #menu = GUI.Menu("Test", [("Run", 'run_file')])
menus.append(menu) menus.append(menu)
else: else:
@ -747,6 +752,8 @@ class TextView(Widget):
self.become_target() self.become_target()
self.box = OSXTextEditor(scrolling="hv") self.box = OSXTextEditor(scrolling="hv")
self.box.font = Font("Mono", 12, []) self.box.font = Font("Mono", 12, [])
if width and height:
self.box.size = (width, height)
elif SYSTEM=="html": elif SYSTEM=="html":
self.box = htmlobj("textarea") self.box = htmlobj("textarea")
def _int(self): def _int(self):
@ -756,6 +763,9 @@ class TextView(Widget):
return self.box return self.box
elif SYSTEM=="html": elif SYSTEM=="html":
return self.box return self.box
def scroll_bottom(self):
if SYSTEM=="osx":
self.scroll_page_down();
class Image(object): class Image(object):
def __init__(self,image,x=0,y=0,animated=False,canvas=None,htiles=1,vtiles=1): def __init__(self,image,x=0,y=0,animated=False,canvas=None,htiles=1,vtiles=1):
@ -888,7 +898,7 @@ class Shape (object):
def __init__(self,x=0,y=0,rotation=0,fillcolor=None,linecolor=None): def __init__(self,x=0,y=0,rotation=0,fillcolor=None,linecolor=None):
global SITER global SITER
global Library global Library
Library.appemd(self) Library.append(self)
self.x=x self.x=x
self.y=y self.y=y
self.rotation=rotation self.rotation=rotation