// 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;
import java.awt.event.ComponentListener;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import javax.swing.JPanel;
private TreeColorSet _colorset;
private TreeFontSet _fontset;
private Phylogeny _cut_or_copied_tree;
- private Set<Integer> _copied_and_pasted_nodes;
+ private Set<Long> _copied_and_pasted_nodes;
private Hashtable<String, BufferedImage> _image_map;
+ private static Map<String, String> _lineage_to_rank_map;
- MainPanel() {
- }
-
- MainPanel( final Configuration configuration, final MainFrame parent ) {
+ public MainPanel( final Configuration configuration, final MainFrame parent ) {
if ( configuration == null ) {
throw new IllegalArgumentException( "configuration is null" );
}
getControlPanel().showWhole();
}
- void addPhylogenyInNewTab( final Phylogeny phy,
- final Configuration config,
- final String default_name,
- final String full_path ) {
+ MainPanel() {
+ }
+
+ public void addPhylogenyInNewTab( final Phylogeny phy,
+ final Configuration config,
+ final String default_name,
+ final String full_path ) {
final TreePanel treepanel = new TreePanel( phy, config, this );
getControlPanel().phylogenyAdded( config );
treepanel.setControlPanel( getControlPanel() );
_treepanels.add( treepanel );
String name = "";
- // if ( !ForesterUtil.isEmpty( phy.getName() ) ) {
- // name = phy.getName();
- // }
- // else if ( phy.getIdentifier() != null ) {
- // name = phy.getIdentifier().toString();
- // }
- /* else */
- if ( !ForesterUtil.isEmpty( default_name ) ) {
+ if ( !ForesterUtil.isEmpty( phy.getName() ) ) {
+ name = phy.getName();
+ }
+ else if ( phy.getIdentifier() != null ) {
+ name = phy.getIdentifier().toString();
+ }
+ else if ( !ForesterUtil.isEmpty( default_name ) ) {
name = default_name;
}
else {
getControlPanel().showWhole();
}
+ @Override
+ public void componentHidden( final ComponentEvent e ) {
+ // Do nothing.
+ }
+
+ @Override
+ public void componentMoved( final ComponentEvent e ) {
+ // Do nothing.
+ }
+
+ @Override
+ public void componentResized( final ComponentEvent e ) {
+ if ( getCurrentTreePanel() != null ) {
+ getCurrentTreePanel().updateOvSettings();
+ getCurrentTreePanel().updateOvSizes();
+ }
+ }
+
+ @Override
+ public void componentShown( final ComponentEvent e ) {
+ // Do nothing.
+ }
+
+ public ControlPanel getControlPanel() {
+ return _control_panel;
+ }
+
+ public Set<Long> getCopiedAndPastedNodes() {
+ return _copied_and_pasted_nodes;
+ }
+
+ public TreePanel getCurrentTreePanel() {
+ final int selected = getTabbedPane().getSelectedIndex();
+ if ( selected >= 0 ) {
+ return _treepanels.get( selected );
+ }
+ else {
+ if ( _treepanels.size() == 1 ) {
+ return _treepanels.get( 0 );
+ }
+ else {
+ return null;
+ }
+ }
+ }
+
+ public Options getOptions() {
+ return _mainframe.getOptions();
+ }
+
+ public JTabbedPane getTabbedPane() {
+ return _tabbed_pane;
+ }
+
+ public TreeFontSet getTreeFontSet() {
+ return _fontset;
+ }
+
+ public void setArrowCursor() {
+ setCursor( TreePanel.ARROW_CURSOR );
+ repaint();
+ }
+
+ public void setCopiedAndPastedNodes( final Set<Long> node_ids ) {
+ _copied_and_pasted_nodes = node_ids;
+ }
+
+ public void setWaitCursor() {
+ setCursor( TreePanel.WAIT_CURSOR );
+ repaint();
+ }
+
void addPhylogenyInPanel( final Phylogeny phy, final Configuration config ) {
final TreePanel treepanel = new TreePanel( phy, config, this );
getControlPanel().phylogenyAdded( config );
treepanel.setControlPanel( getControlPanel() );
_treepanels.add( treepanel );
final JScrollPane treegraphic_scroll_pane = new JScrollPane( treepanel );
+ treegraphic_scroll_pane.getHorizontalScrollBar().addAdjustmentListener( new AdjustmentListener() {
+
+ @Override
+ public void adjustmentValueChanged( final AdjustmentEvent e ) {
+ if ( treepanel.isOvOn() || getOptions().isShowScale() ) {
+ treepanel.repaint();
+ }
+ }
+ } );
+ treegraphic_scroll_pane.getVerticalScrollBar().addAdjustmentListener( new AdjustmentListener() {
+
+ @Override
+ public void adjustmentValueChanged( final AdjustmentEvent e ) {
+ if ( treepanel.isOvOn() || getOptions().isShowScale() ) {
+ treepanel.repaint();
+ //System.out.println( e.getValue() );
+ }
+ }
+ } );
treegraphic_scroll_pane.getHorizontalScrollBar().setUnitIncrement( 20 );
treegraphic_scroll_pane.getHorizontalScrollBar().setBlockIncrement( 50 );
treegraphic_scroll_pane.getVerticalScrollBar().setUnitIncrement( 20 );
}
}
- @Override
- public void componentHidden( final ComponentEvent e ) {
- // Do nothing.
- }
-
- @Override
- public void componentMoved( final ComponentEvent e ) {
- // Do nothing.
- }
-
- @Override
- public void componentResized( final ComponentEvent e ) {
- if ( getCurrentTreePanel() != null ) {
- getCurrentTreePanel().updateOvSettings();
- getCurrentTreePanel().updateOvSizes();
- }
- }
-
- @Override
- public void componentShown( final ComponentEvent e ) {
- // Do nothing.
- }
-
- private Configuration getConfiguration() {
+ Configuration getConfiguration() {
return _configuration;
}
- ControlPanel getControlPanel() {
- return _control_panel;
- }
-
- public Set<Integer> getCopiedAndPastedNodes() {
- return _copied_and_pasted_nodes;
- }
-
Phylogeny getCurrentPhylogeny() {
if ( getCurrentTreePanel() == null ) {
return null;
}
}
- void setTitleOfSelectedTab( final String title ) {
- final int selected = getTabbedPane().getSelectedIndex();
- if ( selected >= 0 ) {
- getTabbedPane().setTitleAt( selected, title );
- }
- }
-
- TreePanel getCurrentTreePanel() {
- final int selected = getTabbedPane().getSelectedIndex();
- if ( selected >= 0 ) {
- return _treepanels.get( selected );
- }
- else {
- if ( _treepanels.size() == 1 ) {
- return _treepanels.get( 0 );
- }
- else {
- return null;
- }
- }
- }
-
Phylogeny getCutOrCopiedTree() {
return _cut_or_copied_tree;
}
- MainFrame getMainFrame() {
- return _mainframe;
+ synchronized Hashtable<String, BufferedImage> getImageMap() {
+ return _image_map;
}
- public Options getOptions() {
- return _mainframe.getOptions();
+ MainFrame getMainFrame() {
+ return _mainframe;
}
Phylogeny getPhylogeny( final int index ) {
return getCurrentScrollPane().getViewport().getExtentSize();
}
- JTabbedPane getTabbedPane() {
- return _tabbed_pane;
- }
-
TreeColorSet getTreeColorSet() {
return _colorset;
}
- public TreeFontSet getTreeFontSet() {
- return _fontset;
- }
-
List<TreePanel> getTreePanels() {
return _treepanels;
}
add( _tabbed_pane, BorderLayout.CENTER );
}
- public void setArrowCursor() {
- setCursor( TreePanel.ARROW_CURSOR );
- repaint();
+ void setCutOrCopiedTree( final Phylogeny cut_or_copied_tree ) {
+ _cut_or_copied_tree = cut_or_copied_tree;
}
- public void setCopiedAndPastedNodes( final Set<Integer> node_ids ) {
- _copied_and_pasted_nodes = node_ids;
+ synchronized void setImageMap( final Hashtable<String, BufferedImage> image_map ) {
+ _image_map = image_map;
}
- void setCutOrCopiedTree( final Phylogeny cut_or_copied_tree ) {
- _cut_or_copied_tree = cut_or_copied_tree;
+ void setTitleOfSelectedTab( final String title ) {
+ final int selected = getTabbedPane().getSelectedIndex();
+ if ( selected >= 0 ) {
+ getTabbedPane().setTitleAt( selected, title );
+ }
}
void setTreeColorSet( final TreeColorSet colorset ) {
void setupTreeGraphic( final Configuration config_settings, final ControlPanel control ) {
control.setSpeciesColors( config_settings.getSpeciesColors() );
+ control.setSequenceColors( config_settings.getSequenceColors() );
control.setAnnotationColors( config_settings.getAnnotationColors() );
RenderableDomainArchitecture.setColorMap( config_settings.getDomainColors() );
}
- public void setWaitCursor() {
- setCursor( TreePanel.WAIT_CURSOR );
- repaint();
- }
-
void terminate() {
for( final TreePanel atvtreepanel : _treepanels ) {
atvtreepanel.removeAllEditNodeJFrames();
}
}
- synchronized void setImageMap( final Hashtable<String, BufferedImage> image_map ) {
- _image_map = image_map;
- }
-
- synchronized Hashtable<String, BufferedImage> getImageMap() {
- return _image_map;
+ public synchronized static Map<String, String> getLineageToRankMap() {
+ if ( _lineage_to_rank_map == null ) {
+ _lineage_to_rank_map = new HashMap<String, String>();
+ }
+ return _lineage_to_rank_map;
}
}