X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureSettings.java;h=935d9c673836a6d16236cb5a7a3ceb227fb70f06;hb=c19d2a91ca05e052e3408bf5852d88eb5d0608f1;hp=dc0a127a716fedcc899ae4a1b9644dee65c787cd;hpb=2273eba5668e5340354da60fed329c6c716cc439;p=jalview.git diff --git a/src/jalview/gui/FeatureSettings.java b/src/jalview/gui/FeatureSettings.java index dc0a127..935d9c6 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.2) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2) + * Copyright (C) 2015 The Jalview Authors * * This file is part of Jalview. * @@ -20,6 +20,7 @@ */ package jalview.gui; +import jalview.api.FeatureSettingsControllerI; import jalview.bin.Cache; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; @@ -28,6 +29,7 @@ import jalview.io.JalviewFileChooser; import jalview.schemes.AnnotationColourGradient; import jalview.schemes.GraduatedColor; import jalview.util.MessageManager; +import jalview.viewmodel.AlignmentViewport; import jalview.ws.dbsources.das.api.jalviewSourceI; import java.awt.BorderLayout; @@ -87,7 +89,8 @@ import javax.swing.table.AbstractTableModel; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; -public class FeatureSettings extends JPanel +public class FeatureSettings extends JPanel implements + FeatureSettingsControllerI { DasSourceBrowser dassourceBrowser; @@ -122,7 +125,8 @@ public class FeatureSettings extends JPanel this.af = af; fr = af.getFeatureRenderer(); // allow transparency to be recovered - transparency.setMaximum(100 - (int) ((originalTransparency=fr.getTransparency()) * 100)); + transparency.setMaximum(100 - (int) ((originalTransparency = fr + .getTransparency()) * 100)); try { @@ -132,15 +136,18 @@ public class FeatureSettings extends JPanel ex.printStackTrace(); } - table = new JTable() { + table = new JTable() + { @Override - public String getToolTipText(MouseEvent e) { - if (table.columnAtPoint(e.getPoint()) == 0) { + public String getToolTipText(MouseEvent e) + { + if (table.columnAtPoint(e.getPoint()) == 0) + { /* * Tooltip for feature name only */ - return JvSwingUtils.wrapTooltip(true, - MessageManager.getString("label.feature_settings_click_drag")); + return JvSwingUtils.wrapTooltip(true, MessageManager + .getString("label.feature_settings_click_drag")); } return null; } @@ -184,8 +191,7 @@ public class FeatureSettings extends JPanel { popupSort(selectedRow, (String) table.getValueAt(selectedRow, 0), table.getValueAt(selectedRow, 1), fr.getMinMax(), - evt.getX(), - evt.getY()); + evt.getX(), evt.getY()); } } }); @@ -214,8 +220,8 @@ public class FeatureSettings extends JPanel } } }); -// table.setToolTipText(JvSwingUtils.wrapTooltip(true, -// MessageManager.getString("label.feature_settings_click_drag"))); + // table.setToolTipText(JvSwingUtils.wrapTooltip(true, + // MessageManager.getString("label.feature_settings_click_drag"))); scrollPane.setViewportView(table); dassourceBrowser = new DasSourceBrowser(this); @@ -226,7 +232,7 @@ public class FeatureSettings extends JPanel fr.findAllFeatures(true); // display everything! } - setTableData(); + discoverAllFeatureData(); final PropertyChangeListener change; final FeatureSettings fs = this; fr.addPropertyChangeListener(change = new PropertyChangeListener() @@ -275,8 +281,7 @@ public class FeatureSettings extends JPanel final Object typeCol, final Hashtable minmax, int x, int y) { JPopupMenu men = new JPopupMenu(MessageManager.formatMessage( - "label.settings_for_param", new String[] - { type })); + "label.settings_for_param", new String[] { type })); JMenuItem scr = new JMenuItem( MessageManager.getString("label.sort_by_score")); men.add(scr); @@ -286,8 +291,7 @@ public class FeatureSettings extends JPanel public void actionPerformed(ActionEvent e) { - me.af.avc.sortAlignmentByFeatureScore(new String[] - { type }); + me.af.avc.sortAlignmentByFeatureScore(new String[] { type }); } }); @@ -298,8 +302,7 @@ public class FeatureSettings extends JPanel public void actionPerformed(ActionEvent e) { - me.af.avc.sortAlignmentByFeatureDensity(new String[] - { type }); + me.af.avc.sortAlignmentByFeatureDensity(new String[] { type }); } }); @@ -420,7 +423,8 @@ public class FeatureSettings extends JPanel */ Hashtable typeWidth = null; - synchronized public void setTableData() + @Override + synchronized public void discoverAllFeatureData() { Vector allFeatures = new Vector(); Vector allGroups = new Vector(); @@ -428,15 +432,13 @@ public class FeatureSettings extends JPanel String group; for (int i = 0; i < af.getViewport().getAlignment().getHeight(); i++) { - if (af.getViewport().getAlignment().getSequenceAt(i) - .getDatasetSequence().getSequenceFeatures() == null) + tmpfeatures = af.getViewport().getAlignment().getSequenceAt(i) + .getSequenceFeatures(); + if (tmpfeatures == null) { continue; } - tmpfeatures = af.getViewport().getAlignment().getSequenceAt(i) - .getDatasetSequence().getSequenceFeatures(); - int index = 0; while (index < tmpfeatures.length) { @@ -514,8 +516,7 @@ public class FeatureSettings extends JPanel af.alignPanel.overviewPanel.updateOverviewImage(); } - resetTable(new String[] - { grp }); + resetTable(new String[] { grp }); } }); groupPanel.add(check); @@ -546,7 +547,7 @@ public class FeatureSettings extends JPanel { tmpfeatures = af.getViewport().getAlignment().getSequenceAt(i) - .getDatasetSequence().getSequenceFeatures(); + .getSequenceFeatures(); if (tmpfeatures == null) { continue; @@ -703,11 +704,13 @@ public class FeatureSettings extends JPanel void load() { JalviewFileChooser chooser = new JalviewFileChooser( - jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[] - { "fc" }, new String[] - { "Sequence Feature Colours" }, "Sequence Feature Colours"); + jalview.bin.Cache.getProperty("LAST_DIRECTORY"), + new String[] { "fc" }, + new String[] { "Sequence Feature Colours" }, + "Sequence Feature Colours"); chooser.setFileView(new jalview.io.JalviewFileView()); - chooser.setDialogTitle(MessageManager.getString("label.load_feature_colours")); + chooser.setDialogTitle(MessageManager + .getString("label.load_feature_colours")); chooser.setToolTipText(MessageManager.getString("action.load")); int value = chooser.showOpenDialog(this); @@ -722,8 +725,7 @@ public class FeatureSettings extends JPanel file), "UTF-8"); jalview.schemabinding.version2.JalviewUserColours jucs = new jalview.schemabinding.version2.JalviewUserColours(); - jucs = jucs - .unmarshal(in); + jucs = jucs.unmarshal(in); for (int i = jucs.getColourCount() - 1; i >= 0; i--) { @@ -801,11 +803,13 @@ public class FeatureSettings extends JPanel void save() { JalviewFileChooser chooser = new JalviewFileChooser( - jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[] - { "fc" }, new String[] - { "Sequence Feature Colours" }, "Sequence Feature Colours"); + jalview.bin.Cache.getProperty("LAST_DIRECTORY"), + new String[] { "fc" }, + new String[] { "Sequence Feature Colours" }, + "Sequence Feature Colours"); chooser.setFileView(new jalview.io.JalviewFileView()); - chooser.setDialogTitle(MessageManager.getString("label.save_feature_colours")); + chooser.setDialogTitle(MessageManager + .getString("label.save_feature_colours")); chooser.setToolTipText(MessageManager.getString("action.save")); int value = chooser.showSaveDialog(this); @@ -940,9 +944,9 @@ public class FeatureSettings extends JPanel } } if (sort) - { + { jalview.util.QuickSort.sort(width, data); - // update global priority order + // update global priority order } updateFeatureRenderer(data, false); @@ -1074,6 +1078,21 @@ public class FeatureSettings extends JPanel } } }); + help.setFont(JvSwingUtils.getLabelFont()); + help.setText(MessageManager.getString("action.help")); + help.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + try + { + Help.showHelpWindow(HelpId.SequenceFeatureSettings); + } catch (HelpSetException e1) + { + e1.printStackTrace(); + } + } + }); cancel.setFont(JvSwingUtils.getLabelFont()); cancel.setText(MessageManager.getString("action.cancel")); cancel.addActionListener(new ActionListener() @@ -1152,8 +1171,10 @@ public class FeatureSettings extends JPanel } }); this.add(tabbedPane, java.awt.BorderLayout.CENTER); - tabbedPane.addTab(MessageManager.getString("label.feature_settings"), settingsPane); - tabbedPane.addTab(MessageManager.getString("label.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); @@ -1198,7 +1219,7 @@ public class FeatureSettings extends JPanel { SequenceI[] dataset, seqs; int iSize; - AlignViewport vp = af.getViewport(); + AlignmentViewport vp = af.getViewport(); if (vp.getSelectionGroup() != null && vp.getSelectionGroup().getSize() > 0) { @@ -1347,8 +1368,10 @@ public class FeatureSettings extends JPanel this.data = data; } - private String[] columnNames = - { MessageManager.getString("label.feature_type"), MessageManager.getString("action.colour"), MessageManager.getString("label.display") }; + private String[] columnNames = { + MessageManager.getString("label.feature_type"), + MessageManager.getString("action.colour"), + MessageManager.getString("label.display") }; private Object[][] data;