X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Farchaeopteryx%2FNodePanel.java;h=4cfb7b2cb6d027a3f81e3ee7b82f9ca45aa9bb9a;hb=045ed0731ed1997f6ccf41b2a7688d028ea73a0a;hp=ebed53080cc5a491573e7221f623dec60d9a8bfc;hpb=c94d818879d93f5a794f905a6312982d348b2752;p=jalview.git diff --git a/forester/java/src/org/forester/archaeopteryx/NodePanel.java b/forester/java/src/org/forester/archaeopteryx/NodePanel.java index ebed530..4cfb7b2 100644 --- a/forester/java/src/org/forester/archaeopteryx/NodePanel.java +++ b/forester/java/src/org/forester/archaeopteryx/NodePanel.java @@ -210,6 +210,27 @@ class NodePanel extends JPanel implements TreeSelectionListener { } } + private static void addLineage( final DefaultMutableTreeNode top, + final List lineage, + final DefaultMutableTreeNode category ) { + if ( ( lineage != null ) && ( lineage.size() > 0 ) ) { + final StringBuilder sb = new StringBuilder(); + for( final String lin : lineage ) { + if ( !ForesterUtil.isEmpty( lin ) ) { + sb.append( lin ); + sb.append( " > " ); + } + } + String str = null; + if ( sb.length() > 1 ) { + str = sb.substring( 0, sb.length() - 3 ); + } + if ( !ForesterUtil.isEmpty( str ) ) { + addSubelement( category, "Lineage", str ); + } + } + } + private static void addBasics( final DefaultMutableTreeNode top, final PhylogenyNode phylogeny_node, final String name ) { @@ -226,18 +247,6 @@ class NodePanel extends JPanel implements TreeSelectionListener { addSubelement( category, CONFIDENCE, conf.asText().toString() ); } } - 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() ); - } if ( !phylogeny_node.isExternal() ) { addSubelement( category, "Children", String.valueOf( phylogeny_node.getNumberOfDescendants() ) ); addSubelement( category, @@ -252,10 +261,10 @@ class NodePanel extends JPanel implements TreeSelectionListener { if ( no_tax > 0 ) { addSubelement( category, "External nodes without taxonomy", String.valueOf( no_tax ) ); } - //TODO remove me... - for( final Taxonomy taxonomy : distinct_tax.keySet() ) { - System.out.println( taxonomy + ": " + distinct_tax.get( taxonomy ) ); - } + //TODO remove me... maybe make me into a method? + //for( final Taxonomy taxonomy : distinct_tax.keySet() ) { + // System.out.println( taxonomy + ": " + distinct_tax.get( taxonomy ) ); + //} } } if ( !phylogeny_node.isRoot() ) { @@ -265,6 +274,16 @@ 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 ) ) { + final 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, @@ -393,6 +412,9 @@ class NodePanel extends JPanel implements TreeSelectionListener { if ( ( tax.getUris() != null ) && !tax.getUris().isEmpty() ) { addUris( top, tax.getUris(), category ); } + if ( ( tax.getLineage() != null ) && !tax.getLineage().isEmpty() ) { + addLineage( top, tax.getLineage(), category ); + } } private static void createNodes( final DefaultMutableTreeNode top, final PhylogenyNode phylogeny_node ) {