in progress
[jalview.git] / forester / java / src / org / forester / archaeopteryx / TreeColorSet.java
index 9881efa..44e050b 100644 (file)
@@ -22,7 +22,7 @@
 // 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;
 
@@ -36,39 +36,46 @@ import org.forester.util.ForesterUtil;
  */
 public final class TreeColorSet {
 
-    public static final String OVERVIEW                   = "Overview";
     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 DOMAINS                    = "Domains";
-    public static final String DUPLICATION_OR_SPECATION   = "Duplication or Specation";
-    public static final String SPECIATION                 = "Speciation";
-    public static final String DUPLICATION                = "Duplication";
-    public static final String MATCHING_NODES             = "Matching Nodes";
-    public static final String COLLAPSED                  = "Collapsed";
-    public static final String NODE_BOX                   = "Node Box";
     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 TAXONOMY                   = "Taxonomy";
+    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 BACKGROUND_GRADIENT_BOTTOM = "Background Gradient Bottom";
-    public static final String BACKGROUND                 = "Background";
-    static final String[]      SCHEME_NAMES               = { "Default", "Black", "Black & White", "Silver",
-            "The Matrix", "White & Blue", "Cyan", "Clockwork", "Blue", "Blue & White", "Neon" };
+    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, DUPLICATION, SPECIATION,
-            DUPLICATION_OR_SPECATION, DOMAINS, BINARY_DOMAIN_COMBINATIONS, ANNOTATION, OVERVIEW };
+            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
             new Color( 0, 100, 100 ), // background_color_gradient_bottom
-            new Color( 220, 220, 220 ), // sequence  __ Default (same as Black)
+            new Color( 230, 230, 230 ), // sequence  __ Default (same as Black)
             new Color( 180, 180, 180 ), // taxonomy
-            new Color( 56, 176, 222 ), // support  
+            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( 255, 255, 255 ), // collapesed_fill_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
@@ -78,14 +85,16 @@ public final class TreeColorSet {
             , 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( 230, 230, 230 ), // sequence  __ Black
             new Color( 180, 180, 180 ), // taxonomy
-            new Color( 56, 176, 222 ), // support  
+            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( 255, 255, 255 ), // collapesed_fill_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
@@ -102,10 +111,12 @@ public final class TreeColorSet {
             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
@@ -118,11 +129,13 @@ public final class TreeColorSet {
             new Color( 140, 140, 140 ), // branch_length_color
             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( 240, 240, 240 ), // collapesed_fill_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
@@ -135,11 +148,13 @@ public final class TreeColorSet {
             new Color( 0, 100, 0 ), // branch_length_color
             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( 0, 155, 0 ), // collapesed_fill_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
@@ -152,8 +167,10 @@ public final class TreeColorSet {
             new Color( 70, 70, 0 ), // branch_length_color
             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, 20, 200 ), // collapesed_fill_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
@@ -169,8 +186,10 @@ public final class TreeColorSet {
             new Color( 200, 200, 200 ), // branch_length_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, 255 ), // collapesed_fill_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
@@ -186,8 +205,10 @@ public final class TreeColorSet {
             new Color( 255, 200, 0 ), // branch_length_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, 200, 0 ), // collapesed_fill_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
@@ -203,11 +224,13 @@ public final class TreeColorSet {
             new Color( 255, 0, 0 ), // branch_length_color
             new Color( 255, 0, 0 ), // branch_color
             new Color( 255, 0, 0 ), // box_color
-            new Color( 0, 0, 0 ), // collapesed_fill_color
+            new Color( 255, 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
@@ -220,8 +243,10 @@ public final class TreeColorSet {
             new Color( 0, 191, 255 ), // branch_length_color
             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( 0, 191, 255 ), // collapesed_fill_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
@@ -237,8 +262,10 @@ public final class TreeColorSet {
             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( 234, 173, 234 ), // 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
@@ -247,26 +274,26 @@ public final class TreeColorSet {
             new Color( 27, 255, 0 ) // annotation
             , new Color( 77, 77, 255 ) // ov
             }                                            };
-    // Color schemes:
-    private int                _color_scheme;
-    // 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              annotation_color;
     private Color              background_color;
     private Color              background_color_gradient_bottom;
-    private Color              dup_box_color;
-    private Color              spec_box_color;
+    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              found_color;
-    private Color              duplication_or_specation_color;
     private Color              domains_color;
-    private Color              binary_domain_combinations_color;
-    private Color              annotation_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              spec_box_color;
+    private Color              taxonomy_color;
 
     private TreeColorSet() {
         // Hidden constructor.
@@ -348,8 +375,16 @@ public final class TreeColorSet {
         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() {
@@ -393,10 +428,6 @@ public final class TreeColorSet {
         }
     }
 
-    private void setColorForDefault( final int i, final Color color ) {
-        _color_schemes[ 0 ][ i ] = color;
-    }
-
     /**
      * Switches colors between different schemes.
      */
@@ -411,20 +442,26 @@ public final class TreeColorSet {
         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 );