X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureSettings.java;h=693e6fe63dbdaa20974619bc6f5ec2f6b05a8760;hb=refs%2Fheads%2Ffeatures%2FJAL-1264_showHideAnnotations;hp=3dae4e5fca4f4409bb5c2f7053a394c19a2ba107;hpb=7ab5d6b0ba5fec1ea4a4239e79c476d841622485;p=jalview.git diff --git a/src/jalview/gui/FeatureSettings.java b/src/jalview/gui/FeatureSettings.java index 3dae4e5..693e6fe 100644 --- a/src/jalview/gui/FeatureSettings.java +++ b/src/jalview/gui/FeatureSettings.java @@ -20,28 +20,75 @@ */ package jalview.gui; -import java.io.*; -import java.util.*; -import java.util.List; -import java.awt.*; -import java.awt.event.*; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; - -import javax.swing.*; -import javax.swing.event.*; -import javax.swing.table.*; - import jalview.analysis.AlignmentSorter; import jalview.bin.Cache; import jalview.commands.OrderCommand; -import jalview.datamodel.*; -import jalview.io.*; +import jalview.datamodel.AlignmentI; +import jalview.datamodel.SequenceFeature; +import jalview.datamodel.SequenceGroup; +import jalview.datamodel.SequenceI; +import jalview.io.JalviewFileChooser; import jalview.schemes.AnnotationColourGradient; import jalview.schemes.GraduatedColor; import jalview.util.MessageManager; import jalview.ws.dbsources.das.api.jalviewSourceI; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Font; +import java.awt.Graphics; +import java.awt.GridLayout; +import java.awt.Rectangle; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseMotionAdapter; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.List; +import java.util.Vector; + +import javax.swing.AbstractCellEditor; +import javax.swing.BorderFactory; +import javax.swing.Icon; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JColorChooser; +import javax.swing.JDialog; +import javax.swing.JInternalFrame; +import javax.swing.JLabel; +import javax.swing.JLayeredPane; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.JScrollPane; +import javax.swing.JSlider; +import javax.swing.JTabbedPane; +import javax.swing.JTable; +import javax.swing.ListSelectionModel; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import javax.swing.table.AbstractTableModel; +import javax.swing.table.TableCellEditor; +import javax.swing.table.TableCellRenderer; + public class FeatureSettings extends JPanel { DasSourceBrowser dassourceBrowser; @@ -101,7 +148,7 @@ public class FeatureSettings extends JPanel public void mousePressed(MouseEvent evt) { selectedRow = table.rowAtPoint(evt.getPoint()); - if (evt.isPopupTrigger()) + if (SwingUtilities.isRightMouseButton(evt)) { popupSort(selectedRow, (String) table.getValueAt(selectedRow, 0), table.getValueAt(selectedRow, 1), fr.minmax, evt.getX(), @@ -115,6 +162,19 @@ public class FeatureSettings extends JPanel (String) table.getValueAt(selectedRow, 0)); } } + + // isPopupTrigger fires on mouseReleased on Mac + @Override + public void mouseReleased(MouseEvent evt) + { + selectedRow = table.rowAtPoint(evt.getPoint()); + if (evt.isPopupTrigger()) + { + popupSort(selectedRow, (String) table.getValueAt(selectedRow, 0), + table.getValueAt(selectedRow, 1), fr.minmax, evt.getX(), + evt.getY()); + } + } }); table.addMouseMotionListener(new MouseMotionAdapter() @@ -141,10 +201,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
") - + ""); + table.setToolTipText(JvSwingUtils + .wrapTooltip(true, MessageManager.getString("label.feature_settings_click_drag"))); scrollPane.setViewportView(table); dassourceBrowser = new DasSourceBrowser(this); @@ -648,7 +706,7 @@ public class FeatureSettings extends JPanel { "fc" }, new String[] { "Sequence Feature Colours" }, "Sequence Feature Colours"); chooser.setFileView(new jalview.io.JalviewFileView()); - chooser.setDialogTitle("Load Feature Colours"); + chooser.setDialogTitle(MessageManager.getString("label.load_feature_colours")); chooser.setToolTipText(MessageManager.getString("action.load")); int value = chooser.showOpenDialog(this); @@ -663,7 +721,7 @@ public class FeatureSettings extends JPanel file), "UTF-8"); jalview.schemabinding.version2.JalviewUserColours jucs = new jalview.schemabinding.version2.JalviewUserColours(); - jucs = (jalview.schemabinding.version2.JalviewUserColours) jucs + jucs = jucs .unmarshal(in); for (int i = jucs.getColourCount() - 1; i >= 0; i--) @@ -746,7 +804,7 @@ public class FeatureSettings extends JPanel { "fc" }, new String[] { "Sequence Feature Colours" }, "Sequence Feature Colours"); chooser.setFileView(new jalview.io.JalviewFileView()); - chooser.setDialogTitle("Save Feature Colour Scheme"); + chooser.setDialogTitle(MessageManager.getString("label.save_feature_colours")); chooser.setToolTipText(MessageManager.getString("action.save")); int value = chooser.showSaveDialog(this); @@ -1030,7 +1088,7 @@ public class FeatureSettings extends JPanel { public void stateChanged(ChangeEvent evt) { - fr.setTransparency((float) (100 - transparency.getValue()) / 100f); + fr.setTransparency((100 - transparency.getValue()) / 100f); af.alignPanel.paintAlignment(true); } }); @@ -1064,8 +1122,8 @@ public class FeatureSettings extends JPanel } }); this.add(tabbedPane, java.awt.BorderLayout.CENTER); - tabbedPane.addTab("Feature Settings", settingsPane); - tabbedPane.addTab("DAS Settings", dasSettingsPane); + tabbedPane.addTab(MessageManager.getString("label.feature_settings"), settingsPane); + tabbedPane.addTab(MessageManager.getString("label.das_settings"), dasSettingsPane); bigPanel.add(transPanel, java.awt.BorderLayout.SOUTH); transbuttons.add(optimizeOrder); transbuttons.add(invert); @@ -1382,7 +1440,7 @@ public class FeatureSettings extends JPanel } private String[] columnNames = - { "Feature Type", "Colour", "Display" }; + { MessageManager.getString("label.feature_type"), MessageManager.getString("action.colour"), MessageManager.getString("label.display") }; private Object[][] data;