X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureEditor.java;fp=src%2Fjalview%2Fgui%2FFeatureEditor.java;h=60f26e62cf9c63f6c130d2665bfe33c6625cd3e7;hb=c8441b851dcd36fbbc1c6bc64e16a64bda1f8359;hp=00ea668cfada59632923f522b6ec5bf0661c56ed;hpb=75ce39c3308a69bafc2e7c5514e44de22dd3d6f0;p=jalview.git
diff --git a/src/jalview/gui/FeatureEditor.java b/src/jalview/gui/FeatureEditor.java
index 00ea668..60f26e6 100644
--- a/src/jalview/gui/FeatureEditor.java
+++ b/src/jalview/gui/FeatureEditor.java
@@ -80,8 +80,6 @@ public class FeatureEditor
AlignmentPanel ap;
- Object[] options;
-
JTextField name;
JTextField group;
@@ -359,25 +357,15 @@ public class FeatureEditor
featureColour = fr.getFeatureStyle(featureType);
oldColour = featureColour;
updateColourButton(mainPanel, colour, oldColour);
- if (forCreate)
- {
- options = new Object[] { MessageManager.getString("action.ok"),
- MessageManager.getString("action.cancel") };
- }
- else
- {
- options = new Object[] { MessageManager.getString("label.amend"),
- MessageManager.getString("action.delete"),
- MessageManager.getString("action.cancel") };
- }
}
/**
* Presents a dialog allowing the user to add new features, or amend or delete
* an existing feature. Currently this can be on
*
- * - double-click on a sequence - Amend/Delete features at position
- * - Create sequence feature from pop-up menu on selected region
+ * - double-click on a sequence - Amend/Delete a selected feature at the
+ * position
+ * - Create sequence feature(s) from pop-up menu on selected region
* - Create features for pattern matches from Find
*
* If the supplied feature type is null, show (and update on confirm) the type
@@ -387,21 +375,42 @@ public class FeatureEditor
public void showDialog()
{
RunResponse okAction = forCreate ? getCreateAction() : getAmendAction();
- RunResponse deleteAction = getDeleteAction();
- Runnable cancelAction = getCancelAction();
-
- String title = forCreate
- ? MessageManager.getString("label.create_new_sequence_features")
- : MessageManager.formatMessage("label.amend_delete_features",
- new String[]
- { sequences.get(0).getName() });
-
- JvOptionPane.newOptionDialog(Desktop.desktop).response(okAction)
- .response(deleteAction).defaultResponse(cancelAction)
- .showInternalDialog(mainPanel, title,
- JvOptionPane.YES_NO_CANCEL_OPTION,
- JvOptionPane.QUESTION_MESSAGE, null, options,
- MessageManager.getString("action.ok"));
+ RunResponse 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)
+ .response(okAction).response(cancelAction);
+ if (!forCreate)
+ {
+ dialog.response(getDeleteAction());
+ }
+
+ String title = null;
+ Object[] options = null;
+ if (forCreate)
+ {
+ title = MessageManager
+ .getString("label.create_new_sequence_features");
+ options = new Object[] { MessageManager.getString("action.ok"),
+ MessageManager.getString("action.cancel") };
+ }
+ else
+ {
+ title = MessageManager.formatMessage("label.amend_delete_features",
+ new String[]
+ { sequences.get(0).getName() });
+ options = new Object[] { MessageManager.getString("label.amend"),
+ MessageManager.getString("action.delete"),
+ MessageManager.getString("action.cancel") };
+ }
+
+ dialog.showInternalDialog(mainPanel, title,
+ JvOptionPane.YES_NO_CANCEL_OPTION,
+ JvOptionPane.QUESTION_MESSAGE, null, options,
+ MessageManager.getString("action.ok"));
}
/**
@@ -412,17 +421,18 @@ public class FeatureEditor
*
* @return
*/
- protected Runnable getCancelAction()
+ protected RunResponse getCancelAction()
{
- Runnable defaultResponse = new Runnable()
+ RunResponse okAction = new RunResponse(JvOptionPane.CANCEL_OPTION)
{
+ @Override
public void run()
{
ap.highlightSearchResults(null);
ap.paintAlignment(false, false);
}
};
- return defaultResponse;
+ return okAction;
}
/**