changed order
[jalview.git] / forester / java / src / org / forester / archaeopteryx / NodePanel.java
index ff6e275..7646342 100644 (file)
@@ -5,7 +5,7 @@
 // Copyright (C) 2008-2009 Christian M. Zmasek
 // Copyright (C) 2008-2009 Burnham Institute for Medical Research
 // 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
@@ -15,7 +15,7 @@
 // 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
@@ -25,6 +25,7 @@
 
 package org.forester.archaeopteryx;
 
+import java.awt.Color;
 import java.util.List;
 import java.util.SortedMap;
 import java.util.SortedSet;
@@ -44,6 +45,7 @@ import org.forester.phylogeny.PhylogenyMethods;
 import org.forester.phylogeny.PhylogenyNode;
 import org.forester.phylogeny.data.Annotation;
 import org.forester.phylogeny.data.BinaryCharacters;
+import org.forester.phylogeny.data.BranchWidth;
 import org.forester.phylogeny.data.Date;
 import org.forester.phylogeny.data.Distribution;
 import org.forester.phylogeny.data.Event;
@@ -92,6 +94,8 @@ class NodePanel extends JPanel implements TreeSelectionListener {
     static final String       SEQ_SYMBOL               = "Symbol";
     static final String       SEQ_URI                  = "URI";
     static final String       NODE_BRANCH_LENGTH       = "Branch length";
+    static final String       NODE_BRANCH_WIDTH        = "Branch width";
+    static final String       NODE_BRANCH_COLOR        = "Branch color";
     static final String       NODE_NAME                = "Name";
     static final String       TAXONOMY_URI             = "URI";
     static final String       TAXONOMY_RANK            = "Rank";
@@ -213,18 +217,21 @@ class NodePanel extends JPanel implements TreeSelectionListener {
         top.add( category );
         addSubelement( category, NODE_NAME, phylogeny_node.getName() );
         if ( phylogeny_node.getDistanceToParent() != PhylogenyNode.DISTANCE_DEFAULT ) {
-            addSubelement( category, NODE_BRANCH_LENGTH, ForesterUtil.FORMATTER_6.format( phylogeny_node
-                    .getDistanceToParent() ) );
+            addSubelement( category,
+                           NODE_BRANCH_LENGTH,
+                           ForesterUtil.FORMATTER_6.format( phylogeny_node.getDistanceToParent() ) );
         }
         if ( phylogeny_node.getBranchData().isHasConfidences() ) {
             for( final PhylogenyData conf : phylogeny_node.getBranchData().getConfidences() ) {
                 addSubelement( category, CONFIDENCE, conf.asText().toString() );
             }
         }
+       
         if ( !phylogeny_node.isExternal() ) {
             addSubelement( category, "Children", String.valueOf( phylogeny_node.getNumberOfDescendants() ) );
-            addSubelement( category, "External children", String.valueOf( phylogeny_node.getAllExternalDescendants()
-                    .size() ) );
+            addSubelement( category,
+                           "External children",
+                           String.valueOf( phylogeny_node.getAllExternalDescendants().size() ) );
             final SortedMap<Taxonomy, Integer> distinct_tax = PhylogenyMethods
                     .obtainDistinctTaxonomyCounts( phylogeny_node );
             if ( distinct_tax != null ) {
@@ -247,6 +254,18 @@ class NodePanel extends JPanel implements TreeSelectionListener {
                 addSubelement( category, "Distance to root", String.valueOf( ForesterUtil.FORMATTER_6.format( d ) ) );
             }
         }
+        if ( ( phylogeny_node.getBranchData().getBranchWidth() != null )
+                && ( phylogeny_node.getBranchData().getBranchWidth().getValue() != BranchWidth.BRANCH_WIDTH_DEFAULT_VALUE ) ) {
+            addSubelement( category,
+                           NODE_BRANCH_WIDTH,
+                           ForesterUtil.FORMATTER_3.format( phylogeny_node.getBranchData().getBranchWidth().getValue() ) );
+        }
+        if ( ( phylogeny_node.getBranchData().getBranchColor() != null ) ) {
+            Color c = phylogeny_node.getBranchData().getBranchColor().getValue();
+            addSubelement( category,
+                           NODE_BRANCH_COLOR,
+                            c.getRed() + ", " + c.getGreen() + ", "+ c.getBlue() );
+        }
     }
 
     private static void addBinaryCharacters( final DefaultMutableTreeNode top,