+ return override!=null ? override.isCancelled() : cancelled;
+ }
+
+ ActionListener afterShownAction = null;
+
+ @Override
+ public void addActionListener(ActionListener actionListener)
+ {
+ afterShownAction = actionListener;
+ }
+
+ @Override
+ public void doShowSettings()
+ {
+ if (!Jalview.isHeadlessMode() && override==null && isShowDialog())
+ {
+
+ dialog = JvOptionPane.newOptionDialog(alignPanel);
+
+ dialog.response(new RunResponse(JvOptionPane.OK_OPTION)
+ {
+ public void run()
+ {
+ ok_actionPerformed(null);
+ afterShownAction.actionPerformed(null);
+ }
+ }).defaultResponse(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ cancelled=true;
+ afterShownAction.actionPerformed(null);
+ }
+ });
+ String ok = MessageManager.getString("action.ok"),
+ cancel = MessageManager.getString("action.cancel");
+ dialog.showInternalDialog(this,
+ MessageManager.getString("label.export_settings"),
+ JOptionPane.DEFAULT_OPTION, JvOptionPane.DEFAULT_OPTION, null,
+ new Object[]
+ { ok, cancel }, ok);
+ }
+ else
+ {
+ afterShownAction.actionPerformed(null);
+ }