Set size and location of frame before visible
authoramwaterhouse <Andrew Waterhouse>
Tue, 23 Aug 2005 10:10:31 +0000 (10:10 +0000)
committeramwaterhouse <Andrew Waterhouse>
Tue, 23 Aug 2005 10:10:31 +0000 (10:10 +0000)
src/jalview/gui/AlignFrame.java
src/jalview/gui/Desktop.java
src/jalview/gui/Jalview2XML.java

index 692f258..c1d383e 100755 (executable)
@@ -2111,6 +2111,11 @@ public class AlignFrame
     }\r
   }\r
 \r
+\r
+  public TreePanel ShowNewickTree(NewickFile nf, String title)\r
+  {\r
+    return ShowNewickTree(nf,title,600,500,4,5);\r
+  }\r
   /**\r
    * DOCUMENT ME!\r
    *\r
@@ -2119,7 +2124,7 @@ public class AlignFrame
    *\r
    * @return DOCUMENT ME!\r
    */\r
-  public TreePanel ShowNewickTree(NewickFile nf, String title)\r
+  public TreePanel ShowNewickTree(NewickFile nf, String title, int w,int h,int x, int y)\r
   {\r
     TreePanel tp = null;\r
 \r
@@ -2133,7 +2138,14 @@ public class AlignFrame
                            viewport.getAlignment().getSequences(), nf,\r
                            "FromFile",\r
                            title);\r
-        Desktop.addInternalFrame(tp, title, 600, 500);\r
+\r
+        tp.setSize(w,h);\r
+\r
+        if(x>0 && y>0)\r
+          tp.setLocation(x,y);\r
+\r
+\r
+        Desktop.addInternalFrame(tp, title, w, h);\r
         addTreeMenuItem(tp, title);\r
       }\r
     }\r
index 498a6e6..a705386 100755 (executable)
@@ -113,10 +113,11 @@ public class Desktop extends jalview.jbgui.GDesktop
         SplashScreen splash = new SplashScreen(frame, image);
         frame.setContentPane(splash);
         frame.setLayer(JLayeredPane.PALETTE_LAYER);
-        addInternalFrame(frame, "", 750, 160, false);
         frame.setLocation((int) ((getWidth() - 750) / 2),
             (int) ((getHeight() - 160) / 2));
-      discoverer=new jalview.ws.Discoverer(); // Only gets started if gui is displayed.
+        addInternalFrame(frame, "", 750, 160, false);
+
+        discoverer=new jalview.ws.Discoverer(); // Only gets started if gui is displayed.
     }
 
     /**
@@ -147,10 +148,10 @@ public class Desktop extends jalview.jbgui.GDesktop
     {
 
       frame.setTitle(title);
-      if(w!=AlignFrame.NEW_WINDOW_WIDTH &&
-        h!=AlignFrame.NEW_WINDOW_HEIGHT)
-       frame.setSize(w, h);
-
+      if(frame.getWidth()<1 || frame.getHeight()<1)
+      {
+        frame.setSize(w, h);
+      }
       // THIS IS A PUBLIC STATIC METHOD, SO IT MAY BE CALLED EVEN IN
       // A HEADLESS STATE WHEN NO DESKTOP EXISTS. MUST RETURN
       // IF JALVIEW IS RUNNING HEADLESS
@@ -178,11 +179,13 @@ public class Desktop extends jalview.jbgui.GDesktop
         frame.setMaximizable(resizable);
         frame.setIconifiable(resizable);
         frame.setFrameIcon(null);
-        if (w != AlignFrame.NEW_WINDOW_WIDTH &&
-            h != AlignFrame.NEW_WINDOW_HEIGHT)
-          frame.setLocation(xOffset * openFrameCount, yOffset * openFrameCount);
-        frame.toFront();
 
+        if (frame.getX()<1 && frame.getY()<1)
+       {
+         frame.setLocation(xOffset * openFrameCount, yOffset * (openFrameCount%10)+yOffset);
+       }
+
+        frame.toFront();
         final JMenuItem menuItem = new JMenuItem(title);
         frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()
             {
index ffa837d..7018ef0 100755 (executable)
@@ -762,13 +762,13 @@ public class Jalview2XML
             {\r
                 for (int t = 0; t < jms.getTreeCount(); t++)\r
                 {\r
+\r
                     Tree tree = jms.getTree(t);\r
 \r
                     TreePanel tp = af.ShowNewickTree(new jalview.io.NewickFile(\r
-                                tree.getNewick()), tree.getTitle());\r
-\r
-                    tp.setBounds(tree.getXpos(), tree.getYpos(),\r
-                        tree.getWidth(), tree.getHeight());\r
+                                tree.getNewick()), tree.getTitle(),\r
+                                tree.getWidth(), tree.getHeight(),\r
+                                tree.getXpos(), tree.getYpos());\r
 \r
                     tp.fitToWindow.setState(tree.getFitToWindow());\r
                     tp.fitToWindow_actionPerformed(null);\r
@@ -795,7 +795,7 @@ public class Jalview2XML
         }\r
 \r
         Desktop.addInternalFrame(af, view.getTitle(),\r
-             AlignFrame.NEW_WINDOW_WIDTH, AlignFrame.NEW_WINDOW_HEIGHT);\r
+             view.getWidth(), view.getHeight());\r
 \r
         return af;\r
     }\r