// and Howard Hughes Medical Institute
// Copyright (C) 2003-2007 Ethalinda K.S. Cannon
// 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
// 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
//
// 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 Phylogeny _cut_or_copied_tree;
private Set<Integer> _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 ) {
+ 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() );
treegraphic_scroll_pane_panel.add( treegraphic_scroll_pane, BorderLayout.CENTER );
_treegraphic_scroll_pane_panels.add( treegraphic_scroll_pane_panel );
_treegraphic_scroll_panes.add( treegraphic_scroll_pane );
- getTabbedPane().addTab( name,
- null,
- treegraphic_scroll_pane_panel,
- Util.createDescriptionForTab( phy, full_path ) );
+ getTabbedPane().addTab( name, null, treegraphic_scroll_pane_panel, "" );
getTabbedPane().setSelectedIndex( getTabbedPane().getTabCount() - 1 );
getControlPanel().showWhole();
}
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 );
return _configuration;
}
- ControlPanel getControlPanel() {
+ public ControlPanel getControlPanel() {
return _control_panel;
}
JScrollPane getCurrentScrollPane() {
if ( _treegraphic_scroll_panes.size() > 0 ) {
- final int selected = _tabbed_pane.getSelectedIndex();
+ final int selected = getTabbedPane().getSelectedIndex();
if ( selected >= 0 ) {
return _treegraphic_scroll_panes.get( selected );
}
}
JPanel getCurrentScrollPanePanel() {
- final int selected = _tabbed_pane.getSelectedIndex();
+ final int selected = getTabbedPane().getSelectedIndex();
if ( selected >= 0 ) {
return _treegraphic_scroll_pane_panels.get( selected );
}
}
int getCurrentTabIndex() {
- final int selected = _tabbed_pane.getSelectedIndex();
+ final int selected = getTabbedPane().getSelectedIndex();
if ( selected >= 0 ) {
return selected;
}
}
}
- TreePanel getCurrentTreePanel() {
+ void setTitleOfSelectedTab( final String title ) {
+ final int selected = getTabbedPane().getSelectedIndex();
+ if ( selected >= 0 ) {
+ getTabbedPane().setTitleAt( selected, title );
+ }
+ }
+
+ public TreePanel getCurrentTreePanel() {
final int selected = getTabbedPane().getSelectedIndex();
if ( selected >= 0 ) {
return _treepanels.get( selected );
return getCurrentScrollPane().getViewport().getExtentSize();
}
- JTabbedPane getTabbedPane() {
+ public JTabbedPane getTabbedPane() {
return _tabbed_pane;
}
_tabbed_pane.addChangeListener( new ChangeListener() {
// This method is called whenever the selected tab changes
+ @Override
public void stateChanged( final ChangeEvent evt ) {
final JTabbedPane pane = ( JTabbedPane ) evt.getSource();
getControlPanel().tabChanged();
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;
+ }
}