in progress
[jalview.git] / forester / java / src / org / forester / archaeopteryx / ControlPanel.java
index 29a69e8..509e24d 100644 (file)
@@ -91,10 +91,12 @@ final class ControlPanel extends JPanel implements ActionListener {
     private List<String>         _click_to_names;
     private int                  _collapse_cb_item;
     private JCheckBox            _color_acc_species;
+    private JCheckBox            _color_acc_sequence;
     private JCheckBox            _color_according_to_annotation;
     private boolean              _color_branches;
-    private JCheckBox            _color_branches_cb;
+    private JCheckBox            _use_visual_styles_cb;
     private int                  _color_subtree_cb_item;
+    private int                  _change_node_font_item;
     // The settings from the conf file
     private final Configuration  _configuration;
     private int                  _copy_subtree_item;
@@ -155,6 +157,7 @@ final class ControlPanel extends JPanel implements ActionListener {
     private JButton              _show_whole;
     private int                  _sort_descendents_item;
     private Map<String, Color>   _species_colors;
+    private Map<String, Color>   _sequence_colors;
     private int                  _subtree_cb_item;
     private int                  _swap_cb_item;
     private JButton              _uncollapse_all;
@@ -188,6 +191,19 @@ final class ControlPanel extends JPanel implements ActionListener {
     @Override
     public void actionPerformed( final ActionEvent e ) {
         try {
+            if ( e.getSource() == _color_acc_sequence ) {
+                if ( _color_acc_species != null  ) {
+                    _color_acc_species.setSelected( false );
+                }
+             }
+            else if ( e.getSource() == _color_acc_species ) {
+                if ( _color_acc_sequence != null  ) {
+                    _color_acc_sequence.setSelected( false );
+                }
+                
+            }
+            
+            
             final TreePanel tp = getMainPanel().getCurrentTreePanel();
             if ( tp == null ) {
                 return;
@@ -290,6 +306,10 @@ final class ControlPanel extends JPanel implements ActionListener {
                     search1();
                     displayedPhylogenyMightHaveChanged( true );
                 }
+                
+              
+                
+                
                 else {
                     displayedPhylogenyMightHaveChanged( true );
                 }
@@ -309,9 +329,13 @@ final class ControlPanel extends JPanel implements ActionListener {
     public JCheckBox getColorAccSpeciesCb() {
         return _color_acc_species;
     }
+    
+    public JCheckBox getColorAccSequenceCb() {
+        return _color_acc_sequence;
+    }
 
-    public JCheckBox getColorBranchesCb() {
-        return _color_branches_cb;
+    public JCheckBox getUseVisualStylesCb() {
+        return _use_visual_styles_cb;
     }
 
     public JCheckBox getDisplayAsPhylogramCb() {
@@ -531,10 +555,17 @@ final class ControlPanel extends JPanel implements ActionListener {
             case Configuration.color_according_to_species:
                 _color_acc_species = new JCheckBox( title );
                 _color_acc_species
-                        .setToolTipText( "To colorize taxonomy and sequence labels as a function of taxonomy" );
+                        .setToolTipText( "To colorize node labels as a function of taxonomy" );
                 addJCheckBox( _color_acc_species, ch_panel );
                 add( ch_panel );
                 break;
+            case Configuration.color_according_to_sequence:
+                _color_acc_sequence = new JCheckBox( title );
+                _color_acc_sequence
+                        .setToolTipText( "To colorize node labels as a function of sequence name" );
+                addJCheckBox( _color_acc_sequence, ch_panel );
+                add( ch_panel );
+                break;
             case Configuration.color_according_to_annotation:
                 _color_according_to_annotation = new JCheckBox( title );
                 _color_according_to_annotation
@@ -592,10 +623,11 @@ final class ControlPanel extends JPanel implements ActionListener {
                 addJCheckBox( getShowEventsCb(), ch_panel );
                 add( ch_panel );
                 break;
-            case Configuration.color_branches:
-                _color_branches_cb = new JCheckBox( title );
-                getColorBranchesCb().setToolTipText( "To use branch color values, if present" );
-                addJCheckBox( getColorBranchesCb(), ch_panel );
+            case Configuration.use_style:
+                _use_visual_styles_cb = new JCheckBox( title );
+                getUseVisualStylesCb()
+                        .setToolTipText( "To use visual styles (node colors, fonts) and branch colors, if present" );
+                addJCheckBox( getUseVisualStylesCb(), ch_panel );
                 add( ch_panel );
                 break;
             case Configuration.width_branches:
@@ -788,6 +820,10 @@ final class ControlPanel extends JPanel implements ActionListener {
     Map<String, Color> getSpeciesColors() {
         return _species_colors;
     }
+    
+    Map<String, Color> getSequenceColors() {
+        return _sequence_colors;
+    }
 
     boolean isAntialiasScreenText() {
         return true;
@@ -800,9 +836,13 @@ final class ControlPanel extends JPanel implements ActionListener {
     boolean isColorAccordingToTaxonomy() {
         return ( ( _color_acc_species != null ) && _color_acc_species.isSelected() );
     }
+    
+    boolean isColorAccordingToSequence() {
+        return ( ( _color_acc_sequence != null ) && _color_acc_sequence.isSelected() );
+    }
 
-    boolean isColorBranches() {
-        return ( ( ( getColorBranchesCb() != null ) && getColorBranchesCb().isSelected() ) || ( ( getColorBranchesCb() == null ) && _color_branches ) );
+    boolean isUseVisualStyles() {
+        return ( ( ( getUseVisualStylesCb() != null ) && getUseVisualStylesCb().isSelected() ) || ( ( getUseVisualStylesCb() == null ) && _color_branches ) );
     }
 
     boolean isDrawPhylogram() {
@@ -976,6 +1016,11 @@ final class ControlPanel extends JPanel implements ActionListener {
                     _color_acc_species.setSelected( state );
                 }
                 break;
+            case Configuration.color_according_to_sequence:
+                if ( _color_acc_sequence != null ) {
+                    _color_acc_sequence.setSelected( state );
+                }
+                break;
             case Configuration.color_according_to_annotation:
                 if ( _color_according_to_annotation != null ) {
                     _color_according_to_annotation.setSelected( state );
@@ -1031,9 +1076,9 @@ final class ControlPanel extends JPanel implements ActionListener {
                     getShowEventsCb().setSelected( state );
                 }
                 break;
-            case Configuration.color_branches:
-                if ( getColorBranchesCb() != null ) {
-                    getColorBranchesCb().setSelected( state );
+            case Configuration.use_style:
+                if ( getUseVisualStylesCb() != null ) {
+                    getUseVisualStylesCb().setSelected( state );
                 }
                 break;
             case Configuration.width_branches:
@@ -1170,6 +1215,9 @@ final class ControlPanel extends JPanel implements ActionListener {
         else if ( action == _color_node_font_item ) {
             setActionWhenNodeClicked( NodeClickAction.COLOR_NODE_FONT );
         }
+        else if ( action == _change_node_font_item ) {
+            setActionWhenNodeClicked( NodeClickAction.CHANGE_NODE_FONT );
+        }
         else {
             throw new RuntimeException( "unknown action: " + action );
         }
@@ -1225,6 +1273,10 @@ final class ControlPanel extends JPanel implements ActionListener {
     void setSpeciesColors( final Map<String, Color> species_colors ) {
         _species_colors = species_colors;
     }
+    
+    void setSequenceColors( final Map<String, Color> sequence_colors ) {
+        _sequence_colors = sequence_colors;
+    }
 
     /* GUILHEM_END */
     /*
@@ -1417,6 +1469,9 @@ final class ControlPanel extends JPanel implements ActionListener {
         if ( _color_acc_species != null ) {
             _color_acc_species.setSelected( false );
         }
+        if ( _color_acc_sequence != null ) {
+            _color_acc_sequence.setSelected( false );
+        }
         _mainpanel.getCurrentTreePanel().repaint();
     }
 
@@ -1716,6 +1771,7 @@ final class ControlPanel extends JPanel implements ActionListener {
     private void init() {
         _draw_phylogram = new ArrayList<Boolean>();
         setSpeciesColors( new HashMap<String, Color>() );
+        setSequenceColors( new HashMap<String, Color>() );
         setAnnotationColors( new HashMap<String, Color>() );
     }
 
@@ -1890,14 +1946,6 @@ final class ControlPanel extends JPanel implements ActionListener {
             }
             cb_index++;
         }
-        if ( _configuration.doDisplayClickToOption( Configuration.color_subtree ) ) {
-            _color_subtree_cb_item = cb_index;
-            addClickToOption( Configuration.color_subtree, _configuration.getClickToTitle( Configuration.color_subtree ) );
-            if ( default_option == Configuration.color_subtree ) {
-                selected_index = cb_index;
-            }
-            cb_index++;
-        }
         if ( _configuration.doDisplayClickToOption( Configuration.color_node_font ) ) {
             _color_node_font_item = cb_index;
             addClickToOption( Configuration.color_node_font,
@@ -1907,6 +1955,23 @@ final class ControlPanel extends JPanel implements ActionListener {
             }
             cb_index++;
         }
+        if ( _configuration.doDisplayClickToOption( Configuration.change_node_font ) ) {
+            _change_node_font_item = cb_index;
+            addClickToOption( Configuration.change_node_font,
+                              _configuration.getClickToTitle( Configuration.change_node_font ) );
+            if ( default_option == Configuration.change_node_font ) {
+                selected_index = cb_index;
+            }
+            cb_index++;
+        }
+        if ( _configuration.doDisplayClickToOption( Configuration.color_subtree ) ) {
+            _color_subtree_cb_item = cb_index;
+            addClickToOption( Configuration.color_subtree, _configuration.getClickToTitle( Configuration.color_subtree ) );
+            if ( default_option == Configuration.color_subtree ) {
+                selected_index = cb_index;
+            }
+            cb_index++;
+        }
         if ( _configuration.doDisplayClickToOption( Configuration.open_seq_web ) ) {
             _open_seq_web_item = cb_index;
             addClickToOption( Configuration.open_seq_web, _configuration.getClickToTitle( Configuration.open_seq_web ) );
@@ -2081,6 +2146,18 @@ final class ControlPanel extends JPanel implements ActionListener {
             setCheckbox( Configuration.display_internal_data,
                          _configuration.doCheckOption( Configuration.display_internal_data ) );
         }
+        
+        
+        if ( _configuration.doDisplayOption( Configuration.color_according_to_sequence ) ) {
+            addCheckbox( Configuration.color_according_to_sequence,
+                         _configuration.getDisplayTitle( Configuration.color_according_to_sequence ) );
+            setCheckbox( Configuration.color_according_to_sequence,
+                         _configuration.doCheckOption( Configuration.color_according_to_sequence ) );
+        }
+        
+        
+        
+        
         if ( _configuration.doDisplayOption( Configuration.color_according_to_species ) ) {
             addCheckbox( Configuration.color_according_to_species,
                          _configuration.getDisplayTitle( Configuration.color_according_to_species ) );
@@ -2093,9 +2170,9 @@ final class ControlPanel extends JPanel implements ActionListener {
             setCheckbox( Configuration.color_according_to_annotation,
                          _configuration.doCheckOption( Configuration.color_according_to_annotation ) );
         }
-        if ( _configuration.doDisplayOption( Configuration.color_branches ) ) {
-            addCheckbox( Configuration.color_branches, _configuration.getDisplayTitle( Configuration.color_branches ) );
-            setCheckbox( Configuration.color_branches, _configuration.doCheckOption( Configuration.color_branches ) );
+        if ( _configuration.doDisplayOption( Configuration.use_style ) ) {
+            addCheckbox( Configuration.use_style, _configuration.getDisplayTitle( Configuration.use_style ) );
+            setCheckbox( Configuration.use_style, _configuration.doCheckOption( Configuration.use_style ) );
         }
         if ( _configuration.doDisplayOption( Configuration.width_branches ) ) {
             addCheckbox( Configuration.width_branches, _configuration.getDisplayTitle( Configuration.width_branches ) );