<template thisbox="window" orient="vertical">
- width = $inner.width;
- height = $inner.height;
+ minwidth = maxwidth = $inner.width;
+ minheight = maxheight = $inner.height;
x = (xwt.screenWidth - width) / 2;
y = (xwt.screenHeight - height) / 2;
+ _KeyPressed = function(k) {
+ if (k == "escape") thisbox = null;
+ }
+
xwt.thread = function() {
- var origin = xwt.origin;
- if (origin.substring(0, 21) == "http://launch.xwt.org")
- origin = origin.substring(22);
-
- xwt.loadArchive(origin, function(num, den) {
- $left.flex = 50 * (num / den);
- $right.flex = 50 + 50 * (1.0 - num /den);
- $status.text = "Downloading: " + xwt.math.ceil(num * 100 / den) + "% [" + num + " bytes]";
- });
-
- xwt.newBox("main", function(num, den) {
- $left.flex = 50 + 50 * (num / den);
- $right.flex = 50 * (1.0 - num / den);
- $status.text = "Initializing: " + xwt.math.ceil(num * 100 / den) + "%";
- xwt.yield();
- });
-
- thisbox = null;
+ try {
+ var origin = xwt.origin;
+ if (origin.substring(0, 21) == "http://launch.xwt.org") {
+ origin = origin.substring(22);
+ origin = "http://" + origin.substring(origin.indexOf('/') + 1);
+ }
+ xwt.println("origin is " + origin);
+
+ xwt.loadArchive(origin, function(num, den) {
+ $left.flex = 50 * (num / den);
+ $right.flex = 50 + 50 * (1.0 - num /den);
+ var pct = xwt.math.ceil(num * 100 / den);
+ if (1024 > num) {
+ num = "" + num + " bytes";
+ } else if (1024 * 1024 > num) {
+ num = "" + xwt.math.ceil(num / 1024) + "kb";
+ } else {
+ num = "" + xwt.math.ceil(num / (1024 * 1024)) + "Mb";
+ }
+ $status.text = "Downloading: " + pct + "% [" + num + "]";
+ });
+
+ xwt.newBox().apply("main", function(num, den) {
+ $left.flex = 50 + 50 * (num / den);
+ $right.flex = 50 * (1.0 - num / den);
+ if ($right.flex == 0) $right.width = 0;
+ $status.text = "Initializing: " + xwt.math.ceil(num * 100 / den) + "%";
+ });
+ thisbox = null;
+
+ } catch (e) {
+ $status.text = "Error: " + e;
+ if ($status.text.substring(0, 13) == "Error: Error:") {
+ $status.text = $status.text.substring(7) +
+ " (press Esc to quit)";
+ }
+ }
+
}
<box absolute="true" sizetoimage="true" id="inner" image="org.xwt.builtin.lithium"/>
<box/>
- <box text="Downloading user interface..." vshrink="true" hpad="20" vpad="3" id="status" textcolor="white"/>
-
- <box vpad="5" hpad="30" height="20">
- <box color="red" flex="0.0" id="left"/>
- <box flex="100.0" id="right" color="blue"/>
+ <box text="Downloading user interface..." vshrink="true" hpad="4" vpad="3" id="status" textcolor="white"/>
+ <box hpad="4" height="10">
+ <box flex="0.0" image="org.xwt.builtin.progress" tile="true" id="left"/>
+ <box flex="100.0" id="right"/>
</box>
+ <box height="5"/>
</template>