getting of external node data
[jalview.git] / forester / java / src / org / forester / archaeopteryx / MainFrame.java
index 3fe5714..ac08d25 100644 (file)
@@ -43,10 +43,12 @@ import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;
 import javax.swing.JOptionPane;
 import javax.swing.JRadioButtonMenuItem;
+import javax.swing.SwingUtilities;
 
 import org.forester.archaeopteryx.Options.CLADOGRAM_TYPE;
 import org.forester.archaeopteryx.Options.NODE_LABEL_DIRECTION;
 import org.forester.archaeopteryx.Options.PHYLOGENY_GRAPHICS_TYPE;
+import org.forester.archaeopteryx.tools.InferenceManager;
 import org.forester.archaeopteryx.tools.ProcessPool;
 import org.forester.archaeopteryx.tools.ProcessRunning;
 import org.forester.phylogeny.Phylogeny;
@@ -214,6 +216,7 @@ public abstract class MainFrame extends JFrame implements ActionListener {
     Configuration             _configuration;
     JMenuItem                 _remove_branch_color_item;
     Options                   _options;
+    InferenceManager          _inference_manager;
     final ProcessPool         _process_pool;
 
     MainFrame() {
@@ -545,8 +548,18 @@ public abstract class MainFrame extends JFrame implements ActionListener {
         _jmenubar.add( _help_jmenu );
     }
 
-    public synchronized void updateProcessMenu() {
-        System.out.println( "pool size " + _process_pool.size() );
+    public void updateProcessMenu() {
+        // In general Swing is not thread safe.
+        // See "Swing's Threading Policy".
+        SwingUtilities.invokeLater( new Runnable() {
+
+            public void run() {
+                doUpdateProcessMenu();
+            }
+        } );
+    }
+
+    private void doUpdateProcessMenu() {
         if ( _process_pool.size() > 0 ) {
             if ( _process_menu == null ) {
                 _process_menu = createMenu( "", getConfiguration() );
@@ -570,22 +583,6 @@ public abstract class MainFrame extends JFrame implements ActionListener {
         _jmenubar.validate();
         _jmenubar.repaint();
         repaint();
-        //        _help_jmenu.add( _help_item = new JMenuItem( "Help" ) );
-        //        _help_jmenu.add( _website_item = new JMenuItem( "Archaeopteryx Home" ) );
-        //        _aptx_ref_item = new JMenuItem( "Archaeopteryx Reference" );
-        //        _help_jmenu.add( _phyloxml_website_item = new JMenuItem( "phyloXML Home" ) );
-        //        _help_jmenu.add( _phyloxml_ref_item = new JMenuItem( "phyloXML Reference" ) );
-        //        _help_jmenu.addSeparator();
-        //        _help_jmenu.add( _about_item = new JMenuItem( "About" ) );
-        //        customizeJMenuItem( _help_item );
-        //        customizeJMenuItem( _website_item );
-        //        customizeJMenuItem( _phyloxml_website_item );
-        //        customizeJMenuItem( _aptx_ref_item );
-        //        customizeJMenuItem( _phyloxml_ref_item );
-        //        customizeJMenuItem( _about_item );
-        //        _phyloxml_ref_item.setToolTipText( PHYLOXML_REF_TOOL_TIP );
-        //        _aptx_ref_item.setToolTipText( APTX_REF_TOOL_TIP );
-        //        _jmenubar.add( _help_jmenu );
     }
 
     void buildTypeMenu() {
@@ -906,6 +903,14 @@ public abstract class MainFrame extends JFrame implements ActionListener {
         _options = options;
     }
 
+    void setInferenceManager( final InferenceManager i ) {
+        _inference_manager = i;
+    }
+
+    public InferenceManager getInferenceManager() {
+        return _inference_manager;
+    }
+
     void setSelectedTypeInTypeMenu( final PHYLOGENY_GRAPHICS_TYPE type ) {
         setTypeMenuToAllUnselected();
         switch ( type ) {
@@ -1155,10 +1160,11 @@ public abstract class MainFrame extends JFrame implements ActionListener {
      */
     static void about() {
         final StringBuffer about = new StringBuffer( "Archaeopteryx\nVersion " + Constants.VERSION + "\n" );
-        about.append( "Copyright (C) 2007-2011 Christian Zmasek\n" );
+        about.append( "Copyright (C) 2007-2012 Christian M. Zmasek\n" );
         about.append( "All Rights Reserved\n" );
         about.append( "License: GNU Lesser General Public License (LGPL)\n" );
         about.append( "Last modified: " + Constants.PRG_DATE + "\n" );
+        about.append( "Based on: " + ForesterUtil.getForesterLibraryInformation() + "\n" );
         about.append( "phyloXML version : " + ForesterConstants.PHYLO_XML_VERSION + "\n" );
         about.append( "phyloXML location: " + ForesterConstants.PHYLO_XML_LOCATION + "\n" );
         if ( !ForesterUtil.isEmpty( ForesterUtil.JAVA_VERSION ) && !ForesterUtil.isEmpty( ForesterUtil.JAVA_VENDOR ) ) {