X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureEditor.java;h=880a1b22d9aaac0734cfb6c8aff84840445b522d;hb=ba1f9fee25b87bdac0c535019252b787939a8f80;hp=d547c5882bc4e61f23da6733a9da3676713efd72;hpb=2afa9987e7d3276b4525abb28767617732e6e7cf;p=jalview.git diff --git a/src/jalview/gui/FeatureEditor.java b/src/jalview/gui/FeatureEditor.java index d547c58..880a1b2 100644 --- a/src/jalview/gui/FeatureEditor.java +++ b/src/jalview/gui/FeatureEditor.java @@ -1,16 +1,25 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.gui; -import jalview.api.FeatureColourI; -import jalview.datamodel.SearchResults; -import jalview.datamodel.SearchResultsI; -import jalview.datamodel.SequenceFeature; -import jalview.datamodel.SequenceI; -import jalview.gui.JalviewColourChooser.ColourChooserListener; -import jalview.io.FeaturesFile; -import jalview.schemes.FeatureColour; -import jalview.util.ColorUtils; -import jalview.util.MessageManager; - import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; @@ -39,6 +48,17 @@ import javax.swing.event.ChangeListener; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; +import jalview.api.FeatureColourI; +import jalview.datamodel.SearchResults; +import jalview.datamodel.SearchResultsI; +import jalview.datamodel.SequenceFeature; +import jalview.datamodel.SequenceI; +import jalview.gui.JalviewColourChooser.ColourChooserListener; +import jalview.io.FeaturesFile; +import jalview.schemes.FeatureColour; +import jalview.util.ColorUtils; +import jalview.util.MessageManager; + /** * Provides a dialog allowing the user to add new features, or amend or delete * existing features @@ -170,30 +190,30 @@ public class FeatureEditor }); description = new JTextArea(3, 25); - + start = new JSpinner(); end = new JSpinner(); start.setPreferredSize(new Dimension(80, 20)); end.setPreferredSize(new Dimension(80, 20)); - + /* * ensure that start can never be more than end */ - start.addChangeListener(new ChangeListener() + start.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { - Integer startVal = (Integer) start.getValue(); + Integer startVal = (Integer) start.getValue(); ((SpinnerNumberModel) end.getModel()).setMinimum(startVal); } }); - end.addChangeListener(new ChangeListener() + end.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { - Integer endVal = (Integer) end.getValue(); + Integer endVal = (Integer) end.getValue(); ((SpinnerNumberModel) start.getModel()).setMaximum(endVal); } }); @@ -233,7 +253,7 @@ public class FeatureEditor */ final String ft = features.get(featureIndex).getType(); final String type = ft == null ? lastFeatureAdded : ft; - FeatureTypeSettings fcc = new FeatureTypeSettings(fr, type); + FeatureTypeSettings fcc = new FeatureTypeSettings(fr, type, true); fcc.setRequestFocusEnabled(true); fcc.requestFocus(); fcc.addActionListener(new ActionListener() @@ -381,8 +401,10 @@ public class FeatureEditor start.setValue(new Integer(firstFeature.getBegin())); end.setValue(new Integer(firstFeature.getEnd())); - ((SpinnerNumberModel) start.getModel()).setMaximum(firstFeature.getEnd()); - ((SpinnerNumberModel) end.getModel()).setMinimum(firstFeature.getBegin()); + ((SpinnerNumberModel) start.getModel()) + .setMaximum(firstFeature.getEnd()); + ((SpinnerNumberModel) end.getModel()) + .setMinimum(firstFeature.getBegin()); description.setText(firstFeature.getDescription()); featureColour = fr.getFeatureStyle(featureType); @@ -405,15 +427,16 @@ public class FeatureEditor */ public void showDialog() { - Runnable okAction = forCreate ? getCreateAction() : getAmendAction(); - Runnable cancelAction = getCancelAction(); + Runnable okAction = forCreate ? getCreateAction() : getAmendAction(); + Runnable cancelAction = getCancelAction(); /* * set dialog action handlers for OK (create/Amend) and Cancel options * also for Delete if applicable (when amending features) */ - JvOptionPane dialog = JvOptionPane.newOptionDialog(Desktop.desktop) - .setResponseHandler(0, okAction).setResponseHandler(2, cancelAction); + JvOptionPane dialog = JvOptionPane.newOptionDialog(ap.alignFrame) + .setResponseHandler(0, okAction) + .setResponseHandler(2, cancelAction); if (!forCreate) { dialog.setResponseHandler(1, getDeleteAction()); @@ -439,9 +462,8 @@ public class FeatureEditor } dialog.showInternalDialog(mainPanel, title, - JvOptionPane.YES_NO_CANCEL_OPTION, - JvOptionPane.PLAIN_MESSAGE, null, options, - MessageManager.getString("action.ok")); + JvOptionPane.YES_NO_CANCEL_OPTION, JvOptionPane.PLAIN_MESSAGE, + null, options, MessageManager.getString("action.ok")); } /** @@ -454,14 +476,9 @@ public class FeatureEditor */ protected Runnable getCancelAction() { - Runnable okAction = new Runnable() - { - @Override - public void run() - { - ap.highlightSearchResults(null); - ap.paintAlignment(false, false); - } + Runnable okAction = () -> { + ap.highlightSearchResults(null); + ap.paintAlignment(false, false); }; return okAction; } @@ -478,10 +495,11 @@ public class FeatureEditor */ protected Runnable getCreateAction() { - Runnable okAction = new Runnable() + Runnable okAction = new Runnable() { boolean useLastDefaults = features.get(0).getType() == null; + @Override public void run() { final String enteredType = name.getText().trim(); @@ -536,16 +554,12 @@ public class FeatureEditor */ protected Runnable getDeleteAction() { - Runnable deleteAction = new Runnable() - { - public void run() - { - SequenceFeature sf = features.get(featureIndex); - sequences.get(0).getDatasetSequence().deleteFeature(sf); - fr.featuresAdded(); - ap.getSeqPanel().seqCanvas.highlightSearchResults(null); - ap.paintAlignment(true, true); - } + Runnable deleteAction = () -> { + SequenceFeature sf = features.get(featureIndex); + sequences.get(0).getDatasetSequence().deleteFeature(sf); + fr.featuresAdded(); + ap.getSeqPanel().seqCanvas.highlightSearchResults(null); + ap.paintAlignment(true, true); }; return deleteAction; } @@ -638,14 +652,15 @@ public class FeatureEditor */ protected Runnable getAmendAction() { - Runnable okAction = new Runnable() + Runnable okAction = new Runnable() { boolean useLastDefaults = features.get(0).getType() == null; - + String featureType = name.getText(); - + String featureGroup = group.getText(); - + + @Override public void run() { final String enteredType = name.getText().trim();