Merge branch 'bug/JAL-2536' into develop
authorJim Procter <jprocter@issues.jalview.org>
Mon, 29 May 2017 11:18:53 +0000 (12:18 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Mon, 29 May 2017 11:18:53 +0000 (12:18 +0100)
1  2 
src/jalview/gui/AlignFrame.java
src/jalview/gui/Desktop.java

@@@ -691,21 -691,23 +691,21 @@@ public class AlignFrame extends GAlignF
          case KeyEvent.VK_PAGE_UP:
            if (viewport.getWrapAlignment())
            {
 -            alignPanel.scrollUp(true);
 +            vpRanges.scrollUp(true);
            }
            else
            {
 -            alignPanel.setScrollValues(vpRanges.getStartRes(),
 -                    2 * vpRanges.getStartSeq() - vpRanges.getEndSeq());
 +            vpRanges.pageUp();
            }
            break;
          case KeyEvent.VK_PAGE_DOWN:
            if (viewport.getWrapAlignment())
            {
 -            alignPanel.scrollUp(false);
 +            vpRanges.scrollUp(false);
            }
            else
            {
 -            alignPanel.setScrollValues(vpRanges.getStartRes(),
 -                    vpRanges.getEndSeq());
 +            vpRanges.pageDown();
            }
            break;
          }
      frame.setContentPane(overview);
      Desktop.addInternalFrame(frame, MessageManager.formatMessage(
              "label.overview_params", new Object[] { this.getTitle() }),
-             frame.getWidth(), frame.getHeight());
+             true, frame.getWidth(), frame.getHeight(), true, true);
      frame.pack();
      frame.setLayer(JLayeredPane.PALETTE_LAYER);
      frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()
@@@ -133,8 -133,6 +133,8 @@@ public class Desktop extends jalview.jb
  
    private static int DEFAULT_MIN_HEIGHT = 250;
  
 +  private static final String EXPERIMENTAL_FEATURES = "EXPERIMENTAL_FEATURES";
 +
    private JalviewChangeSupport changeSupport = new JalviewChangeSupport();
  
    /**
      instance = this;
      doVamsasClientCheck();
  
 -    groovyShell = new JMenuItem();
 -    groovyShell.setText(MessageManager.getString("label.groovy_console"));
 -    groovyShell.addActionListener(new ActionListener()
 -    {
 -      @Override
 -      public void actionPerformed(ActionEvent e)
 -      {
 -        groovyShell_actionPerformed();
 -      }
 -    });
 -    toolsMenu.add(groovyShell);
 -    groovyShell.setVisible(true);
 -
      doConfigureStructurePrefs();
      setTitle("Jalview " + jalview.bin.Cache.getProperty("VERSION"));
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      showConsole(showjconsole);
  
      showNews.setVisible(false);
 +    
 +    experimentalFeatures.setSelected(showExperimental());
  
      getIdentifiersOrgData();
  
              });
    }
  
 +  /**
 +   * Answers true if user preferences to enable experimental features is True
 +   * (on), else false
 +   * 
 +   * @return
 +   */
 +  public boolean showExperimental()
 +  {
 +    String experimental = Cache.getDefault(EXPERIMENTAL_FEATURES,
 +            Boolean.FALSE.toString());
 +    return Boolean.valueOf(experimental).booleanValue();
 +  }
 +
    public void doConfigureStructurePrefs()
    {
      // configure services
    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);
    }
  
    /**
            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);
    }
  
    /**
            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);
    }
  
    /**
     *          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
  
      openFrameCount++;
  
-     frame.setMinimumSize(new Dimension(DEFAULT_MIN_WIDTH,
-             DEFAULT_MIN_HEIGHT));
+     if (!ignoreMinSize)
+     {
+       frame.setMinimumSize(new Dimension(DEFAULT_MIN_WIDTH,
+               DEFAULT_MIN_HEIGHT));
+     }
      frame.setVisible(makeVisible);
      frame.setClosable(true);
      frame.setResizable(resizable);
  
    }
  
 -  protected JMenuItem groovyShell;
 -
    /**
     * Accessor method to quickly get all the AlignmentFrames loaded.
     * 
    /**
     * Add Groovy Support to Jalview
     */
 +  @Override
    public void groovyShell_actionPerformed()
    {
      try
        }
      }
    }
 +
 +  /**
 +   * Sets the Preferences property for experimental features to True or False
 +   * depending on the state of the controlling menu item
 +   */
 +  @Override
 +  protected void showExperimental_actionPerformed(boolean selected)
 +  {
 +    Cache.setProperty(EXPERIMENTAL_FEATURES, Boolean.toString(selected));
 +  }
  }