final static String clickto_options[][] = {
{ "Display Node Data", "display" }, { "Collapse/Uncollapse", "display" }, { "Root/Reroot", "display" },
{ "Sub/Super Tree", "display" }, { "Swap Descendants", "display" }, { "Colorize Subtree(s)", "display" },
- { "Colorize Node", "display" }, { "Change Node Font", "display" }, { "Open Sequence DB", "display" },
+ { "Colorize Node(s)", "display" }, { "Change Node Font", "display" }, { "Open Sequence DB", "display" },
{ "Go to PDB", "display" }, { "Open Taxonomy DB", "display" }, { "Blast", "display" },
{ "Cut Subtree", "display" }, { "Copy Subtree", "display" }, { "Paste Subtree", "display" },
{ "Delete Subtree/Node", "display" }, { "Add New Node", "display" }, { "Edit Node Data", "display" },
{ "Phylogram", "display", "?" }, { "Node Name", "display", "yes" }, { "Taxonomy Code", "display", "yes" },
{ "Seq Annotations", "nodisplay", "no" }, { "Confidence Values", "display", "?" },
{ "Node Events", "display", "?" }, { "Colorize by Taxonomy", "display", "no" },
- { "Use Branch Colors", "display", "no" }, { "Use Branch Widths", "display", "no" },
+ { "Use Visual Styles", "display", "no" }, { "Use Branch Widths", "display", "no" },
{ "Show Custom Nodes", "display", "yes" }, { "Protein Domains", "nodisplay", "no" },
{ "Binary Characters", "nodisplay", "no" }, { "Binary Char Counts", "nodisplay", "no" },
{ "Seq Name", "display", "yes" }, { "Seq Accession", "display", "no" },
final static int write_confidence_values = 4;
final static int write_events = 5;
final static int color_according_to_species = 6;
- final static int color_branches = 7;
+ final static int use_style = 7;
final static int width_branches = 8;
final static int show_custom_node_shapes = 9;
final static int show_domain_architectures = 10;
}
public void setColorizeBranches( final boolean b ) {
- display_options[ color_branches ][ 2 ] = b ? "yes" : "no";
+ display_options[ use_style ][ 2 ] = b ? "yes" : "no";
}
public void setColorLabelsSameAsParentBranch( final boolean color_labels_same_as_parent_branch ) {
else if ( key.equals( "write_events" ) ) {
key_index = Configuration.write_events;
}
- else if ( key.equals( "color_branches" ) ) {
- key_index = Configuration.color_branches;
+ else if ( key.equals( "use_visual_styles" ) ) {
+ key_index = Configuration.use_style;
}
else if ( key.equals( "width_branches" ) ) {
key_index = Configuration.width_branches;
private JCheckBox _color_acc_species;
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
return _color_acc_species;
}
- public JCheckBox getColorBranchesCb() {
- return _color_branches_cb;
+ public JCheckBox getUseVisualStylesCb() {
+ return _use_visual_styles_cb;
}
public JCheckBox getDisplayAsPhylogramCb() {
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 (colors, fonts), if present" );
+ addJCheckBox( getUseVisualStylesCb(), ch_panel );
add( ch_panel );
break;
case Configuration.width_branches:
return ( ( _color_acc_species != null ) && _color_acc_species.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() {
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:
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 ) );
final int colorizations = TreePanelUtil.colorPhylogenyAccordingToRanks( _phylogeny, rank, this );
if ( colorizations > 0 ) {
_control_panel.setColorBranches( true );
- if ( _control_panel.getColorBranchesCb() != null ) {
- _control_panel.getColorBranchesCb().setSelected( true );
+ if ( _control_panel.getUseVisualStylesCb() != null ) {
+ _control_panel.getUseVisualStylesCb().setSelected( true );
}
if ( _control_panel.getColorAccSpeciesCb() != null ) {
_control_panel.getColorAccSpeciesCb().setSelected( false );
AptxUtil.removeBranchColors( _phylogeny );
TreePanelUtil.colorPhylogenyAccordingToConfidenceValues( _phylogeny, this );
_control_panel.setColorBranches( true );
- if ( _control_panel.getColorBranchesCb() != null ) {
- _control_panel.getColorBranchesCb().setSelected( true );
+ if ( _control_panel.getUseVisualStylesCb() != null ) {
+ _control_panel.getUseVisualStylesCb().setSelected( true );
}
setArrowCursor();
repaint();
}
final Color getGraphicsForNodeBoxWithColorForParentBranch( final PhylogenyNode node ) {
- if ( getControlPanel().isColorBranches() && ( PhylogenyMethods.getBranchColorValue( node ) != null ) ) {
+ if ( getControlPanel().isUseVisualStyles() && ( PhylogenyMethods.getBranchColorValue( node ) != null ) ) {
return ( PhylogenyMethods.getBranchColorValue( node ) );
}
else {
setWaitCursor();
TreePanelUtil.colorPhylogenyAccordingToExternalTaxonomy( _phylogeny, this );
_control_panel.setColorBranches( true );
- if ( _control_panel.getColorBranchesCb() != null ) {
- _control_panel.getColorBranchesCb().setSelected( true );
+ if ( _control_panel.getUseVisualStylesCb() != null ) {
+ _control_panel.getUseVisualStylesCb().setSelected( true );
}
setEdited( true );
setArrowCursor();
&& !to_graphics_file && getCopiedAndPastedNodes().contains( node.getId() ) ) {
g.setColor( getTreeColorSet().getFoundColor0() );
}
- else if ( getControlPanel().isColorBranches() && ( PhylogenyMethods.getBranchColorValue( node ) != null ) ) {
+ else if ( getControlPanel().isUseVisualStyles() && ( PhylogenyMethods.getBranchColorValue( node ) != null ) ) {
g.setColor( PhylogenyMethods.getBranchColorValue( node ) );
}
else if ( to_pdf ) {
final PhylogenyNode node,
final List<PhylogenyNode> additional_nodes ) {
_control_panel.setColorBranches( true );
- if ( _control_panel.getColorBranchesCb() != null ) {
- _control_panel.getColorBranchesCb().setSelected( true );
+ if ( _control_panel.getUseVisualStylesCb() != null ) {
+ _control_panel.getUseVisualStylesCb().setSelected( true );
}
if ( node != null ) {
for( final PreorderTreeIterator it = new PreorderTreeIterator( node ); it.hasNext(); ) {
final PhylogenyNode node,
final List<PhylogenyNode> additional_nodes ) {
_control_panel.setColorBranches( true );
- if ( _control_panel.getColorBranchesCb() != null ) {
- _control_panel.getColorBranchesCb().setSelected( true );
+ if ( _control_panel.getUseVisualStylesCb() != null ) {
+ _control_panel.getUseVisualStylesCb().setSelected( true );
}
if ( node != null ) {
colorizeNodesHelper( c, node );
}
private final static void colorizeNodesHelper( final Color c, final PhylogenyNode node ) {
- NodeVisualData v;
- if ( node.getNodeData().getNodeVisualData() != null ) {
- v = node.getNodeData().getNodeVisualData();
+ if ( node.getNodeData().getNodeVisualData() == null ) {
+ node.getNodeData().setNodeVisualData( new NodeVisualData() );
}
- else {
- v = new NodeVisualData();
- }
- v.setFontColor( new Color( c.getRed(), c.getGreen(), c.getBlue() ) );
+ node.getNodeData().getNodeVisualData().setFontColor( new Color( c.getRed(), c.getGreen(), c.getBlue() ) );
}
final private void colorSubtree( final PhylogenyNode node ) {
}
_color_chooser.setPreviewPanel( new JPanel() );
SubtreeColorizationActionListener al;
- if ( ( getFoundNodes0() != null ) && !getFoundNodes0().isEmpty() ) {
- final List<PhylogenyNode> additional_nodes = getFoundNodes0AsListOfPhylogenyNodes();
+ if ( ( getFoundNodes0() != null ) || ( getFoundNodes1() != null ) ) {
+ final List<PhylogenyNode> additional_nodes = getFoundNodesAsListOfPhylogenyNodes();
al = new SubtreeColorizationActionListener( _color_chooser, node, additional_nodes );
}
else {
private void colorNodeFont( final PhylogenyNode node ) {
_color_chooser.setPreviewPanel( new JPanel() );
NodeColorizationActionListener al;
- if ( ( getFoundNodes0() != null ) && !getFoundNodes0().isEmpty() ) {
- final List<PhylogenyNode> additional_nodes = getFoundNodes0AsListOfPhylogenyNodes();
+ if ( ( getFoundNodes0() != null ) || ( getFoundNodes1() != null ) ) {
+ final List<PhylogenyNode> additional_nodes = getFoundNodesAsListOfPhylogenyNodes();
al = new NodeColorizationActionListener( _color_chooser, node, additional_nodes );
}
else {
al = new NodeColorizationActionListener( _color_chooser, node );
}
- final JDialog dialog = JColorChooser
- .createDialog( this, "Subtree colorization", true, _color_chooser, al, null );
+ final JDialog dialog = JColorChooser.createDialog( this, "Node colorization", true, _color_chooser, al, null );
dialog.setVisible( true );
}
}
fc.showDialog( this, "Select Font" );
if ( ( fc.getFont() != null ) && !ForesterUtil.isEmpty( fc.getFont().getFamily().trim() ) ) {
- if ( node.getNodeData().getNodeVisualData() == null ) {
- node.getNodeData().setNodeVisualData( new NodeVisualData() );
+ List<PhylogenyNode> nodes = new ArrayList<PhylogenyNode>();
+ if ( ( getFoundNodes0() != null ) || ( getFoundNodes1() != null ) ) {
+ nodes = getFoundNodesAsListOfPhylogenyNodes();
}
- final NodeVisualData vd = node.getNodeData().getNodeVisualData();
- final Font ff = fc.getFont();
- vd.setFontName( ff.getFamily().trim() );
- int s = ff.getSize();
- if ( s < 0 ) {
- s = 0;
+ nodes.add( node );
+ for( final PhylogenyNode n : nodes ) {
+ if ( n.getNodeData().getNodeVisualData() == null ) {
+ n.getNodeData().setNodeVisualData( new NodeVisualData() );
+ }
+ final NodeVisualData vd = n.getNodeData().getNodeVisualData();
+ final Font ff = fc.getFont();
+ vd.setFontName( ff.getFamily().trim() );
+ int s = ff.getSize();
+ if ( s < 0 ) {
+ s = 0;
+ }
+ if ( s > Byte.MAX_VALUE ) {
+ s = Byte.MAX_VALUE;
+ }
+ vd.setFontSize( s );
+ vd.setFontStyle( ff.getStyle() );
}
- if ( s > Byte.MAX_VALUE ) {
- s = Byte.MAX_VALUE;
+ if ( _control_panel.getUseVisualStylesCb() != null ) {
+ getControlPanel().getUseVisualStylesCb().setSelected( true );
}
- vd.setFontSize( s );
- vd.setFontStyle( ff.getStyle() );
}
+ repaint();
}
final private void copySubtree( final PhylogenyNode node ) {
return getMainPanel().getCutOrCopiedTree();
}
- private List<PhylogenyNode> getFoundNodes0AsListOfPhylogenyNodes() {
+ private List<PhylogenyNode> getFoundNodesAsListOfPhylogenyNodes() {
final List<PhylogenyNode> additional_nodes = new ArrayList<PhylogenyNode>();
- for( final Long id : getFoundNodes0() ) {
- additional_nodes.add( _phylogeny.getNode( id ) );
+ if ( getFoundNodes0() != null ) {
+ for( final Long id : getFoundNodes0() ) {
+ additional_nodes.add( _phylogeny.getNode( id ) );
+ }
}
- return additional_nodes;
- }
-
- private List<PhylogenyNode> getFoundNodes1AsListOfPhylogenyNodes() {
- final List<PhylogenyNode> additional_nodes = new ArrayList<PhylogenyNode>();
- for( final Long id : getFoundNodes1() ) {
- additional_nodes.add( _phylogeny.getNode( id ) );
+ if ( getFoundNodes1() != null ) {
+ for( final Long id : getFoundNodes1() ) {
+ if ( ( getFoundNodes0() == null ) || !getFoundNodes0().contains( id ) ) {
+ additional_nodes.add( _phylogeny.getNode( id ) );
+ }
+ }
}
return additional_nodes;
}
else if ( getControlPanel().isColorAccordingToTaxonomy() ) {
c = getTaxonomyBasedColor( node );
}
- else if ( getOptions().isColorLabelsSameAsParentBranch() && getControlPanel().isColorBranches()
+ else if ( getOptions().isColorLabelsSameAsParentBranch() && getControlPanel().isUseVisualStyles()
&& ( PhylogenyMethods.getBranchColorValue( node ) != null ) ) {
c = PhylogenyMethods.getBranchColorValue( node );
}
else if ( is_in_found_nodes ) {
g.setColor( getColorForFoundNode( node ) );
}
+ else if ( getControlPanel().isUseVisualStyles() && ( node.getNodeData().getNodeVisualData() != null )
+ && ( node.getNodeData().getNodeVisualData().getFontColor() != null ) ) {
+ g.setColor( node.getNodeData().getNodeVisualData().getFontColor() );
+ }
else if ( getControlPanel().isColorAccordingToTaxonomy() ) {
g.setColor( getTaxonomyBasedColor( node ) );
}
.getNodeData().getSequence().getAnnotations().isEmpty() ) ) ) {
g.setColor( calculateColorForAnnotation( node.getNodeData().getSequence().getAnnotations() ) );
}
- else if ( getOptions().isColorLabelsSameAsParentBranch() && getControlPanel().isColorBranches()
+ else if ( getOptions().isColorLabelsSameAsParentBranch() && getControlPanel().isUseVisualStyles()
&& ( PhylogenyMethods.getBranchColorValue( node ) != null ) ) {
g.setColor( PhylogenyMethods.getBranchColorValue( node ) );
}
}
_sb.append( propertiesToString( node ) );
}
- if ( getControlPanel().isColorBranches() && ( node.getNodeData().getNodeVisualData() != null ) ) {
+ if ( getControlPanel().isUseVisualStyles() && ( node.getNodeData().getNodeVisualData() != null ) ) {
final Font f = node.getNodeData().getNodeVisualData().getFont();
g.setFont( f != null ? f : getTreeFontSet().getLargeFont() );
}
else if ( getControlPanel().isColorAccordingToTaxonomy() ) {
g.setColor( getTaxonomyBasedColor( node ) );
}
- else if ( getOptions().isColorLabelsSameAsParentBranch() && getControlPanel().isColorBranches()
+ else if ( getOptions().isColorLabelsSameAsParentBranch() && getControlPanel().isUseVisualStyles()
&& ( PhylogenyMethods.getBranchColorValue( node ) != null ) ) {
g.setColor( PhylogenyMethods.getBranchColorValue( node ) );
}
private void showExtDescNodeData( final PhylogenyNode node ) {
final List<String> data = new ArrayList<String>();
final List<PhylogenyNode> nodes = node.getAllExternalDescendants();
- if ( ( getFoundNodes0() != null ) && !getFoundNodes0().isEmpty() ) {
- for( final PhylogenyNode n : getFoundNodes0AsListOfPhylogenyNodes() ) {
- if ( !nodes.contains( n ) ) {
- nodes.add( n );
- }
- }
- }
- if ( ( getFoundNodes1() != null ) && !getFoundNodes1().isEmpty() ) {
- for( final PhylogenyNode n : getFoundNodes1AsListOfPhylogenyNodes() ) {
+ if ( ( getFoundNodes0() != null ) || ( getFoundNodes1() != null ) ) {
+ for( final PhylogenyNode n : getFoundNodesAsListOfPhylogenyNodes() ) {
if ( !nodes.contains( n ) ) {
nodes.add( n );
}