X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=getdown%2Fsrc%2Fgetdown%2Flauncher%2Fsrc%2Fmain%2Fjava%2Fcom%2Fthreerings%2Fgetdown%2Flauncher%2FGetdown.java;h=5750fce66efa1ad36c1f61a39acb7d7eb7f231c0;hb=150440e220726db748f37428503e57b0996189a3;hp=7269c859c00cc3a9981c4ca9ee8b2e5c4f8d112e;hpb=25a6eb94ea06ffae53a2368e8165832adcbc014c;p=jalview.git diff --git a/getdown/src/getdown/launcher/src/main/java/com/threerings/getdown/launcher/Getdown.java b/getdown/src/getdown/launcher/src/main/java/com/threerings/getdown/launcher/Getdown.java index 7269c85..5750fce 100644 --- a/getdown/src/getdown/launcher/src/main/java/com/threerings/getdown/launcher/Getdown.java +++ b/getdown/src/getdown/launcher/src/main/java/com/threerings/getdown/launcher/Getdown.java @@ -9,6 +9,7 @@ import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import java.awt.EventQueue; +import java.awt.Graphics; import java.awt.GraphicsEnvironment; import java.awt.Image; import java.awt.event.ActionEvent; @@ -32,6 +33,7 @@ import javax.swing.AbstractAction; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLayeredPane; +import javax.swing.JPanel; import com.samskivert.swing.util.SwingUtil; import com.threerings.getdown.data.*; @@ -748,9 +750,10 @@ public abstract class Getdown extends Thread if (_silent || (_container != null && !reinit)) { return; } - +/* EventQueue.invokeLater(new Runnable() { public void run () { +*/ if (_container == null || reinit) { if (_container == null) { _container = createContainer(); @@ -759,6 +762,42 @@ public abstract class Getdown extends Thread } configureContainer(); _layers = new JLayeredPane(); + + + + // added in the instant display of a splashscreen + try { + readConfig(false); + Graphics g = _container.getGraphics(); + String imageFile = _ifc.backgroundImage; + BufferedImage bgImage = loadImage(_ifc.backgroundImage); + int bwidth = bgImage.getWidth(); + int bheight = bgImage.getHeight(); + + instantSplashPane = new JPanel() { + @Override + protected void paintComponent(Graphics g) + { + super.paintComponent(g); + // attempt to draw a background image... + if (bgImage != null) { + g.drawImage(bgImage, 0, 0, this); + } + } + }; + + instantSplashPane.setSize(bwidth,bheight); + instantSplashPane.setPreferredSize(new Dimension(bwidth,bheight)); + + _layers.add(instantSplashPane, Integer.valueOf(0)); + + _container.setPreferredSize(new Dimension(bwidth,bheight)); + } catch (Exception e) { + log.warning("Failed to set instant background image", "bg", _ifc.backgroundImage); + } + + + _container.add(_layers, BorderLayout.CENTER); _patchNotes = new JButton(new AbstractAction(_msgs.getString("m.patch_notes")) { @Override public void actionPerformed (ActionEvent event) { @@ -768,12 +807,14 @@ public abstract class Getdown extends Thread _patchNotes.setFont(StatusPanel.FONT); _layers.add(_patchNotes); _status = new StatusPanel(_msgs); - _layers.add(_status); + _layers.add(_status, Integer.valueOf(10)); initInterface(); } showContainer(); +/* } }); +*/ } /** @@ -804,13 +845,12 @@ public abstract class Getdown extends Thread protected RotatingBackgrounds getBackground () { - if (_ifc.rotatingBackgrounds != null) { + if (_ifc.rotatingBackgrounds != null && _ifc.rotatingBackgrounds.size() > 0) { if (_ifc.backgroundImage != null) { log.warning("ui.background_image and ui.rotating_background were both specified. " + - "The rotating images are being used."); + "The background image is being used."); } - return new RotatingBackgrounds(_ifc.rotatingBackgrounds, _ifc.errorBackground, - Getdown.this); + return new RotatingBackgrounds(_ifc.rotatingBackgrounds, _ifc.errorBackground, Getdown.this); } else if (_ifc.backgroundImage != null) { return new RotatingBackgrounds(loadImage(_ifc.backgroundImage)); } else { @@ -1038,67 +1078,13 @@ public abstract class Getdown extends Thread } }; - public void setStartupFilesFromParameterString(String p) { - String q = "\""; - if (p != null && p.length() > 0) { - String[] filenames; - if (p.startsWith(q) && p.endsWith(q)) { - filenames = p.substring(1,p.length()-1).split("\" \""); - } else { - filenames = new String[]{p}; - } - for (int i = 0; i < filenames.length; i++) { - String filename = filenames[i]; - String ext = null; - int j = filename.lastIndexOf('.'); - if (j > -1) { - ext = filename.substring(j+1); - } - // jvp files etc - boolean addedStartupFile = false; // only add one startup file - if (_app.startupFileExtensions.contains(ext.toLowerCase()) && ! addedStartupFile) { - File f = new File(filename); - if (f.exists()) { - _app.addStartupFile(f); - addedStartupFile = true; - } - } - // jvl files - if (_app.locatorFileExtension.equals(ext.toLowerCase())) { - // Do something special with this here - File f = new File(filename); - if (f.exists()) { - String appbase = null; - try { - java.util.Properties jvlprops = new java.util.Properties(); - FileInputStream in = new FileInputStream(f); - jvlprops.load(in); - in.close(); - appbase = jvlprops.getProperty("appbase"); - } catch(Exception e) { - log.warning("Something went wrong reading Jalview Version Locator file '"+filename+"'", e); - } - if (appbase != null) { - try { - URL newAppbase = new URL(appbase); - _app.newAppbase(newAppbase); - log.warning("Java Version Locator url '"+appbase+"' found in file '"+filename+"' being used"); - } catch(MalformedURLException e) { - log.warning("Java Version Locator url '"+appbase+"' found in file '"+filename+"' is malformed", e); - } - } - } - } - } - } - } - protected Application _app; protected Application.UpdateInterface _ifc = new Application.UpdateInterface(Config.EMPTY); protected ResourceBundle _msgs; protected Container _container; protected JLayeredPane _layers; + protected JPanel instantSplashPane; protected StatusPanel _status; protected JButton _patchNotes; protected AbortPanel _abort;