can now do antialias on Mac OS.
[jalview.git] / forester / java / src / org / forester / archaeopteryx / ControlPanel.java
index 7a48b1d..3bd8738 100644 (file)
@@ -44,6 +44,7 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.swing.BorderFactory;
 import javax.swing.DefaultListCellRenderer;
@@ -291,10 +292,14 @@ final class ControlPanel extends JPanel implements ActionListener {
                 }
                 else if ( e.getSource() == _decr_domain_structure_evalue_thr ) {
                     _mainpanel.getCurrentTreePanel().decreaseDomainStructureEvalueThresholdExp();
+                    search0();
+                    search1();
                     displayedPhylogenyMightHaveChanged( true );
                 }
                 else if ( e.getSource() == _incr_domain_structure_evalue_thr ) {
                     _mainpanel.getCurrentTreePanel().increaseDomainStructureEvalueThresholdExp();
+                    search0();
+                    search1();
                     displayedPhylogenyMightHaveChanged( true );
                 }
                 else if ( e.getSource() == _search_tf_0 ) {
@@ -1302,10 +1307,6 @@ final class ControlPanel extends JPanel implements ActionListener {
         _sequence_colors = sequence_colors;
     }
 
-    /* GUILHEM_END */
-    /*
-     * Set up the controls from the config settings. 11/26/05
-     */
     void setupControls() {
         // The tree display options:
         setupDisplayCheckboxes();
@@ -1803,7 +1804,7 @@ final class ControlPanel extends JPanel implements ActionListener {
         getSearchResetButton0().setEnabled( true );
         getSearchResetButton0().setVisible( true );
         String[] queries = null;
-        List<PhylogenyNode> nodes = null;
+        Set<PhylogenyNode> nodes = null;
         if ( ( query_str.indexOf( ',' ) >= 0 ) && !getOptions().isSearchWithRegex() ) {
             queries = query_str.split( ",+" );
         }
@@ -1812,18 +1813,22 @@ final class ControlPanel extends JPanel implements ActionListener {
             queries[ 0 ] = query_str.trim();
         }
         if ( ( queries != null ) && ( queries.length > 0 ) ) {
-            nodes = new ArrayList<PhylogenyNode>();
+            nodes = new HashSet<PhylogenyNode>();
             for( String query : queries ) {
                 if ( ForesterUtil.isEmpty( query ) ) {
                     continue;
                 }
                 query = query.trim();
-                if ( ( query.indexOf( '+' ) >= 0 ) && !getOptions().isSearchWithRegex() ) {
+                final TreePanel tp = getMainPanel().getCurrentTreePanel();
+                if ( ( query.indexOf( '+' ) > 0 ) && !getOptions().isSearchWithRegex() ) {
                     nodes.addAll( PhylogenyMethods.searchDataLogicalAnd( query.split( "\\++" ),
                                                                          tree,
                                                                          getOptions().isSearchCaseSensitive(),
                                                                          !getOptions().isMatchWholeTermsOnly(),
-                                                                         isShowDomainArchitectures() ) );
+                                                                         isShowDomainArchitectures(),
+                                                                         tp != null ? Math.pow( 10,
+                                                                                                tp.getDomainStructureEvalueThresholdExp() )
+                                                                                                : 0 ) );
                 }
                 else {
                     nodes.addAll( PhylogenyMethods.searchData( query,
@@ -1831,13 +1836,16 @@ final class ControlPanel extends JPanel implements ActionListener {
                                                                getOptions().isSearchCaseSensitive(),
                                                                !getOptions().isMatchWholeTermsOnly(),
                                                                getOptions().isSearchWithRegex(),
-                                                               isShowDomainArchitectures() ) );
+                                                               isShowDomainArchitectures(),
+                                                               tp != null ? Math.pow( 10, tp
+                                                                                      .getDomainStructureEvalueThresholdExp() ) : 0 ) );
                 }
             }
             if ( getOptions().isInverseSearchResult() ) {
                 final List<PhylogenyNode> all = PhylogenyMethods.obtainAllNodesAsList( tree );
                 all.removeAll( nodes );
-                nodes = all;
+                nodes = new HashSet<PhylogenyNode>();
+                nodes.addAll( all );
             }
         }
         if ( ( nodes != null ) && ( nodes.size() > 0 ) ) {
@@ -1858,7 +1866,7 @@ final class ControlPanel extends JPanel implements ActionListener {
         getSearchResetButton1().setEnabled( true );
         getSearchResetButton1().setVisible( true );
         String[] queries = null;
-        List<PhylogenyNode> nodes = null;
+        Set<PhylogenyNode> nodes = null;
         if ( ( query_str.indexOf( ',' ) >= 0 ) && !getOptions().isSearchWithRegex() ) {
             queries = query_str.split( ",+" );
         }
@@ -1867,18 +1875,22 @@ final class ControlPanel extends JPanel implements ActionListener {
             queries[ 0 ] = query_str.trim();
         }
         if ( ( queries != null ) && ( queries.length > 0 ) ) {
-            nodes = new ArrayList<PhylogenyNode>();
+            nodes = new HashSet<PhylogenyNode>();
             for( String query : queries ) {
                 if ( ForesterUtil.isEmpty( query ) ) {
                     continue;
                 }
                 query = query.trim();
-                if ( ( query.indexOf( '+' ) >= 0 ) && !getOptions().isSearchWithRegex() ) {
+                final TreePanel tp = getMainPanel().getCurrentTreePanel();
+                if ( ( query.indexOf( '+' ) > 0 ) && !getOptions().isSearchWithRegex() ) {
                     nodes.addAll( PhylogenyMethods.searchDataLogicalAnd( query.split( "\\++" ),
                                                                          tree,
                                                                          getOptions().isSearchCaseSensitive(),
                                                                          !getOptions().isMatchWholeTermsOnly(),
-                                                                         isShowDomainArchitectures() ) );
+                                                                         isShowDomainArchitectures(),
+                                                                         tp != null ? Math.pow( 10,
+                                                                                                tp.getDomainStructureEvalueThresholdExp() )
+                                                                                                : 0 ) );
                 }
                 else {
                     nodes.addAll( PhylogenyMethods.searchData( query,
@@ -1886,13 +1898,16 @@ final class ControlPanel extends JPanel implements ActionListener {
                                                                getOptions().isSearchCaseSensitive(),
                                                                !getOptions().isMatchWholeTermsOnly(),
                                                                getOptions().isSearchWithRegex(),
-                                                               isShowDomainArchitectures() ) );
+                                                               isShowDomainArchitectures(),
+                                                               tp != null ? Math.pow( 10, tp
+                                                                                      .getDomainStructureEvalueThresholdExp() ) : 0 ) );
                 }
             }
             if ( getOptions().isInverseSearchResult() ) {
                 final List<PhylogenyNode> all = PhylogenyMethods.obtainAllNodesAsList( tree );
                 all.removeAll( nodes );
-                nodes = all;
+                nodes = new HashSet<PhylogenyNode>();
+                nodes.addAll( all );
             }
         }
         if ( ( nodes != null ) && ( nodes.size() > 0 ) ) {
@@ -2037,62 +2052,11 @@ final class ControlPanel extends JPanel implements ActionListener {
             _get_ext_desc_data = cb_index;
             if ( !ForesterUtil.isEmpty( getConfiguration().getLabelForGetExtDescendentsData() ) ) {
                 addClickToOption( Configuration.get_ext_desc_data, getConfiguration()
-                        .getLabelForGetExtDescendentsData() );
+                                  .getLabelForGetExtDescendentsData() );
             }
             else {
-                String s = ";";
-                switch ( getConfiguration().getExtDescNodeDataToReturn() ) {
-                    case NODE_NAME:
-                        s = "Node Names";
-                        break;
-                    case SEQUENCE_ACC:
-                        s = "Sequence Accessors";
-                        break;
-                    case SEQUENCE_MOL_SEQ:
-                        s = "Molecular Sequence";
-                        break;
-                    case SEQUENCE_MOL_SEQ_FASTA:
-                        s = "Molecular Sequence (Fasta)";
-                        break;
-                    case SEQUENCE_NAME:
-                        s = "Sequence Names";
-                        break;
-                    case GENE_NAME:
-                        s = "Gene Names";
-                        break;
-                    case SEQUENCE_SYMBOL:
-                        s = "Sequence Symbols";
-                        break;
-                    case TAXONOMY_CODE:
-                        s = "Taxonomy Codes";
-                        break;
-                    case TAXONOMY_COMM0N_NAME:
-                        s = "Taxonomy Common Names";
-                        break;
-                    case TAXONOMY_SCIENTIFIC_NAME:
-                        s = "Scientific Names";
-                        break;
-                    case DOMAINS_ALL:
-                        s = "Domains";
-                        break;
-                    case DOMAINS_COLLAPSED_PER_PROTEIN:
-                        s = "Domains (collapsed per protein)";
-                        break;
-                    case GO_TERM_IDS:
-                        s = "GO Term IDs";
-                        break;
-                    case SEQ_ANNOTATIONS:
-                        s = "Sequence Annotations";
-                        break;
-                    case UNKNOWN:
-                        s = "User Selected Data";
-                        break;
-                    default:
-                        throw new IllegalStateException( "dont know how to deal with "
-                                + getConfiguration().getExtDescNodeDataToReturn() );
-                }
-                final String label = _configuration.getClickToTitle( Configuration.get_ext_desc_data ) + " " + s;
-                addClickToOption( Configuration.get_ext_desc_data, label );
+                addClickToOption( Configuration.get_ext_desc_data,
+                                  getConfiguration().getClickToTitle( Configuration.get_ext_desc_data ) );
             }
             if ( default_option == Configuration.get_ext_desc_data ) {
                 selected_index = cb_index;