X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Farchaeopteryx%2FNodePanel.java;h=ed7ed0b715a8a8482367754439717876fc7cb57b;hb=693353f5ea85d3e50a77f9b1cd9d87711d23412b;hp=05114768f2f57b2cdf6e8a00fb61efa8b892a0d4;hpb=54d8e3a926c3cf3477199c8b85aca478230e223c;p=jalview.git diff --git a/forester/java/src/org/forester/archaeopteryx/NodePanel.java b/forester/java/src/org/forester/archaeopteryx/NodePanel.java index 0511476..ed7ed0b 100644 --- a/forester/java/src/org/forester/archaeopteryx/NodePanel.java +++ b/forester/java/src/org/forester/archaeopteryx/NodePanel.java @@ -25,12 +25,17 @@ package org.forester.archaeopteryx; + import java.awt.Color; +import java.awt.Component; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.util.List; import java.util.Map; -import java.util.SortedMap; import java.util.SortedSet; +import javax.swing.BoxLayout; +import javax.swing.JButton; import javax.swing.JEditorPane; import javax.swing.JPanel; import javax.swing.JScrollPane; @@ -54,7 +59,7 @@ import org.forester.phylogeny.data.Event; import org.forester.phylogeny.data.PhylogenyData; import org.forester.phylogeny.data.PhylogenyDataUtil; import org.forester.phylogeny.data.Point; -import org.forester.phylogeny.data.PropertiesMap; +import org.forester.phylogeny.data.PropertiesList; import org.forester.phylogeny.data.Property; import org.forester.phylogeny.data.Reference; import org.forester.phylogeny.data.Sequence; @@ -116,7 +121,7 @@ class NodePanel extends JPanel implements TreeSelectionListener { private final JEditorPane _pane; private final JTree _tree; - public NodePanel( final PhylogenyNode phylogeny_node ) { + public NodePanel( final PhylogenyNode phylogeny_node, final NodeFrame parent ) { String node_name = ""; if ( !ForesterUtil.isEmpty( phylogeny_node.getName() ) ) { node_name = phylogeny_node.getName() + " "; @@ -131,17 +136,38 @@ class NodePanel extends JPanel implements TreeSelectionListener { expandPath( SEQUENCE ); expandPath( EVENTS ); final JScrollPane tree_view = new JScrollPane( getJTree() ); + + final JButton close_button = new JButton( "Close" ); + close_button.setEnabled( true ); + _pane = new JEditorPane(); _pane.setEditable( false ); + final JScrollPane data_view = new JScrollPane( _pane ); final JSplitPane split_pane = new JSplitPane( JSplitPane.VERTICAL_SPLIT ); split_pane.setTopComponent( tree_view ); + data_view.add( close_button ); split_pane.setBottomComponent( data_view ); - data_view.setMinimumSize( Constants.NODE_PANEL_SPLIT_MINIMUM_SIZE ); - tree_view.setMinimumSize( Constants.NODE_PANEL_SPLIT_MINIMUM_SIZE ); - split_pane.setDividerLocation( 400 ); - split_pane.setPreferredSize( Constants.NODE_PANEL_SIZE ); - add( split_pane ); + data_view.setMinimumSize( AptxConstants.NODE_PANEL_SPLIT_MINIMUM_SIZE ); + tree_view.setMinimumSize( AptxConstants.NODE_PANEL_SPLIT_MINIMUM_SIZE ); + split_pane.setDividerLocation( 300 ); + split_pane.setPreferredSize( AptxConstants.NODE_PANEL_SIZE ); + + + close_button.addActionListener( new ActionListener() { + public void actionPerformed( final ActionEvent e ) { + parent.close(); + } + } ); + + + close_button.setAlignmentX( Component.CENTER_ALIGNMENT ); + split_pane.setAlignmentX( Component.CENTER_ALIGNMENT ); + final JPanel panel = new JPanel(); + panel.setLayout( new BoxLayout( panel, BoxLayout.Y_AXIS ) ); + panel.add( split_pane ); + panel.add( close_button ); + add( panel ); } @Override @@ -343,15 +369,15 @@ class NodePanel extends JPanel implements TreeSelectionListener { } private static void addProperties( final DefaultMutableTreeNode top, - final PropertiesMap properties, + final PropertiesList properties, final String string ) { - final SortedMap properties_map = properties.getProperties(); + final List properties_map = properties.getProperties(); final DefaultMutableTreeNode category = new DefaultMutableTreeNode( "Properties " ); top.add( category ); - for( final String key : properties_map.keySet() ) { - final Property prop = properties_map.get( key ); + for( final Property prop : properties_map ) { + category.add( new DefaultMutableTreeNode( prop.getRef() + "=" + prop.getValue() + " " + prop.getUnit() - + " [" + prop.getAppliesTo().toString() + "]" ) ); + + " [" + prop.getAppliesTo().toString() + "]" ) ); } }