JAL-2773 add new flag to paintAlignment(updateOverview,updateStructures) and first...
[jalview.git] / src / jalview / gui / FeatureSettings.java
index 45b6b0d..c5454ab 100644 (file)
@@ -97,8 +97,8 @@ import javax.swing.table.AbstractTableModel;
 import javax.swing.table.TableCellEditor;
 import javax.swing.table.TableCellRenderer;
 
-public class FeatureSettings extends JPanel implements
-        FeatureSettingsControllerI
+public class FeatureSettings extends JPanel
+        implements FeatureSettingsControllerI
 {
   DasSourceBrowser dassourceBrowser;
 
@@ -142,8 +142,8 @@ public class FeatureSettings extends JPanel implements
     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
     {
@@ -291,16 +291,17 @@ public class FeatureSettings extends JPanel implements
     }
     frame.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT));
 
-    frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()
-    {
-      @Override
-      public void internalFrameClosed(
-              javax.swing.event.InternalFrameEvent evt)
-      {
-        fr.removePropertyChangeListener(change);
-        dassourceBrowser.fs = null;
-      };
-    });
+    frame.addInternalFrameListener(
+            new javax.swing.event.InternalFrameAdapter()
+            {
+              @Override
+              public void internalFrameClosed(
+                      javax.swing.event.InternalFrameEvent evt)
+              {
+                fr.removePropertyChangeListener(change);
+                dassourceBrowser.fs = null;
+              };
+            });
     frame.setLayer(JLayeredPane.PALETTE_LAYER);
   }
 
@@ -310,8 +311,9 @@ public class FeatureSettings extends JPanel implements
   {
     final FeatureColourI featureColour = (FeatureColourI) typeCol;
 
-    JPopupMenu men = new JPopupMenu(MessageManager.formatMessage(
-            "label.settings_for_param", new String[] { type }));
+    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);
@@ -322,8 +324,9 @@ public class FeatureSettings extends JPanel implements
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        me.af.avc.sortAlignmentByFeatureScore(Arrays
-                .asList(new String[] { type }));
+        me.af.avc
+                .sortAlignmentByFeatureScore(Arrays.asList(new String[]
+                { type }));
       }
 
     });
@@ -335,8 +338,9 @@ public class FeatureSettings extends JPanel implements
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        me.af.avc.sortAlignmentByFeatureDensity(Arrays
-                .asList(new String[] { type }));
+        me.af.avc
+                .sortAlignmentByFeatureDensity(Arrays.asList(new String[]
+                { type }));
       }
 
     });
@@ -406,8 +410,7 @@ public class FeatureSettings extends JPanel implements
               else
               {
                 // probably the color chooser!
-                table.setValueAt(
-                        new FeatureColour(colorChooser.getColor()),
+                table.setValueAt(new FeatureColour(colorChooser.getColor()),
                         selectedRow, 1);
                 table.validate();
                 me.updateFeatureRenderer(
@@ -431,8 +434,8 @@ public class FeatureSettings extends JPanel implements
                 false, type);
       }
     });
-    JMenuItem clearCols = new JMenuItem(
-            MessageManager.getString("label.select_columns_not_containing"));
+    JMenuItem clearCols = new JMenuItem(MessageManager
+            .getString("label.select_columns_not_containing"));
     clearCols.addActionListener(new ActionListener()
     {
       @Override
@@ -482,7 +485,7 @@ public class FeatureSettings extends JPanel implements
   @Override
   synchronized public void discoverAllFeatureData()
   {
-    Set<String> allGroups = new HashSet<String>();
+    Set<String> allGroups = new HashSet<>();
     AlignmentI alignment = af.getViewport().getAlignment();
 
     for (int i = 0; i < alignment.getHeight(); i++)
@@ -525,6 +528,7 @@ public class FeatureSettings extends JPanel implements
     final String grp = group;
     final JCheckBox check = new JCheckBox(group, visible);
     check.setFont(new Font("Serif", Font.BOLD, 12));
+    check.setToolTipText(group);
     check.addItemListener(new ItemListener()
     {
       @Override
@@ -553,12 +557,12 @@ public class FeatureSettings extends JPanel implements
       return;
     }
     resettingTable = true;
-    typeWidth = new Hashtable<String, float[]>();
+    typeWidth = new Hashtable<>();
     // TODO: change avWidth calculation to 'per-sequence' average and use long
     // rather than float
 
-    Set<String> displayableTypes = new HashSet<String>();
-    Set<String> foundGroups = new HashSet<String>();
+    Set<String> displayableTypes = new HashSet<>();
+    Set<String> foundGroups = new HashSet<>();
 
     /*
      * determine which feature types may be visible depending on 
@@ -574,7 +578,7 @@ public class FeatureSettings extends JPanel implements
        * and keep track of which groups are visible
        */
       Set<String> groups = seq.getFeatures().getFeatureGroups(true);
-      Set<String> visibleGroups = new HashSet<String>();
+      Set<String> visibleGroups = new HashSet<>();
       for (String group : groups)
       {
         if (group == null || checkGroupState(group))
@@ -633,8 +637,8 @@ public class FeatureSettings extends JPanel implements
 
         data[dataIndex][0] = type;
         data[dataIndex][1] = fr.getFeatureStyle(type);
-        data[dataIndex][2] = new Boolean(af.getViewport()
-                .getFeaturesDisplayed().isVisible(type));
+        data[dataIndex][2] = new Boolean(
+                af.getViewport().getFeaturesDisplayed().isVisible(type));
         dataIndex++;
         displayableTypes.remove(type);
       }
@@ -678,8 +682,8 @@ public class FeatureSettings extends JPanel implements
     table.setModel(new FeatureTableModel(data));
     table.getColumnModel().getColumn(0).setPreferredWidth(200);
 
-    groupPanel.setLayout(new GridLayout(fr.getFeatureGroupsSize() / 4 + 1,
-            4));
+    groupPanel.setLayout(
+            new GridLayout(fr.getFeatureGroupsSize() / 4 + 1, 4));
     pruneGroups(foundGroups);
     groupPanel.validate();
 
@@ -800,8 +804,8 @@ public class FeatureSettings extends JPanel implements
     JalviewFileChooser chooser = new JalviewFileChooser("fc",
             "Sequence Feature Colours");
     chooser.setFileView(new 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);
@@ -812,8 +816,8 @@ public class FeatureSettings extends JPanel implements
 
       try
       {
-        InputStreamReader in = new InputStreamReader(new FileInputStream(
-                file), "UTF-8");
+        InputStreamReader in = new InputStreamReader(
+                new FileInputStream(file), "UTF-8");
 
         JalviewUserColours jucs = JalviewUserColours.unmarshal(in);
 
@@ -892,8 +896,8 @@ public class FeatureSettings extends JPanel implements
     JalviewFileChooser chooser = new JalviewFileChooser("fc",
             "Sequence Feature Colours");
     chooser.setFileView(new 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);
@@ -935,13 +939,13 @@ public class FeatureSettings extends JPanel implements
             col.setRGB(Format.getHexString(fcol.getMaxColour()));
             col.setMin(fcol.getMin());
             col.setMax(fcol.getMax());
-            col.setMinRGB(jalview.util.Format.getHexString(fcol
-                    .getMinColour()));
+            col.setMinRGB(
+                    jalview.util.Format.getHexString(fcol.getMinColour()));
             col.setAutoScale(fcol.isAutoScaled());
             col.setThreshold(fcol.getThreshold());
             col.setColourByLabel(fcol.isColourByLabel());
-            col.setThreshType(fcol.isAboveThreshold() ? "ABOVE" : (fcol
-                    .isBelowThreshold() ? "BELOW" : "NONE"));
+            col.setThreshType(fcol.isAboveThreshold() ? "ABOVE"
+                    : (fcol.isBelowThreshold() ? "BELOW" : "NONE"));
           }
           ucs.addColour(col);
         }
@@ -1054,7 +1058,7 @@ public class FeatureSettings extends JPanel implements
   {
     if (fr.setFeaturePriority(data, visibleNew))
     {
-      af.alignPanel.paintAlignment(true);
+      af.alignPanel.paintAlignment(true, true);
     }
   }
 
@@ -1144,8 +1148,8 @@ public class FeatureSettings extends JPanel implements
       }
     });
     sortByDens.setFont(JvSwingUtils.getLabelFont());
-    sortByDens.setText(MessageManager
-            .getString("label.sequence_sort_by_density"));
+    sortByDens.setText(
+            MessageManager.getString("label.sequence_sort_by_density"));
     sortByDens.addActionListener(new ActionListener()
     {
       @Override
@@ -1234,13 +1238,13 @@ public class FeatureSettings extends JPanel implements
       public void stateChanged(ChangeEvent evt)
       {
         fr.setTransparency((100 - transparency.getValue()) / 100f);
-        af.alignPanel.paintAlignment(true);
+        af.alignPanel.paintAlignment(true, true);
       }
     });
 
     transparency.setMaximum(70);
-    transparency.setToolTipText(MessageManager
-            .getString("label.transparency_tip"));
+    transparency.setToolTipText(
+            MessageManager.getString("label.transparency_tip"));
     fetchDAS.setText(MessageManager.getString("label.fetch_das_features"));
     fetchDAS.addActionListener(new ActionListener()
     {
@@ -1450,15 +1454,10 @@ public class FeatureSettings extends JPanel implements
   public void noDasSourceActive()
   {
     complete();
-    JvOptionPane
-            .showInternalConfirmDialog(
-                    Desktop.desktop,
-                    MessageManager
-                            .getString("label.no_das_sources_selected_warn"),
-                    MessageManager
-                            .getString("label.no_das_sources_selected_title"),
-                    JvOptionPane.DEFAULT_OPTION,
-                    JvOptionPane.INFORMATION_MESSAGE);
+    JvOptionPane.showInternalConfirmDialog(Desktop.desktop,
+            MessageManager.getString("label.no_das_sources_selected_warn"),
+            MessageManager.getString("label.no_das_sources_selected_title"),
+            JvOptionPane.DEFAULT_OPTION, JvOptionPane.INFORMATION_MESSAGE);
   }
 
   // ///////////////////////////////////////////////////////////////////////
@@ -1555,9 +1554,8 @@ public class FeatureSettings extends JPanel implements
     }
 
     @Override
-    public Component getTableCellRendererComponent(JTable tbl,
-            Object color, boolean isSelected, boolean hasFocus, int row,
-            int column)
+    public Component getTableCellRendererComponent(JTable tbl, Object color,
+            boolean isSelected, boolean hasFocus, int row, int column)
     {
       FeatureColourI cellColour = (FeatureColourI) color;
       // JLabel comp = new JLabel();
@@ -1765,8 +1763,8 @@ class FeatureIcon implements Icon
   }
 }
 
-class ColorEditor extends AbstractCellEditor implements TableCellEditor,
-        ActionListener
+class ColorEditor extends AbstractCellEditor
+        implements TableCellEditor, ActionListener
 {
   FeatureSettings me;