Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: master
Fetching contributors…

Cannot retrieve contributors at this time

102 lines (79 sloc) 2.568 kB
import pyjd
from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.Controls import VerticalDemoSlider
from pyjamas import Window
from pyjamas.Timer import Timer
from textconsole import TextWindow
from Screen import Screen
try:
import pyjslib
except:
pass
import sys
def slider_app():
b = VerticalDemoSlider(0, 100)
b.setWidth("20px")
b.setHeight("100px")
return b
def text_app():
w = TextWindow(80, 20, 400, 300)
RootPanel().add(w)
w.setText(0, 0, "hello")
w.setText(0, 1, "fred")
w.setText(0, 5, "goodbye")
for i in range(40):
for j in range(2):
w.setText(i, j+10, ".")
return w
class ShellApp():
def __init__(self):
self.GridTest = None
self.screen = Screen(Window.getClientWidth(), Window.getClientHeight())
w = text_app()
a = self.screen.add_app(w, "text 1", 400, 300)
a.show()
w = text_app()
a = self.screen.add_app(w, "text 2", 400, 300)
a.show()
w = slider_app()
a = self.screen.add_app(w, "s", 20, 100)
a.show()
RootPanel().add(self.screen)
self.loading_apps = []
self.loading_app = None
self.loading_desc = None
self.load_app('../../gridtest/output/', 'GridTest', 'grid test')
self.load_app('../../widgets/output/', 'Widgets', 'clock')
def load_app(self, path, appname, description):
if self.loading_app is None:
self.add_app(path, appname, description)
else:
self.loading_apps.append((path, appname, description))
def add_app(self, path, appname, description):
self.loading_app = appname
self.loading_desc = description
try:
sys.setloadpath(path)
pyjslib.preload_app_modules(sys.getloadpath(), [[appname]],
self, 1, None)
except:
pass
def onTimer(self, timerid):
self.importDone()
def importDone(self):
mod = pyjslib.get_module(self.loading_app)
if mod is None:
Timer(500, self)
return
g = mod.AppInit()
a = self.screen.add_app(g, self.loading_desc, 400, 300)
a.show()
self.loading_desc = None
self.loading_app = None
if self.loading_apps:
path, appname, description = self.loading_apps.pop()
self.add_app(path, appname, description )
if __name__ == '__main__':
pyjd.setup('./public/Shell.html')
app = ShellApp()
pyjd.run()
Jump to Line
Something went wrong with that request. Please try again.