}
}
+ /** default implementation is Eric Albert's BrowserLauncher.java */
+ protected void _newBrowserWindow(String url) {
+ try {
+ Class c = Class.forName("edu.stanford.ejalbert.BrowserLauncher");
+ Method m = c.getMethod("openURL", new Class[] { String.class });
+ m.invoke(null, new String[] { url });
+ } catch (Exception e) {
+ Log.log(this, e);
+ }
+ }
+
/** opens a new browser window */
public static void newBrowserWindow(String url) {
if (!(url.startsWith("https://") || url.startsWith("http://") || url.startsWith("ftp://") || url.startsWith("mailto:"))) {
if (Log.on) Log.log(Platform.class, "newBrowserWindow, url = " + url);
platform._newBrowserWindow(url);
}
- protected void _newBrowserWindow(String url) {
- if (Log.on) Log.log(this, "Platform " + platform.getClass().getName() + " cannot open browser windows");
- }
/** used to notify the user of very serious failures; usually used when logging is not working or unavailable */
public static void criticalAbort(String message) {
protected Surface _createSurface(Box b, boolean framed) { return null; }
public static Surface createSurface(Box b, boolean framed, boolean refreshable) {
Surface ret = platform._createSurface(b, framed);
- b.width = b.height < Surface.scarPicture.getWidth() ? Surface.scarPicture.getWidth() : b.width;
- b.height = b.height < Surface.scarPicture.getHeight() ? Surface.scarPicture.getHeight() : b.height;
ret.setInvisible(false);
Object titlebar = b.get("titlebar", true);
if (titlebar != null) ret.setTitleBarText(titlebar.toString());
- /* FIXME
Object icon = b.get("icon", true);
- if (icon != null && !"".equals(icon)) {
- Picture pic = ImageDecoder.getPicture(icon.toString());
+ if (icon != null && icon instanceof Res) {
+ 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);