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);
}
}
}