X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FDesktop.java;h=ace752973215601be7c9fd6c45a991af72a8394f;hb=60541afc96ff3a4f5b79b78009922f373cbc29c3;hp=c3640a9243e74f8823419f0d29e7790bead3b037;hpb=ad16d6cce49a40ea1943431b980b85a6212bb9bf;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index c3640a9..ace7529 100644 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -199,13 +199,14 @@ public class Desktop extends GDesktop public static MyDesktopPane getDesktopPane() { - return Desktop.getInstance().desktopPane; + Desktop desktop = Desktop.getInstance(); + return desktop == null ? null : desktop.desktopPane; } - public StructureSelectionManager getStructureSelectionManager() + public static StructureSelectionManager getStructureSelectionManager() { return StructureSelectionManager - .getStructureSelectionManager(this); + .getStructureSelectionManager(getInstance()); } static int openFrameCount = 0; @@ -222,7 +223,9 @@ public class Desktop extends GDesktop private static int fileLoadingCount = 0; - public JInternalFrame conservationSlider, PIDSlider; + public JInternalFrame conservationSlider; + + public JInternalFrame PIDSlider; /** * just an instance (for testng, probably); no actual frames @@ -363,8 +366,9 @@ public class Desktop extends GDesktop */ public static Desktop getInstance() { - return (Desktop) ApplicationSingletonProvider - .getInstance(Desktop.class); + return Jalview.isHeadlessMode() ? null + : (Desktop) ApplicationSingletonProvider + .getInstance(Desktop.class); } /** @@ -374,6 +378,8 @@ public class Desktop extends GDesktop */ public Desktop(boolean forInstance) { + + Cache.initLogger(); instanceOnly = true; } @@ -384,6 +390,9 @@ public class Desktop extends GDesktop @SuppressWarnings("unused") private Desktop() { + Cache.initLogger(); + try + { /** * A note to implementors. It is ESSENTIAL that any activities that might * block are spawned off as threads rather than waited for during this @@ -549,6 +558,10 @@ public class Desktop extends GDesktop } }); desktopPane.addMouseListener(ma); + } catch (Throwable t) + { + t.printStackTrace(); + } } /** @@ -567,7 +580,8 @@ public class Desktop extends GDesktop public void doConfigureStructurePrefs() { // configure services - StructureSelectionManager ssm = getStructureSelectionManager(); + StructureSelectionManager ssm = StructureSelectionManager + .getStructureSelectionManager(this); if (jalview.bin.Cache.getDefault(Preferences.ADD_SS_ANN, true)) { ssm.setAddTempFacAnnot(jalview.bin.Cache @@ -785,7 +799,7 @@ public class Desktop extends GDesktop FileFormatI format = new IdentifyFile().identify(file, DataSourceType.PASTE); - new FileLoader().LoadFile(file, DataSourceType.PASTE, format); + new FileLoader().loadFile(file, DataSourceType.PASTE, format); } } catch (Exception ex) @@ -880,13 +894,14 @@ public class Desktop extends GDesktop int w, int h, boolean resizable, boolean ignoreMinSize) { + // TODO: allow callers to determine X and Y position of frame (eg. via // bounds object). // TODO: consider fixing method to update entries in the window submenu with // the current window title frame.setTitle(title); - if (frame.getWidth() < 1 || frame.getHeight() < 1) + if (w > 0 && (frame.getWidth() < 1 || frame.getHeight() < 1)) { frame.setSize(w, h); } @@ -894,7 +909,7 @@ public class Desktop extends GDesktop // A HEADLESS STATE WHEN NO DESKTOP EXISTS. MUST RETURN // IF JALVIEW IS RUNNING HEADLESS // /////////////////////////////////////////////// - if (Desktop.getInstance().instanceOnly || Jalview.isHeadlessMode()) + if (Jalview.isHeadlessMode() || Desktop.getInstance().instanceOnly) { return; } @@ -1132,7 +1147,7 @@ public class Desktop extends GDesktop { Platform.cacheFileData((File) file); } - new FileLoader().LoadFile(null, file, protocol, format); + new FileLoader().loadFile(null, file, protocol, format); } } catch (Exception ex) @@ -1189,7 +1204,7 @@ public class Desktop extends GDesktop } } - new FileLoader().LoadFile(viewport, selectedFile, + new FileLoader().loadFile(viewport, selectedFile, DataSourceType.FILE, format); } }); @@ -1263,12 +1278,12 @@ public class Desktop extends GDesktop { if (viewport != null) { - new FileLoader().LoadFile(viewport, url, DataSourceType.URL, + new FileLoader().loadFile(viewport, url, DataSourceType.URL, FileFormat.Jalview); } else { - new FileLoader().LoadFile(url, DataSourceType.URL, + new FileLoader().loadFile(url, DataSourceType.URL, FileFormat.Jalview); } } @@ -1298,12 +1313,12 @@ public class Desktop extends GDesktop if (viewport != null) { - new FileLoader().LoadFile(viewport, url, DataSourceType.URL, + new FileLoader().loadFile(viewport, url, DataSourceType.URL, format); } else { - new FileLoader().LoadFile(url, DataSourceType.URL, format); + new FileLoader().loadFile(url, DataSourceType.URL, format); } } } @@ -3485,7 +3500,8 @@ public class Desktop extends GDesktop public static groovy.ui.Console getGroovyConsole() { - return Desktop.getInstance().groovyConsole; + Desktop desktop = Desktop.getInstance(); + return desktop == null ? null : desktop.groovyConsole; } /**