X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FDesktop.java;h=e13a63e1a4f6791e1e692f77dd00f52016ca6628;hb=14bfc6fb57f123b815f08dbf5b35544abd33b3af;hp=226efdf381d52e378497c48e5ceda66b9e0e9daa;hpb=933ef8cbe299bfcbe146835d789932d66b0827ea;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index 226efdf..e13a63e 100644 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -227,23 +227,6 @@ public class Desktop extends GDesktop public JInternalFrame PIDSlider; - /** - * just an instance (for testng, probably); no actual frames - * - * This flag, when set true, allows a headless-like operation, with a Desktop - * object but no actual frames. The issue has to do with the mess-up of the - * Windows JInternalFrame implementation, which surreptitiously and - * unforgivingly accesses a native peer class, preventing headless operation. - * - * It is set by invoking the Desktop(true) constructor. - * - * It is possible that we can remove this option now, since headless mode is - * finally working on Windows through careful attention to not creating any - * JInternalFrame objects when in that mode. - * - */ - boolean instanceOnly; - class MyDesktopManager implements DesktopManager { @@ -382,27 +365,11 @@ public class Desktop extends GDesktop : (Desktop) ApplicationSingletonProvider .getInstance(Desktop.class); } - - /** - * For TestNG, this constructor can be utilized to allow the creation of a - * singleton Desktop instance without the formation of frames and, especially, - * not involving dialogs. Cache.log is also initialized for some tests that - * require it despite there being no Desktop. - * - * @param forInstance - */ - public Desktop(boolean forInstance) - { - ApplicationSingletonProvider.setInstance(Desktop.class, this); - Cache.initLogger(); - instanceOnly = true; - } /** * Private constructor enforces singleton pattern. It is called by reflection * from ApplicationSingletonProvider.getInstance(). */ - @SuppressWarnings("unused") private Desktop() { Cache.initLogger(); @@ -474,7 +441,7 @@ public class Desktop extends GDesktop // it deletes the unneeded Java-only code form the JavaScript version // completely (@j2sIgnore), since it will never be used there. - if (!Platform.isJS()) + if (!Platform.isJS() && !Jalview.isSynchronous()) /** * Java only * @@ -549,39 +516,42 @@ public class Desktop extends GDesktop } - this.setDropTarget(new java.awt.dnd.DropTarget(desktopPane, this)); - - this.addWindowListener(new WindowAdapter() + if (!Jalview.isSynchronous()) { - @Override - public void windowClosing(WindowEvent evt) - { - quit(); - } - }); + this.setDropTarget(new java.awt.dnd.DropTarget(desktopPane, this)); - MouseAdapter ma; - this.addMouseListener(ma = new MouseAdapter() - { - @Override - public void mousePressed(MouseEvent evt) + this.addWindowListener(new WindowAdapter() { - if (evt.isPopupTrigger()) // Mac + @Override + public void windowClosing(WindowEvent evt) { - showPasteMenu(evt.getX(), evt.getY()); + quit(); } - } + }); - @Override - public void mouseReleased(MouseEvent evt) + MouseAdapter ma; + this.addMouseListener(ma = new MouseAdapter() { - if (evt.isPopupTrigger()) // Windows + @Override + public void mousePressed(MouseEvent evt) { - showPasteMenu(evt.getX(), evt.getY()); + if (evt.isPopupTrigger()) // Mac + { + showPasteMenu(evt.getX(), evt.getY()); + } } - } - }); - desktopPane.addMouseListener(ma); + + @Override + public void mouseReleased(MouseEvent evt) + { + if (evt.isPopupTrigger()) // Windows + { + showPasteMenu(evt.getX(), evt.getY()); + } + } + }); + desktopPane.addMouseListener(ma); + } } catch (Throwable t) { t.printStackTrace(); @@ -933,7 +903,7 @@ public class Desktop extends GDesktop // A HEADLESS STATE WHEN NO DESKTOP EXISTS. MUST RETURN // IF JALVIEW IS RUNNING HEADLESS // /////////////////////////////////////////////// - if (Jalview.isHeadlessMode() || Desktop.getInstance().instanceOnly) + if (Jalview.isHeadlessMode()) { return; } @@ -1880,7 +1850,7 @@ public class Desktop extends GDesktop { try { - new Jalview2XML().loadJalviewAlign(choice); + new Jalview2XML().loadJalviewAlign(selectedFile); } catch (OutOfMemoryError oom) { new OOMWarning("Whilst loading project from " + choice, oom); @@ -3316,9 +3286,7 @@ public class Desktop extends GDesktop { } } - System.out.println("Desktop headless or instanceonly" + instanceOnly - + " " + Jalview.isHeadlessMode()); - if (instanceOnly || Jalview.isHeadlessMode()) + if (Jalview.isHeadlessMode()) { return; }