From f1c820787011706b4edae05ab5fb1cfa6dba74b0 Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Thu, 19 Mar 2009 11:29:39 +0000 Subject: [PATCH] change the delete features option so that optionally it makes obsolete (defined by set_obsolete_on_delete) git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@10175 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- .../genebuilder/GeneViewerPanel.java | 69 +++++++++++++------ 1 file changed, 47 insertions(+), 22 deletions(-) diff --git a/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java b/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java index 0645f73e8..b50948652 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java +++ b/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java @@ -20,7 +20,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java,v 1.82 2008-08-01 12:46:00 tjc Exp $ + * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/genebuilder/GeneViewerPanel.java,v 1.83 2009-03-19 11:29:39 tjc Exp $ */ package uk.ac.sanger.artemis.components.genebuilder; @@ -247,27 +247,7 @@ public class GeneViewerPanel extends MapPanel { public void actionPerformed(ActionEvent event) { - FeatureVector features = selection.getAllFeatures(); - - int option = JOptionPane.showConfirmDialog(null, - "Delete selected features", - "Delete selected features", - JOptionPane.OK_CANCEL_OPTION); - - if(option == JOptionPane.CANCEL_OPTION) - return; - try - { - for(int i = 0; i < features.size(); i++) - GeneUtils.deleteAllFeature(features.elementAt(i), chado_gene); - - repaint(); - } - catch(ReadOnlyException e) - { - e.printStackTrace(); - } - + deleteFeatures(); } }); menu.add(deleteMenu); @@ -568,6 +548,51 @@ public class GeneViewerPanel extends MapPanel menu.add(convertPsuedoMenu); } + /** + * Delete or make features obsolete + */ + private void deleteFeatures() + { + FeatureVector features = selection.getAllFeatures(); + + final String feature_count_string; + if (features.size () < 2) + feature_count_string = "the selected feature"; + else + feature_count_string = features.size () + " features"; + + Box boption = Box.createVerticalBox(); + + JCheckBox delete = new JCheckBox("permanently delete", + !Options.getOptions().getPropertyTruthValue("set_obsolete_on_delete")); + boption.add(new JLabel("Make "+feature_count_string+" obsolete?")); + boption.add(delete); + int option = JOptionPane.showConfirmDialog(null, + boption, "Make obsolete", + JOptionPane.OK_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE); + if(option == JOptionPane.CANCEL_OPTION) + return; + + try + { + if(delete.isSelected()) + { + for(int i = 0; i < features.size(); i++) + GeneUtils.deleteAllFeature(features.elementAt(i), chado_gene); + repaint(); + } + else + gene_builder.getFeatureEdit().setObsoleteChanged(true); + } + catch(ReadOnlyException e) + { + JOptionPane.showMessageDialog(null, + e.getMessage(), "Read Only", + JOptionPane.WARNING_MESSAGE); + } + } + public static uk.ac.sanger.artemis.Feature createTranscript(final ChadoCanonicalGene chadoGene, final EntryGroup entry_group) -- GitLab