X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureSettings.java;h=daae5a531da9b9a3388913f87f3eaf3bfa64ccca;hb=a8f483d04205bb8273ee311c12968b7e86d205fa;hp=106ced92b74858cf60654921d5e1c744c3b328b2;hpb=21c29b20790ac555b2e2a124a034f6c6b4486270;p=jalview.git diff --git a/src/jalview/gui/FeatureSettings.java b/src/jalview/gui/FeatureSettings.java index 106ced9..daae5a5 100644 --- a/src/jalview/gui/FeatureSettings.java +++ b/src/jalview/gui/FeatureSettings.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * @@ -14,13 +14,13 @@ * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; import java.io.*; import java.util.*; import java.util.List; - import java.awt.*; import java.awt.event.*; import java.beans.PropertyChangeEvent; @@ -99,12 +99,18 @@ public class FeatureSettings extends JPanel public void mousePressed(MouseEvent evt) { selectedRow = table.rowAtPoint(evt.getPoint()); - if (javax.swing.SwingUtilities.isRightMouseButton(evt)) + if (evt.isPopupTrigger()) { popupSort(selectedRow, (String) table.getValueAt(selectedRow, 0), table.getValueAt(selectedRow, 1), fr.minmax, evt.getX(), evt.getY()); } + else if (evt.getClickCount() == 2) + { + fr.ap.alignFrame.avc.markColumnsContainingFeatures( + evt.isAltDown(),evt.isShiftDown() || evt.isMetaDown(), evt.isMetaDown(), + (String) table.getValueAt(selectedRow, 0)); + } } }); @@ -132,7 +138,8 @@ public class FeatureSettings extends JPanel } } }); - + table.setToolTipText(""+JvSwingUtils + .wrapTooltip("Click/drag feature types up or down to change render order.
Double click to select columns containing feature in alignment/current selection
Pressing Alt will select columns outside features rather than inside
Pressing Shift to modify current selection (rather than clear current selection)
Press CTRL or Command/Meta to toggle columns in/outside features
")+""); scrollPane.setViewportView(table); dassourceBrowser = new DasSourceBrowser(this); @@ -166,11 +173,11 @@ public class FeatureSettings extends JPanel frame.setContentPane(this); if (new jalview.util.Platform().isAMac()) { - Desktop.addInternalFrame(frame, "Sequence Feature Settings", 475, 480); + Desktop.addInternalFrame(frame, MessageManager.getString("label.sequence_feature_settings"), 475, 480); } else { - Desktop.addInternalFrame(frame, "Sequence Feature Settings", 400, 450); + Desktop.addInternalFrame(frame, MessageManager.getString("label.sequence_feature_settings"), 400, 450); } frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() @@ -188,8 +195,8 @@ public class FeatureSettings extends JPanel protected void popupSort(final int selectedRow, final String type, final Object typeCol, final Hashtable minmax, int x, int y) { - JPopupMenu men = new JPopupMenu("Settings for " + type); - JMenuItem scr = new JMenuItem("Sort by Score"); + JPopupMenu men = new JPopupMenu(MessageManager.formatMessage("label.settings_for_param", new String[]{type})); + JMenuItem scr = new JMenuItem(MessageManager.getString("label.sort_by_score")); men.add(scr); final FeatureSettings me = this; scr.addActionListener(new ActionListener() @@ -202,7 +209,7 @@ public class FeatureSettings extends JPanel } }); - JMenuItem dens = new JMenuItem("Sort by Density"); + JMenuItem dens = new JMenuItem(MessageManager.getString("label.sort_by_density")); dens.addActionListener(new ActionListener() { @@ -291,6 +298,28 @@ public class FeatureSettings extends JPanel }); } } + JMenuItem selCols = new JMenuItem(MessageManager.getString("label.select_columns_containing")); + selCols.addActionListener(new ActionListener() + { + + @Override + public void actionPerformed(ActionEvent arg0) + { + fr.ap.alignFrame.avc.markColumnsContainingFeatures(false, false, false, type); + } + }); + JMenuItem clearCols = new JMenuItem(MessageManager.getString("label.select_columns_not_containing")); + clearCols.addActionListener(new ActionListener() + { + + @Override + public void actionPerformed(ActionEvent arg0) + { + fr.ap.alignFrame.avc.markColumnsContainingFeatures(true, false, false, type); + } + }); + men.add(selCols); + men.add(clearCols); men.show(table, x, y); } @@ -603,7 +632,7 @@ public class FeatureSettings extends JPanel { "Sequence Feature Colours" }, "Sequence Feature Colours"); chooser.setFileView(new jalview.io.JalviewFileView()); chooser.setDialogTitle("Load Feature Colours"); - chooser.setToolTipText("Load"); + chooser.setToolTipText(MessageManager.getString("action.load")); int value = chooser.showOpenDialog(this); @@ -701,7 +730,7 @@ public class FeatureSettings extends JPanel { "Sequence Feature Colours" }, "Sequence Feature Colours"); chooser.setFileView(new jalview.io.JalviewFileView()); chooser.setDialogTitle("Save Feature Colour Scheme"); - chooser.setToolTipText("Save"); + chooser.setToolTipText(MessageManager.getString("action.save")); int value = chooser.showSaveDialog(this); @@ -933,7 +962,7 @@ public class FeatureSettings extends JPanel } }); sortByDens.setFont(JvSwingUtils.getLabelFont()); - sortByDens.setText("Seq Sort by density"); + sortByDens.setText(MessageManager.getString("label.sequence_sort_by_density")); sortByDens.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) @@ -1130,13 +1159,13 @@ public class FeatureSettings extends JPanel private String[] getDisplayedFeatureGroups() { String[] gps = null; + ArrayList _gps = new ArrayList(); if (fr != null) { if (fr.featureGroups != null) { Iterator en = fr.featureGroups.keySet().iterator(); - gps = new String[fr.featureColours.size()]; int g = 0; boolean valid = false; while (en.hasNext()) @@ -1146,16 +1175,15 @@ public class FeatureSettings extends JPanel if (on != null && on.booleanValue()) { valid = true; - gps[g++] = gp; + _gps.add(gp); } } - while (g < gps.length) - { - gps[g++] = null; - } if (!valid) { return null; + } else { + gps = new String[_gps.size()]; + _gps.toArray(gps); } } }