// Copyright (C) 2008-2010 Burnham Institute for Medical Research
// Copyright (C) 2003-2010 Ethalinda K.S. Cannon
// All rights reserved
-//
+//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
-//
+//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
//
// Contact: phylosoft @ gmail . com
-// WWW: www.phylosoft.org/forester
+// WWW: https://sites.google.com/site/cmzmasek/home/software/forester
package org.forester.archaeopteryx;
/*
* Maintains the color schemes and a set of colors for drawing a tree.
*/
-final class TreeColorSet {
-
- static final String[] SCHEME_NAMES = { "Default", "Black", "Black & White", "Silver", "The Matrix",
- "White & Blue", "Cyan", "Clockwork", "Blue", "Blue & White", "Neon" };
- static final String[] COLOR_FIELDS = { "Background", "Background Gradient Bottom", "Sequence", "Taxonomy",
- "Confidence", "Branch Length", "Branch", "Node Box", "Collapsed", "Matching Nodes", "Duplication",
- "Speciation", "Duplication or Specation", "Domains", "Binary Domain Combinations", "Annotation", "Overview" };
+public final class TreeColorSet {
+
+ public static final String ANNOTATION = "Annotation";
+ public static final String BACKGROUND = "Background";
+ public static final String BACKGROUND_GRADIENT_BOTTOM = "Background Gradient Bottom";
+ public static final String BINARY_DOMAIN_COMBINATIONS = "Binary Domain Combinations";
+ public static final String BRANCH = "Branch";
+ public static final String BRANCH_LENGTH = "Branch Length";
+ public static final String COLLAPSED = "Collapsed";
+ public static final String CONFIDENCE = "Confidence";
+ public static final String DOMAINS = "Domains";
+ public static final String DUPLICATION = "Duplication";
+ public static final String DUPLICATION_OR_SPECATION = "Duplication or Specation";
+ public static final String MATCHING_NODES_A = "Matching A";
+ public static final String MATCHING_NODES_A_AND_B = "Matching A and B";
+ public static final String MATCHING_NODES_B = "Matching B";
+ public static final String NODE_BOX = "Node Box";
+ public static final String OVERVIEW = "Overview";
+ public static final String SEQUENCE = "Sequence";
+ public static final String SPECIATION = "Speciation";
+ public static final String TAXONOMY = "Taxonomy";
+ static final String[] COLOR_FIELDS = { BACKGROUND, BACKGROUND_GRADIENT_BOTTOM, SEQUENCE,
+ TAXONOMY, CONFIDENCE, BRANCH_LENGTH, BRANCH, NODE_BOX, COLLAPSED, MATCHING_NODES_A, MATCHING_NODES_B,
+ MATCHING_NODES_A_AND_B, DUPLICATION, SPECIATION, DUPLICATION_OR_SPECATION, DOMAINS,
+ BINARY_DOMAIN_COMBINATIONS, ANNOTATION, OVERVIEW };
+ static final String[] SCHEME_NAMES = { "Default", "Black", "Black & White", "Silver", "Green",
+ "White & Blue", "Cyan", "Orange", "Blue", "Blue & White", "Neon" };
+ // Color schemes:
+ private int _color_scheme;
// All the color sets; better be the same # of sets as there are names!
- private final Color[][] _color_schemes = { { new Color( 0, 0, 0 ), // background_color
+ private final Color[][] _color_schemes = { { new Color( 0, 0, 0 ), // background_color
new Color( 0, 100, 100 ), // background_color_gradient_bottom
- new Color( 220, 220, 220 ), // sequence __ Default (same as Black)
- new Color( 180, 180, 180 ), // taxonomy
- new Color( 56, 176, 222 ), // support
+ new Color( 230, 230, 230 ), // sequence __ Default (same as Black)
+ new Color( 255, 220, 220 ), // taxonomy
+ new Color( 56, 176, 255 ), // support
new Color( 140, 140, 140 ), // branch_length_color
new Color( 255, 255, 255 ), // branch_color
new Color( 255, 255, 255 ), // box_color
new Color( 255, 255, 0 ), // collapesed_fill_color
- new Color( 0, 255, 0 ), // found_color
+ new Color( 0, 255, 0 ), // found_color 0
+ new Color( 255, 0, 0 ), // found_color 1
+ new Color( 255, 255, 0 ), // found_color 1 + 2
new Color( 255, 0, 0 ), // duplication_box_color
new Color( 0, 255, 0 ), // speciation_box_color
new Color( 255, 255, 0 ), // duplication_speciation_color
new Color( 123, 104, 238 ), // domains_color
new Color( 65, 105, 255 ), // binary_domain_combinations_color
new Color( 173, 255, 47 ) // annotation
- , new Color( 130, 130, 130 ) // overview
+ , new Color( 130, 130, 130 ) // overview
}, { new Color( 0, 0, 0 ), // background_color
new Color( 0, 255, 255 ), // background_color_gradient_bottom
- new Color( 220, 220, 220 ), // sequence __ Black
- new Color( 180, 180, 180 ), // taxonomy
- new Color( 56, 176, 222 ), // support
+ new Color( 230, 230, 230 ), // sequence __ Black
+ new Color( 255, 220, 220 ), // taxonomy
+ new Color( 56, 176, 255 ), // support
new Color( 140, 140, 140 ), // branch_length_color
new Color( 255, 255, 255 ), // branch_color
new Color( 255, 255, 255 ), // box_color
new Color( 255, 255, 0 ), // collapesed_fill_color
- new Color( 0, 255, 0 ), // found_color
+ new Color( 0, 255, 0 ), // found_color 0
+ new Color( 255, 0, 0 ), // found_color 1
+ new Color( 255, 255, 0 ), // found_color 1 + 2
new Color( 255, 0, 0 ), // duplication_box_color
new Color( 0, 255, 0 ), // speciation_box_color
new Color( 255, 255, 0 ), // duplication_speciation_color
new Color( 0, 0, 0 ), // branch_color
new Color( 0, 0, 0 ), // box_color
new Color( 0, 0, 0 ), // collapesed_fill_color
- new Color( 255, 0, 0 ), // found_color
- new Color( 0, 0, 0 ), // duplication_box_color
- new Color( 200, 200, 200 ), // speciation_box_color
- new Color( 0, 0, 0 ), // duplication_speciation_color
+ new Color( 255, 0, 0 ), // found_color 0
+ new Color( 0, 255, 0 ), // found_color 1
+ new Color( 0, 0, 255 ), // found_color 1 + 2
+ new Color( 255, 0, 0 ), // duplication_box_color
+ new Color( 0, 255, 0 ), // speciation_box_color
+ new Color( 255, 255, 0 ), // duplication_speciation_color
new Color( 0, 0, 0 ), // domains_color
new Color( 0, 0, 0 ), // binary_domain_combinations_color
new Color( 0, 0, 0 ) // annotation
new Color( 240, 240, 240 ), // branch_color
new Color( 140, 140, 140 ), // box_color
new Color( 140, 140, 140 ), // collapesed_fill_color
- new Color( 255, 0, 0 ), // found_color
+ new Color( 255, 0, 0 ), // found_color 0
+ new Color( 0, 255, 0 ), // found_color 1
+ new Color( 255, 255, 0 ), // found_color 1 + 2
new Color( 255, 0, 0 ), // duplication_box_color
- new Color( 200, 200, 200 ), // speciation_box_color
- new Color( 140, 140, 140 ), // duplication_speciation_color
+ new Color( 0, 255, 0 ), // speciation_box_color
+ new Color( 255, 255, 0 ), // duplication_speciation_color
new Color( 180, 180, 180 ), // domains_color
new Color( 180, 180, 180 ), // binary_domain_combinations_color
new Color( 140, 140, 140 ) // annotation
new Color( 0, 155, 0 ), // branch_color
new Color( 0, 255, 0 ), // box_color
new Color( 0, 255, 0 ), // collapesed_fill_color
- new Color( 255, 255, 255 ), // found_color
- new Color( 255, 255, 255 ), // duplication_box_color
+ new Color( 255, 0, 0 ), // found_color 0
+ new Color( 0, 255, 0 ), // found_color 1
+ new Color( 255, 255, 0 ), // found_color 1 + 2
+ new Color( 255, 0, 0 ), // duplication_box_color
new Color( 0, 255, 0 ), // speciation_box_color
- new Color( 120, 120, 120 ), // duplication_speciation_color
+ new Color( 255, 255, 0 ), // duplication_speciation_color
new Color( 0, 235, 0 ), // domains_color
new Color( 0, 235, 0 ), // binary_domain_combinations_color
new Color( 0, 235, 0 ) // annotation
new Color( 0, 20, 200 ), // branch_color
new Color( 0, 20, 200 ), // box_color
new Color( 255, 255, 0 ), // collapesed_fill_color
- new Color( 0, 255, 0 ), // found_color
+ new Color( 0, 255, 0 ), // found_color 0
+ new Color( 255, 0, 0 ), // found_color 1
+ new Color( 0, 0, 255 ), // found_color 0 + 1
new Color( 255, 0, 0 ), // duplication_box_color
new Color( 0, 255, 0 ), // speciation_box_color
new Color( 255, 255, 0 ), // duplication_speciation_color
new Color( 0, 255, 255 ), // branch_color
new Color( 0, 255, 255 ), // box_color
new Color( 255, 255, 0 ), // collapesed_fill_color
- new Color( 0, 255, 0 ), // found_color
+ new Color( 0, 255, 0 ), // found_color 0
+ new Color( 0, 0, 255 ), // found_color 1
+ new Color( 0, 255, 255 ), // found_color 0 + 1
new Color( 255, 0, 0 ), // duplication_box_color
new Color( 0, 255, 0 ), // speciation_box_color
new Color( 255, 255, 0 ), // duplication_speciation_color
new Color( 255, 200, 0 ), // branch_color
new Color( 255, 200, 0 ), // box_color
new Color( 255, 255, 255 ), // collapesed_fill_color
- new Color( 255, 255, 255 ), // found_color
+ new Color( 255, 255, 0 ), // found_color 0
+ new Color( 0, 255, 255 ), // found_color 1
+ new Color( 255, 255, 255 ), // found_color 0 + 1
new Color( 255, 0, 0 ), // duplication_box_color
new Color( 0, 255, 0 ), // speciation_box_color
new Color( 255, 255, 0 ), // duplication_speciation_color
new Color( 255, 0, 0 ), // box_color
new Color( 0, 0, 0 ), // collapesed_fill_color
new Color( 0, 255, 0 ), // found_color
- new Color( 255, 0, 255 ), // duplication_box_color
- new Color( 255, 255, 255 ), // speciation_box_color
- new Color( 100, 100, 100 ), // duplication_speciation_color
+ new Color( 255, 0, 0 ), // found_color 1
+ new Color( 255, 255, 0 ), // found_color 1 + 2
+ new Color( 255, 0, 0 ), // duplication_box_color
+ new Color( 0, 255, 0 ), // speciation_box_color
+ new Color( 255, 255, 0 ), // duplication_speciation_color
new Color( 255, 255, 255 ), // domains_color
new Color( 255, 255, 255 ), // binary_domain_combinations_color
new Color( 255, 255, 255 ) // annotation
new Color( 0, 191, 255 ), // branch_color
new Color( 0, 191, 255 ), // box_color
new Color( 255, 255, 255 ), // collapesed_fill_color
- new Color( 255, 0, 0 ), // found_color
+ new Color( 255, 0, 0 ), // found_color 0
+ new Color( 0, 255, 0 ), // found_color 1
+ new Color( 255, 255, 0 ), // found_color 0 + 1
new Color( 255, 0, 0 ), // duplication_box_color
new Color( 0, 255, 0 ), // speciation_box_color
new Color( 255, 255, 0 ), // duplication_speciation_color
new Color( 77, 77, 255 ), // branch_length_color
new Color( 234, 173, 234 ), // branch_color
new Color( 77, 77, 255 ), // box_color
- new Color( 77, 77, 255 ), // collapesed_fill_color
- new Color( 243, 243, 21 ), // found_color
+ new Color( 77, 77, 255 ), // collapsed_fill_color
+ new Color( 243, 243, 21 ), // found_color 0
+ new Color( 255, 20, 147 ), // found_color 1
+ new Color( 255, 255, 255 ), // found_color 1 + 2
new Color( 255, 0, 0 ), // duplication_box_color
new Color( 0, 255, 0 ), // speciation_box_color
new Color( 255, 255, 0 ), // duplication_speciation_color
new Color( 27, 255, 0 ), // binary_domain_combinations_color
new Color( 27, 255, 0 ) // annotation
, new Color( 77, 77, 255 ) // ov
- } };
- // Color schemes:
- private int _color_scheme;
+ } };
+ private Color annotation_color;
+ private Color background_color;
+ private Color background_color_gradient_bottom;
+ private Color binary_domain_combinations_color;
+ private Color bootstrap_color;
+ private Color box_color;
+ private Color branch_color;
+ private Color branch_length_color;
+ private Color collapse_fill_color;
+ private Color domains_color;
+ private Color dup_box_color;
+ private Color duplication_or_specation_color;
+ private Color found_color_0;
+ private Color found_color_0_and_1;
+ private Color found_color_1;
+ private Color ov_color;
// The drawing colors
- private Color seq_color;
- private Color taxonomy_color;
- private Color bootstrap_color;
- private Color branch_length_color;
- private Color branch_color;
- private Color box_color;
- private Color background_color;
- private Color background_color_gradient_bottom;
- private Color dup_box_color;
- private Color spec_box_color;
- private Color collapse_fill_color;
- private Color found_color;
- private Color duplication_or_specation_color;
- private Color domains_color;
- private Color binary_domain_combinations_color;
- private Color annotation_color;
- private Color ov_color;
+ private Color seq_color;
+ private Color spec_box_color;
+ private Color taxonomy_color;
private TreeColorSet() {
// Hidden constructor.
}
void cycleColorScheme() {
- if ( getCurrentColorScheme() >= _color_schemes.length - 1 ) {
+ if ( getCurrentColorScheme() >= ( _color_schemes.length - 1 ) ) {
setColorSchema( 0 );
}
else {
return duplication_or_specation_color;
}
- Color getFoundColor() {
- return found_color;
+ Color getFoundColor0() {
+ return found_color_0;
+ }
+
+ Color getFoundColor0and1() {
+ return found_color_0_and_1;
+ }
+
+ Color getFoundColor1() {
+ return found_color_1;
}
Color getGainedCharactersColor() {
}
}
- private void setColorForDefault( final int i, final Color color ) {
- _color_schemes[ 0 ][ i ] = color;
- }
-
/**
* Switches colors between different schemes.
*/
branch_color = _color_schemes[ scheme ][ 6 ];
box_color = _color_schemes[ scheme ][ 7 ];
collapse_fill_color = _color_schemes[ scheme ][ 8 ];
- found_color = _color_schemes[ scheme ][ 9 ];
- dup_box_color = _color_schemes[ scheme ][ 10 ];
- spec_box_color = _color_schemes[ scheme ][ 11 ];
- duplication_or_specation_color = _color_schemes[ scheme ][ 12 ];
- domains_color = _color_schemes[ scheme ][ 13 ];
- binary_domain_combinations_color = _color_schemes[ scheme ][ 14 ];
- annotation_color = _color_schemes[ scheme ][ 15 ];
- ov_color = _color_schemes[ scheme ][ 16 ];
+ found_color_0 = _color_schemes[ scheme ][ 9 ];
+ found_color_1 = _color_schemes[ scheme ][ 10 ];
+ found_color_0_and_1 = _color_schemes[ scheme ][ 11 ];
+ dup_box_color = _color_schemes[ scheme ][ 12 ];
+ spec_box_color = _color_schemes[ scheme ][ 13 ];
+ duplication_or_specation_color = _color_schemes[ scheme ][ 14 ];
+ domains_color = _color_schemes[ scheme ][ 15 ];
+ binary_domain_combinations_color = _color_schemes[ scheme ][ 16 ];
+ annotation_color = _color_schemes[ scheme ][ 17 ];
+ ov_color = _color_schemes[ scheme ][ 18 ];
}
void setCurrentColorScheme( final int color_scheme ) {
_color_scheme = color_scheme;
}
+ private void setColorForDefault( final int i, final Color color ) {
+ _color_schemes[ 0 ][ i ] = color;
+ }
+
static TreeColorSet createInstance() {
final TreeColorSet tcs = new TreeColorSet();
tcs.setColorSchema( 0 );