Merge branch 'features/JAL-2447experimentalFlag' into develop
authorJim Procter <jprocter@issues.jalview.org>
Wed, 17 May 2017 13:31:54 +0000 (14:31 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Wed, 17 May 2017 13:31:54 +0000 (14:31 +0100)
1  2 
resources/lang/Messages.properties
src/jalview/gui/Desktop.java

@@@ -68,6 -68,7 +68,6 @@@ action.user_defined = User Defined..
  action.by_conservation = By Conservation
  action.wrap = Wrap
  action.show_gaps = Show Gaps
 -action.show_occupancy = Show Occupancy
  action.show_hidden_markers = Show Hidden Markers
  action.find = Find
  action.undefine_groups = Undefine Groups
@@@ -80,8 -81,7 +80,8 @@@ action.scale_left = Scale Lef
  action.scale_right = Scale Right
  action.by_tree_order = By Tree Order
  action.sort = Sort
 -action.calculate_tree = Calculate Tree
 +action.calculate_tree = Calculate Tree...
 +action.calculate_tree_pca = Calculate Tree or PCA...
  action.help = Help
  action.by_annotation = By Annotation...
  action.invert_sequence_selection = Invert Sequence Selection
@@@ -171,7 -171,6 +171,7 @@@ label.redo_command = Redo {0
  label.principal_component_analysis = Principal Component Analysis
  label.average_distance_identity = Average Distance Using % Identity
  label.neighbour_joining_identity = Neighbour Joining Using % Identity
 +label.choose_calculation = Choose Calculation
  label.treecalc_title = {0} Using {1}
  label.tree_calc_av = Average Distance
  label.tree_calc_nj = Neighbour Joining
@@@ -179,8 -178,6 +179,8 @@@ label.select_score_model = Select scor
  label.score_model_pid = % Identity
  label.score_model_blosum62 = BLOSUM62
  label.score_model_pam250 = PAM 250
 +label.score_model_smithwatermanscore = Score between two sequences aligned with Smith-Waterman with default Peptide/Nucleotide matrix
 +label.score_model_sequencefeaturesimilarity = Distance measure of average number of features not shared at sequence positions 
  label.score_model_conservation = Physicochemical property conservation
  label.score_model_enhconservation = Physicochemical property conservation
  label.status_bar = Status bar
@@@ -337,7 -334,6 +337,7 @@@ label.colour_residues_above_occurrence 
  label.set_this_label_text = set this label text
  label.sequences_from = Sequences from {0}
  label.successfully_loaded_file  = Successfully loaded file {0}
 +label.successfully_loaded_matrix  = Successfully loaded score matrix {0}
  label.successfully_saved_to_file_in_format = Successfully saved to file: {0} in {1} format.
  label.copied_sequences_to_clipboard = Copied {0} sequences to clipboard.
  label.check_file_matches_sequence_ids_alignment = Check that the file matches sequence IDs in the alignment.
@@@ -381,11 -377,14 +381,11 @@@ label.remove_from_default_list = Remov
  label.remove_user_defined_colour = Remove user defined colour
  label.you_must_select_least_two_sequences = You must select at least 2 sequences.
  label.invalid_selection = Invalid Selection
 -label.principal_component_analysis_must_take_least_four_input_sequences = Principal component analysis must take\nat least 4 input sequences.
  label.sequence_selection_insufficient = Sequence selection insufficient
 -label.you_need_more_two_sequences_selected_build_tree = You need to have more than two sequences selected to build a tree!
 +label.you_need_at_least_n_sequences = You need to select at least {0} sequences
  label.not_enough_sequences = Not enough sequences
  label.selected_region_to_tree_may_only_contain_residues_or_gaps =  The selected region to create a tree may\nonly contain residues or gaps.\nTry using the Pad function in the edit menu,\nor one of the multiple sequence alignment web services.
  label.sequences_selection_not_aligned = Sequences in selection are not aligned
 -label.sequences_must_be_aligned_before_creating_tree = The sequences must be aligned before creating a tree.\nTry using the Pad function in the edit menu,\n or one of the multiple sequence alignment web services.
 -label.sequences_not_aligned = Sequences not aligned
  label.problem_reading_tree_file =  Problem reading tree file
  label.possible_problem_with_tree_file = Possible problem with tree file
  label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation = Please select at least three bases in at least one sequence in order to perform a cDNA translation.
@@@ -714,6 -713,7 +714,6 @@@ label.set_as_default = Set as Defaul
  label.show_labels = Show labels
  action.background_colour = Background Colour...
  label.associate_nodes_with = Associate Nodes With
 -label.jalview_pca_calculation = Jalview PCA Calculation
  label.link_name = Link Name
  label.pdb_file = PDB file
  label.colour_with_jmol = Colour with Jmol
@@@ -856,6 -856,7 +856,6 @@@ label.couldnt_save_project = Couldn't s
  label.error_whilst_saving_current_state_to = Error whilst saving current state to {0}
  label.error_whilst_loading_project_from = Error whilst loading project from {0}
  label.couldnt_load_project = Couldn't load project
 -label.pca_sequences_not_aligned = The sequences must be aligned before calculating PCA.\nTry using the Pad function in the edit menu,\nor one of the multiple sequence alignment web services.
  label.invalid_name_preset_exists = Invalid name - preset already exists.
  label.invalid_name = Invalid name
  label.set_proxy_settings = Please set up your proxy settings in the 'Connections' tab of the Preferences window
@@@ -899,7 -900,6 +899,7 @@@ label.choose_filename_for_param_file = 
  label.save_as_html = Save as HTML
  label.recently_opened = Recently Opened
  label.blasting_for_unidentified_sequence_jobs_running = BLASTing for unidentified sequences - {0}  jobs running.
 +label.tree = Tree
  label.tree_from = Tree from {0}
  label.webservice_job_title = {0} using {1}
  label.select_visible_region_of = selected {0} region of {1}
@@@ -1225,7 -1225,6 +1225,7 @@@ label.configure_displayed_columns = Cus
  label.start_jalview = Start Jalview
  label.biojs_html_export = BioJS
  label.scale_as_cdna = Scale protein residues to codons
 +label.font_as_cdna = Use same font for cDNA and peptide
  label.scale_protein_to_cdna = Scale Protein to cDNA
  label.scale_protein_to_cdna_tip = Make protein residues same width as codons in split frame views
  info.select_annotation_row = Select Annotation Row
@@@ -1301,10 -1300,5 +1301,12 @@@ warn.name_cannot_be_duplicate = User-de
  label.invalid_name = Invalid Name !
  label.output_seq_details = Output Sequence Details to list all database references
  label.urllinks = Links
 +label.togglehidden = Show hidden regions
 +label.quality_descr = Alignment Quality based on Blosum62 scores
 +label.conservation_descr = Conservation of total alignment less than {0}% gaps
 +label.consensus_descr = PID
 +label.complement_consensus_descr = PID for cDNA
 +label.strucconsensus_descr = PID for base pairs
 +label.occupancy_descr = Number of aligned positions 
+ label.show_experimental = Enable experimental features
 -label.show_experimental_tip = Enable any new and currently 'experimental' features (see Latest Release Notes for details)
++label.show_experimental_tip = Enable any new and currently 'experimental' features (see Latest Release Notes for details)
@@@ -129,10 -129,8 +129,12 @@@ public class Desktop extends jalview.jb
          DropTargetListener, ClipboardOwner, IProgressIndicator,
          jalview.api.StructureSelectionManagerProvider
  {
 +  private static int DEFAULT_MIN_WIDTH = 300;
 +
 +  private static int DEFAULT_MIN_HEIGHT = 250;
 +
+   private static final String EXPERIMENTAL_FEATURES = "EXPERIMENTAL_FEATURES";
    private JalviewChangeSupport changeSupport = new JalviewChangeSupport();
  
    /**
      instance = this;
      doVamsasClientCheck();
  
-     groovyShell = new JMenuItem();
-     groovyShell.setText(MessageManager.getString("label.groovy_console"));
-     groovyShell.addActionListener(new ActionListener()
-     {
-       @Override
-       public void actionPerformed(ActionEvent e)
-       {
-         groovyShell_actionPerformed();
-       }
-     });
-     toolsMenu.add(groovyShell);
-     groovyShell.setVisible(true);
      doConfigureStructurePrefs();
      setTitle("Jalview " + jalview.bin.Cache.getProperty("VERSION"));
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      showConsole(showjconsole);
  
      showNews.setVisible(false);
+     
+     experimentalFeatures.setSelected(showExperimental());
  
      getIdentifiersOrgData();
  
              });
    }
  
+   /**
+    * Answers true if user preferences to enable experimental features is True
+    * (on), else false
+    * 
+    * @return
+    */
+   public boolean showExperimental()
+   {
+     String experimental = Cache.getDefault(EXPERIMENTAL_FEATURES,
+             Boolean.FALSE.toString());
+     return Boolean.valueOf(experimental).booleanValue();
+   }
    public void doConfigureStructurePrefs()
    {
      // configure services
  
      openFrameCount++;
  
 +    frame.setMinimumSize(new Dimension(DEFAULT_MIN_WIDTH,
 +            DEFAULT_MIN_HEIGHT));
      frame.setVisible(makeVisible);
      frame.setClosable(true);
      frame.setResizable(resizable);
  
    }
  
-   protected JMenuItem groovyShell;
    /**
     * Accessor method to quickly get all the AlignmentFrames loaded.
     * 
    /**
     * Add Groovy Support to Jalview
     */
+   @Override
    public void groovyShell_actionPerformed()
    {
      try
        }
      }
    }
+   /**
+    * Sets the Preferences property for experimental features to True or False
+    * depending on the state of the controlling menu item
+    */
+   @Override
+   protected void showExperimental_actionPerformed(boolean selected)
+   {
+     Cache.setProperty(EXPERIMENTAL_FEATURES, Boolean.toString(selected));
+   }
  }