Minor updates
[jalview.git] / src / jalview / gui / Desktop.java
index 226efdf..3cecfdd 100644 (file)
@@ -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();
@@ -504,88 +471,94 @@ public class Desktop extends GDesktop
 
         getIdentifiersOrgData();
 
-        checkURLLinks();
+        if (Jalview.isInteractive())
+        {
+          // disabled for SeqCanvasTest
+          checkURLLinks();
 
-        // Spawn a thread that shows the splashscreen
+          // Spawn a thread that shows the splashscreen
 
-        SwingUtilities.invokeLater(new Runnable()
-        {
-          @Override
-          public void run()
+          SwingUtilities.invokeLater(new Runnable()
           {
-            new SplashScreen();
-          }
-        });
+            @Override
+            public void run()
+            {
+              new SplashScreen();
+            }
+          });
 
-        // Thread off a new instance of the file chooser - this reduces the time
-        // it
-        // takes to open it later on.
-        new Thread(new Runnable()
-        {
-          @Override
-          public void run()
+          // Thread off a new instance of the file chooser - this reduces the
+          // time
+          // it
+          // takes to open it later on.
+          new Thread(new Runnable()
           {
-            Cache.log.debug("Filechooser init thread started.");
-            String fileFormat = Cache.getProperty("DEFAULT_FILE_FORMAT");
-            JalviewFileChooser.forRead(Cache.getProperty("LAST_DIRECTORY"),
-                    fileFormat);
-            Cache.log.debug("Filechooser init thread finished.");
-          }
-        }).start();
-        // Add the service change listener
-        changeSupport.addJalviewPropertyChangeListener("services",
-                new PropertyChangeListener()
-                {
-
-                  @Override
-                  public void propertyChange(PropertyChangeEvent evt)
+            @Override
+            public void run()
+            {
+              Cache.log.debug("Filechooser init thread started.");
+              String fileFormat = Cache.getProperty("DEFAULT_FILE_FORMAT");
+              JalviewFileChooser.forRead(
+                      Cache.getProperty("LAST_DIRECTORY"), fileFormat);
+              Cache.log.debug("Filechooser init thread finished.");
+            }
+          }).start();
+          // Add the service change listener
+          changeSupport.addJalviewPropertyChangeListener("services",
+                  new PropertyChangeListener()
                   {
-                    Cache.log.debug("Firing service changed event for "
-                            + evt.getNewValue());
-                    JalviewServicesChanged(evt);
-                  }
 
-                });
+                    @Override
+                    public void propertyChange(PropertyChangeEvent evt)
+                    {
+                      Cache.log.debug("Firing service changed event for "
+                              + evt.getNewValue());
+                      JalviewServicesChanged(evt);
+                    }
 
-      }
-
-      this.setDropTarget(new java.awt.dnd.DropTarget(desktopPane, this));
+                  });
 
-      this.addWindowListener(new WindowAdapter()
-      {
-        @Override
-        public void windowClosing(WindowEvent evt)
-        {
-          quit();
         }
-      });
 
-      MouseAdapter ma;
-      this.addMouseListener(ma = new MouseAdapter()
-      {
-        @Override
-        public void mousePressed(MouseEvent evt)
+        this.setDropTarget(new java.awt.dnd.DropTarget(desktopPane, this));
+
+        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 +906,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 +1853,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 +3289,7 @@ public class Desktop extends GDesktop
           {
           }
         }
-        System.out.println("Desktop headless or instanceonly" + instanceOnly
-                + " " + Jalview.isHeadlessMode());
-        if (instanceOnly || Jalview.isHeadlessMode())
+        if (Jalview.isHeadlessMode())
         {
           return;
         }