diff options
author | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-11-03 15:38:33 +0100 |
---|---|---|
committer | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-11-03 15:38:33 +0100 |
commit | a710705ee25a348ffb7b1d53799f4b6217716403 (patch) | |
tree | 486e015e623be4bab0106caa11c46758b356a4bd | |
parent | d0ba2d54ed60c67fb2ca91f1eb534d800e3d7e6c (diff) | |
download | pdf-over-a710705ee25a348ffb7b1d53799f4b6217716403.tar.gz pdf-over-a710705ee25a348ffb7b1d53799f4b6217716403.tar.bz2 pdf-over-a710705ee25a348ffb7b1d53799f4b6217716403.zip |
show -h output in non-cli message box (cf. #127)
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/HelpArgument.java | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/HelpArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/HelpArgument.java index 241223af..0bcdaba6 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/HelpArgument.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/HelpArgument.java @@ -19,7 +19,13 @@ package at.asit.pdfover.gui.cliarguments; import java.util.Iterator; import java.util.Set; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.MessageBox; +import org.eclipse.swt.widgets.Shell; + import at.asit.pdfover.gui.exceptions.InitializationException; +import at.asit.pdfover.commons.Constants; import at.asit.pdfover.commons.Messages; /** @@ -46,22 +52,39 @@ public class HelpArgument extends Argument { Iterator<Argument> argumentIterator = arguments.iterator(); - System.out.println(Messages.getString("argument.info.help")); + StringBuilder message = new StringBuilder(Messages.getString("argument.info.help")); + message.append("\n"); while(argumentIterator.hasNext()) { Argument argument = argumentIterator.next(); - StringBuilder sb = new StringBuilder(); - for(int i = 0; i < argument.getCommandOptions().length; i++) { - sb.append(argument.getCommandOptions()[i]); + for (int i = 0; i < argument.getCommandOptions().length; i++) { + message.append(argument.getCommandOptions()[i]); if(i < argument.getCommandOptions().length -1) { - sb.append(", "); + message.append(", "); } } - System.out.println(sb.toString() + ":"); - System.out.println("\t" + argument.getHelpText()); + message.append(":\n"); + boolean first = true; + for (String line : argument.getHelpText().split("\\.\\s+")) { + message.append(" "); + if (first) first = false; else message.append(" "); + message.append(line); + message.append("\n"); + } + } + + String msg = message.toString(); + System.out.println(msg); + + Display display = Display.getCurrent(); + if (display != null) { + MessageBox box = new MessageBox(new Shell(display), SWT.ICON_INFORMATION | SWT.OK); + box.setText(Constants.APP_NAME_VERSION); + box.setMessage(msg); + box.open(); } handler.setRequireExit(true); |