/** displays a platform-specific "open file" dialog and returns the chosen filename, or null if the user hit cancel */
protected String _fileDialog(String suggestedFileName, boolean write) { return null; }
- public static String fileDialog(String suggestedFileName, boolean write) {
- // FIXME: put self in background
+ public static String fileDialog(String suggestedFileName, boolean write) throws org.xwt.js.JS.Exn {
return platform._fileDialog(suggestedFileName, write);
}
Surface ret = platform._createSurface(b, framed);
ret.setInvisible(false);
- Object titlebar = b.get("titlebar", true);
- if (titlebar != null) ret.setTitleBarText(titlebar.toString());
-
- Object icon = b.get("icon", true);
- if (icon != null && icon instanceof Res) {
- /*
- FIXME
- Picture pic = Picture.fromRes((Res)icon);
- if (pic != null) ret.setIcon(pic);
- else if (Log.on) Log.log(Platform.class, "unable to load icon " + icon);
- */
- }
-
ret.setLimits(b.minwidth, b.minheight, b.maxwidth, b.maxheight);
if (refreshable) {
protected Scheduler _getScheduler() { return new Scheduler(); }
public static Scheduler getScheduler() { return platform._getScheduler(); }
- /** read an input stream into a byte array and invoke callback when ready */
- protected void _inputStreamToByteArray(final InputStream is, final Callback c) {
- new java.lang.Thread() {
- public void run() {
- try {
- final byte[] b = InputStreamToByteArray.convert(is);
- Scheduler.add(new Scheduler.Task() { public void perform() { c.call(b); }});
- } catch (IOException e) {
- Log.log(Platform.class, e);
- }
- }
- }.start();
- }
- public static void inputStreamToByteArray(InputStream is, Callback c) { platform._inputStreamToByteArray(is, c); }
-
public static void running() { platform._running(); }
public void _running() { new Semaphore().block(); }
}