domain + go output work begins
[jalview.git] / forester / java / src / org / forester / archaeopteryx / MainFrame.java
index dedc7ac..c0881be 100644 (file)
@@ -77,7 +77,7 @@ import org.forester.util.ForesterUtil;
 public abstract class MainFrame extends JFrame implements ActionListener {\r
 \r
     static final String         USE_MOUSEWHEEL_SHIFT_TO_ROTATE          = "In this display type, use mousewheel + Shift to rotate [or A and S]";\r
-    static final String         PHYLOXML_REF_TOOL_TIP                   = Constants.PHYLOXML_REFERENCE;                                                                                                                                       //TODO //FIXME\r
+    static final String         PHYLOXML_REF_TOOL_TIP                   = Constants.PHYLOXML_REFERENCE;                                                                                                                                                //TODO //FIXME\r
     static final String         APTX_REF_TOOL_TIP                       = Constants.APTX_REFERENCE;\r
     private static final long   serialVersionUID                        = 3655000897845508358L;\r
     final static Font           menu_font                               = new Font( Configuration.getDefaultFontFamilyName(),\r
@@ -90,12 +90,13 @@ public abstract class MainFrame extends JFrame implements ActionListener {
     static final String         TRIANGULAR_TYPE_CBMI_LABEL              = "Triangular";\r
     static final String         CONVEX_TYPE_CBMI_LABEL                  = "Convex";\r
     static final String         ROUNDED_TYPE_CBMI_LABEL                 = "Rounded";\r
-    static final String         UNROOTED_TYPE_CBMI_LABEL                = "Unrooted (alpha)";                                                                                                                                                 //TODO\r
-    static final String         CIRCULAR_TYPE_CBMI_LABEL                = "Circular (alpha)";                                                                                                                                                 //TODO\r
+    static final String         UNROOTED_TYPE_CBMI_LABEL                = "Unrooted (alpha)";                                                                                                                                                          //TODO\r
+    static final String         CIRCULAR_TYPE_CBMI_LABEL                = "Circular (alpha)";                                                                                                                                                          //TODO\r
     static final String         OPTIONS_HEADER                          = "Options";\r
     static final String         SEARCH_SUBHEADER                        = "Search:";\r
     static final String         DISPLAY_SUBHEADER                       = "Display:";\r
     static final String         SEARCH_TERMS_ONLY_LABEL                 = "Match Complete Terms Only";\r
+    static final String         SEARCH_REGEX_LABEL                      = "Search with Regular Expressions";\r
     static final String         SEARCH_CASE_SENSITIVE_LABEL             = "Case Sensitive";\r
     static final String         INVERSE_SEARCH_RESULT_LABEL             = "Negate Result";\r
     static final String         COLOR_BY_TAXONOMIC_GROUP                = "Colorize by Taxonomic Group";\r
@@ -104,6 +105,7 @@ public abstract class MainFrame extends JFrame implements ActionListener {
     static final String         UNIFORM_CLADOGRAMS_LABEL                = "Total Node Sum Dependent Cladograms";\r
     static final String         LABEL_DIRECTION_LABEL                   = "Radial Labels";\r
     static final String         LABEL_DIRECTION_TIP                     = "To use radial node labels in radial and unrooted display types";\r
+    static final String         SEARCH_WITH_REGEX_TIP                   = "To search using regular expressions (~Java/Perl syntax). For example, use \"^B.+\\d{2,}$\" to search for everything starting with a B and ending with at least two digits.";\r
     static final String         SCREEN_ANTIALIAS_LABEL                  = "Antialias";\r
     static final String         COLOR_LABELS_LABEL                      = "Colorize Labels Same as Parent Branch";\r
     static final String         BG_GRAD_LABEL                           = "Background Color Gradient";\r
@@ -184,7 +186,7 @@ public abstract class MainFrame extends JFrame implements ActionListener {
     JRadioButtonMenuItem        _uniform_cladograms_rbmi;\r
     JRadioButtonMenuItem        _ext_node_dependent_cladogram_rbmi;\r
     JCheckBoxMenuItem           _color_by_taxonomic_group_cbmi;\r
-    JCheckBoxMenuItem           _show_scale_cbmi;                                                                                                                                                                                             //TODO fix me\r
+    JCheckBoxMenuItem           _show_scale_cbmi;                                                                                                                                                                                                      //TODO fix me\r
     JCheckBoxMenuItem           _show_overview_cbmi;\r
     JCheckBoxMenuItem           _show_domain_labels;\r
     JCheckBoxMenuItem           _show_annotation_ref_source;\r
@@ -223,6 +225,7 @@ public abstract class MainFrame extends JFrame implements ActionListener {
     JCheckBoxMenuItem           _search_case_senstive_cbmi;\r
     JCheckBoxMenuItem           _search_whole_words_only_cbmi;\r
     JCheckBoxMenuItem           _inverse_search_result_cbmi;\r
+    JCheckBoxMenuItem           _search_with_regex_cbmi;\r
     // type menu:\r
     JMenu                       _type_menu;\r
     JCheckBoxMenuItem           _rectangular_type_cbmi;\r
@@ -250,7 +253,7 @@ public abstract class MainFrame extends JFrame implements ActionListener {
     // Handy pointers to child components:\r
     MainPanel                   _mainpanel;\r
     Container                   _contentpane;\r
-    final LinkedList<TextFrame> _textframes                             = new LinkedList<TextFrame>();                                                                                                                                         ;\r
+    final LinkedList<TextFrame> _textframes                             = new LinkedList<TextFrame>();                                                                                                                                                  ;\r
     Configuration               _configuration;\r
     Options                     _options;\r
     private Phylogeny           _species_tree;\r
@@ -452,6 +455,9 @@ public abstract class MainFrame extends JFrame implements ActionListener {
             getMainPanel().getControlPanel().search1();\r
         }\r
         else if ( o == _search_whole_words_only_cbmi ) {\r
+            if ( ( _search_with_regex_cbmi != null ) && _search_whole_words_only_cbmi.isSelected() ) {\r
+                _search_with_regex_cbmi.setSelected( false );\r
+            }\r
             updateOptions( getOptions() );\r
             getMainPanel().getControlPanel().search0();\r
             getMainPanel().getControlPanel().search1();\r
@@ -461,6 +467,17 @@ public abstract class MainFrame extends JFrame implements ActionListener {
             getMainPanel().getControlPanel().search0();\r
             getMainPanel().getControlPanel().search1();\r
         }\r
+        else if ( o == _search_with_regex_cbmi ) {\r
+            if ( ( _search_whole_words_only_cbmi != null ) && _search_with_regex_cbmi.isSelected() ) {\r
+                _search_whole_words_only_cbmi.setSelected( false );\r
+            }\r
+            if ( ( _search_case_senstive_cbmi != null ) && _search_with_regex_cbmi.isSelected() ) {\r
+                _search_case_senstive_cbmi.setSelected( true );\r
+            }\r
+            updateOptions( getOptions() );\r
+            getMainPanel().getControlPanel().search0();\r
+            getMainPanel().getControlPanel().search1();\r
+        }\r
         else if ( o == _show_scale_cbmi ) {\r
             updateOptions( getOptions() );\r
         }\r
@@ -658,7 +675,7 @@ public abstract class MainFrame extends JFrame implements ActionListener {
      * has been selected by the user by clicking the "Return ..."\r
      * menu item. This method is expected to be called from Javascript or\r
      * something like it.\r
-     * \r
+     *\r
      * @return current external node data as String\r
      */\r
     public String getCurrentExternalNodesDataBuffer() {\r
@@ -1381,6 +1398,7 @@ public abstract class MainFrame extends JFrame implements ActionListener {
                 && _allow_errors_in_distance_to_parent_cbmi.isSelected() );\r
         options.setMatchWholeTermsOnly( ( _search_whole_words_only_cbmi != null )\r
                 && _search_whole_words_only_cbmi.isSelected() );\r
+        options.setSearchWithRegex( ( _search_with_regex_cbmi != null ) && _search_with_regex_cbmi.isSelected() );\r
         options.setInverseSearchResult( ( _inverse_search_result_cbmi != null )\r
                 && _inverse_search_result_cbmi.isSelected() );\r
         if ( _graphics_export_visible_only_cbmi != null ) {\r