+++ /dev/null
-package org.argeo.cms.ui.dialogs;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/** A dialog asking a for a single value. */
-public class SingleValueDialog extends CmsMessageDialog {
- private Text valueT;
- private String value;
- private String defaultValue;
-
- public SingleValueDialog(Shell parentShell, String message) {
- super(parentShell, message, QUESTION);
- }
-
- public SingleValueDialog(Shell parentShell, String message, String defaultValue) {
- super(parentShell, message, QUESTION);
- this.defaultValue = defaultValue;
- }
-
- @Override
- protected Control createInputArea(Composite parent) {
- valueT = new Text(parent, SWT.LEAD | SWT.BORDER | SWT.SINGLE);
- valueT.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true));
- if (defaultValue != null)
- valueT.setText(defaultValue);
- return valueT;
- }
-
- @Override
- protected void okPressed() {
- value = valueT.getText();
- super.okPressed();
- }
-
- public String getString() {
- return value;
- }
-
- public Long getLong() {
- return Long.valueOf(getString());
- }
-
- public Double getDouble() {
- return Double.valueOf(getString());
- }
-
- public static String ask(String message) {
- return ask(message, null);
- }
-
- public static String ask(String message, String defaultValue) {
- SingleValueDialog svd = new SingleValueDialog(Display.getCurrent().getActiveShell(), message, defaultValue);
- if (svd.open() == Window.OK)
- return svd.getString();
- else
- return null;
- }
-
- public static Long askLong(String message) {
- SingleValueDialog svd = new SingleValueDialog(Display.getCurrent().getActiveShell(), message);
- if (svd.open() == Window.OK)
- return svd.getLong();
- else
- return null;
- }
-
- public static Double askDouble(String message) {
- SingleValueDialog svd = new SingleValueDialog(Display.getCurrent().getActiveShell(), message);
- if (svd.open() == Window.OK)
- return svd.getDouble();
- else
- return null;
- }
-
-}