X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FDesktop.java;h=d076ba06a9d601da326fe76f71554463a84ea04c;hb=42498abb930c08393b09fc7af2564b7f210ac294;hp=b8f8399c68631a50afbb198de82e276e9c1816e4;hpb=124aa4823768a2c745a5e41f2ebfe13ab77bbea4;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index b8f8399..d076ba0 100644 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -129,6 +129,14 @@ public class Desktop extends jalview.jbgui.GDesktop implements DropTargetListener, ClipboardOwner, IProgressIndicator, jalview.api.StructureSelectionManagerProvider { + private static int DEFAULT_MIN_WIDTH = 300; + + private static int DEFAULT_MIN_HEIGHT = 250; + + private static int ALIGN_FRAME_DEFAULT_MIN_WIDTH = 600; + + private static int ALIGN_FRAME_DEFAULT_MIN_HEIGHT = 70; + private static final String EXPERIMENTAL_FEATURES = "EXPERIMENTAL_FEATURES"; private JalviewChangeSupport changeSupport = new JalviewChangeSupport(); @@ -745,7 +753,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements public static synchronized void addInternalFrame( final JInternalFrame frame, String title, int w, int h) { - addInternalFrame(frame, title, true, w, h, true); + addInternalFrame(frame, title, true, w, h, true, false); } /** @@ -767,7 +775,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements final JInternalFrame frame, String title, boolean makeVisible, int w, int h) { - addInternalFrame(frame, title, makeVisible, w, h, true); + addInternalFrame(frame, title, makeVisible, w, h, true, false); } /** @@ -788,7 +796,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements final JInternalFrame frame, String title, int w, int h, boolean resizable) { - addInternalFrame(frame, title, true, w, h, resizable); + addInternalFrame(frame, title, true, w, h, resizable, false); } /** @@ -807,10 +815,12 @@ public class Desktop extends jalview.jbgui.GDesktop implements * height * @param resizable * Allow resize + * @param ignoreMinSize + * Do not set the default minimum size for frame */ public static synchronized void addInternalFrame( final JInternalFrame frame, String title, boolean makeVisible, - int w, int h, boolean resizable) + int w, int h, boolean resizable, boolean ignoreMinSize) { // TODO: allow callers to determine X and Y position of frame (eg. via @@ -836,6 +846,23 @@ public class Desktop extends jalview.jbgui.GDesktop implements openFrameCount++; + if (!ignoreMinSize) + { + frame.setMinimumSize(new Dimension(DEFAULT_MIN_WIDTH, + DEFAULT_MIN_HEIGHT)); + + // Set default dimension for Alignment Frame window. + // The Alignment Frame window could be added from a number of places, + // hence, + // I did this here in order not to miss out on any Alignment frame. + if (frame instanceof AlignFrame) + { + frame.setMinimumSize(new Dimension(ALIGN_FRAME_DEFAULT_MIN_WIDTH, + ALIGN_FRAME_DEFAULT_MIN_HEIGHT)); + } + } + + frame.setVisible(makeVisible); frame.setClosable(true); frame.setResizable(resizable);