X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FCalculationChooser.java;h=f674c7e5289d0e7fdd91bae22c3774667b093c50;hb=cfe67193109d8d88029c659c8aad4d394677342c;hp=8a95594f133d5d431acd9c0b7485783a25704a7f;hpb=136c0793b90b72b928c4d77dc109dd5c644e00d3;p=jalview.git diff --git a/src/jalview/gui/CalculationChooser.java b/src/jalview/gui/CalculationChooser.java index 8a95594..f674c7e 100644 --- a/src/jalview/gui/CalculationChooser.java +++ b/src/jalview/gui/CalculationChooser.java @@ -105,6 +105,11 @@ public class CalculationChooser extends JPanel List tips = new ArrayList(); + /* + * the most recently opened PCA results panel + */ + private PCAPanel pcaPanel; + /** * Constructor * @@ -164,14 +169,14 @@ public class CalculationChooser extends JPanel JPanel treePanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); treePanel.setOpaque(false); - treePanel.setBorder(BorderFactory.createTitledBorder(MessageManager - .getString("label.tree"))); + JvSwingUtils.createTitledBorder(treePanel, + MessageManager.getString("label.tree"), true); // then copy the inset dimensions for the border-less PCA panel JPanel pcaBorderless = new JPanel(new FlowLayout(FlowLayout.LEFT)); Insets b = treePanel.getBorder().getBorderInsets(treePanel); - pcaBorderless.setBorder(BorderFactory.createEmptyBorder(2, b.left, 2, - b.right)); + pcaBorderless.setBorder( + BorderFactory.createEmptyBorder(2, b.left, 2, b.right)); pcaBorderless.setOpaque(false); pcaBorderless.add(pca, FlowLayout.LEFT); @@ -186,7 +191,7 @@ public class CalculationChooser extends JPanel calcTypes.add(pca); calcTypes.add(neighbourJoining); calcTypes.add(averageDistance); - + ActionListener calcChanged = new ActionListener() { @Override @@ -335,8 +340,8 @@ public class CalculationChooser extends JPanel */ private boolean checkEnabled(JRadioButton calc, int size, int minsize) { - String ttip = MessageManager.formatMessage( - "label.you_need_at_least_n_sequences", minsize); + String ttip = MessageManager + .formatMessage("label.you_need_at_least_n_sequences", minsize); calc.setEnabled(size >= minsize); if (!calc.isEnabled()) @@ -383,7 +388,8 @@ public class CalculationChooser extends JPanel @Override public void mouseEntered(MouseEvent e) { - scoreModelsCombo.setToolTipText(tips.get(scoreModelsCombo.getSelectedIndex())); + scoreModelsCombo.setToolTipText( + tips.get(scoreModelsCombo.getSelectedIndex())); } @Override @@ -490,19 +496,17 @@ public class CalculationChooser extends JPanel SequenceGroup sg = viewport.getSelectionGroup(); if (sg != null && sg.getSize() < MIN_TREE_SELECTION) { - JvOptionPane - .showMessageDialog( - Desktop.desktop, - MessageManager - .formatMessage("label.you_need_at_least_n_sequences", + JvOptionPane.showMessageDialog(Desktop.desktop, + MessageManager.formatMessage( + "label.you_need_at_least_n_sequences", MIN_TREE_SELECTION), - MessageManager - .getString("label.not_enough_sequences"), - JvOptionPane.WARNING_MESSAGE); + MessageManager.getString("label.not_enough_sequences"), + JvOptionPane.WARNING_MESSAGE); return; } - String treeType = neighbourJoining.isSelected() ? TreeBuilder.NEIGHBOUR_JOINING + String treeType = neighbourJoining.isSelected() + ? TreeBuilder.NEIGHBOUR_JOINING : TreeBuilder.AVERAGE_DISTANCE; af.newTreePanel(treeType, modelName, params); } @@ -522,18 +526,20 @@ public class CalculationChooser extends JPanel * this check in in case this method gets exposed programmatically in future */ if (((viewport.getSelectionGroup() != null) - && (viewport.getSelectionGroup().getSize() < MIN_PCA_SELECTION) && (viewport - .getSelectionGroup().getSize() > 0)) + && (viewport.getSelectionGroup().getSize() < MIN_PCA_SELECTION) + && (viewport.getSelectionGroup().getSize() > 0)) || (viewport.getAlignment().getHeight() < MIN_PCA_SELECTION)) { - JvOptionPane.showInternalMessageDialog(this, MessageManager - .formatMessage("label.you_need_at_least_n_sequences", - MIN_PCA_SELECTION), MessageManager - .getString("label.sequence_selection_insufficient"), + JvOptionPane.showInternalMessageDialog(this, + MessageManager.formatMessage( + "label.you_need_at_least_n_sequences", + MIN_PCA_SELECTION), + MessageManager + .getString("label.sequence_selection_insufficient"), JvOptionPane.WARNING_MESSAGE); return; } - new PCAPanel(af.alignPanel, modelName, params); + pcaPanel = new PCAPanel(af.alignPanel, modelName, params); } /** @@ -575,7 +581,8 @@ public class CalculationChooser extends JPanel */ boolean matchGap = doPCA ? false : treeMatchGaps; - return new SimilarityParams(includeGapGap, matchGap, includeGapResidue, matchOnShortestLength); + return new SimilarityParams(includeGapGap, matchGap, includeGapResidue, + matchOnShortestLength); } /** @@ -590,4 +597,9 @@ public class CalculationChooser extends JPanel { } } + + public PCAPanel getPcaPanel() + { + return pcaPanel; + } }