X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FDesktop.java;h=f0753bcf1ef04daa3422b312620abd3aeb640637;hb=8dca84768d848bc368985a8f0938a6c7ac059952;hp=6b2044cbc28b7c00451206f1d422e75122eacea8;hpb=0798a7c77a9f2193cc7179215d28197c7a443e16;p=jalview.git diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index 6b2044c..f0753bc 100644 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -91,6 +91,7 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPopupMenu; import javax.swing.JProgressBar; +import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.KeyStroke; @@ -639,61 +640,6 @@ public class Desktop extends jalview.jbgui.GDesktop jalview.bin.Console.info("JALVIEWJS: CREATED DESKTOP"); } - cliWarning(); - } - - /** - * Warning about old or mixed command line arguments - */ - private void cliWarning() - { - Jalview j = Jalview.getInstance(); - boolean oldStyle = j.getArgParser() != null - && j.getArgParser().isOldStyle(); - boolean mixedStyle = j.getArgParser() != null - && j.getArgParser().isMixedStyle(); - - String title = MessageManager.getString("label.command_line_arguments"); - if (mixedStyle) - { - String warning = MessageManager.formatMessage( - "warning.using_mixed_command_line_arguments", - j.getArgParser().getMixedExamples()); - String quit = MessageManager.getString("action.quit"); - JvOptionPane jvp = JvOptionPane.newOptionDialog(this); - jvp.setResponseHandler(JOptionPane.YES_OPTION, () -> { - }); - jvp.showDialogOnTopAsync(this, warning, title, JOptionPane.YES_OPTION, - JOptionPane.WARNING_MESSAGE, null, new Object[] - { quit }, quit, true, null, false); - - Jalview.getInstance().exit( - "Exiting due to mixed old and new command line arguments.", - ExitCode.MIXED_CLI_ARGUMENTS); - return; - } - if (oldStyle) - { - String warning = MessageManager - .getString("warning.using_old_command_line_arguments") - + "https://www.jalview.org/help/html/features/commandline.html"; - - JTextArea jta = new JTextArea(2, 32); - // jta.setLineWrap(true); - jta.setEditable(false); - jta.setWrapStyleWord(true); - jta.setAutoscrolls(true); - jta.setText(warning); - - String ok = MessageManager.getString("label.continue"); - JvOptionPane jvp = JvOptionPane.newOptionDialog(this); - jvp.setResponseHandler(JOptionPane.YES_OPTION, () -> { - }); - jvp.showDialogOnTopAsync(this, jta, title, JOptionPane.YES_OPTION, - JOptionPane.WARNING_MESSAGE, null, new Object[] - { ok }, ok, false, null, false); - } - } /** @@ -3795,4 +3741,39 @@ public class Desktop extends jalview.jbgui.GDesktop alignFrameModalMap.remove(af); } + public void nonBlockingDialog(String title, String message, String button, + int type, boolean scrollable, boolean modal) + { + nonBlockingDialog(32, 2, title, message, button, type, scrollable, + modal); + } + + public void nonBlockingDialog(int width, int height, String title, + String message, String button, int type, boolean scrollable, + boolean modal) + { + if (type < 0) + { + type = JvOptionPane.WARNING_MESSAGE; + } + JTextArea jta = new JTextArea(height, width); + // jta.setLineWrap(true); + jta.setEditable(false); + jta.setWrapStyleWord(true); + jta.setAutoscrolls(true); + jta.setText(message); + + JScrollPane jsp = scrollable + ? new JScrollPane(jta, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, + JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED) + : null; + + JvOptionPane jvp = JvOptionPane.newOptionDialog(this); + jvp.setResponseHandler(JOptionPane.YES_OPTION, () -> { + }); + jvp.showDialogOnTopAsync(this, scrollable ? jsp : jta, title, + JOptionPane.YES_OPTION, type, null, new Object[] + { button }, button, modal, null, false); + } + }