public final class ConditionalOptionPaneUtil extends java.lang.Object
JOptionPane. Within JOSM you should use these
methods rather than the bare methods from JOptionPane because the methods provided
by ConditionalOptionPaneUtil ensure that a dialog window is always on top and isn't hidden by one of the
JOSM windows for detached dialogs, relation editors, history browser and the like.| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
ConditionalOptionPaneUtil.MessagePanel
This is a message panel used in dialogs which can be enabled/disabled with a preference
setting.
|
(package private) static class |
ConditionalOptionPaneUtil.NotShowAgain
An enum designating how long to not show this message again, i.e., for how long to store
|
| Modifier and Type | Field and Description |
|---|---|
static int |
DIALOG_DISABLED_OPTION |
protected static java.util.Set<java.lang.String> |
immediateActive
a set indication that (preference key) is or may be stored for the currently active bulk operation
|
protected static java.util.Map<java.lang.String,java.lang.Integer> |
immediateChoices
(preference key => return value) mappings valid for the current session
|
protected static java.util.Map<java.lang.String,java.lang.Integer> |
sessionChoices
(preference key => return value) mappings valid for the current operation (no, those two maps cannot be combined)
|
| Modifier | Constructor and Description |
|---|---|
private |
ConditionalOptionPaneUtil()
this is a static utility class only
|
| Modifier and Type | Method and Description |
|---|---|
static void |
endBulkOperation(java.lang.String prefKey)
Marks the ending of a bulk operation.
|
static int |
getDialogReturnValue(java.lang.String prefKey)
Returns the preference value for the preference key "message." +
prefKey + ".value". |
static boolean |
isInBulkOperation(java.lang.String prefKey)
Determines whether the key has been marked to be part of a bulk operation (in order to provide a "Do not show again (this operation)" option).
|
private static boolean |
isYesOrNo(int returnCode) |
static boolean |
showConfirmationDialog(java.lang.String preferenceKey,
java.awt.Component parent,
java.lang.Object message,
java.lang.String title,
int optionType,
int messageType,
int trueOption)
Displays a confirmation dialog with some option buttons given by
optionType. |
static void |
showMessageDialog(java.lang.String preferenceKey,
java.awt.Component parent,
java.lang.Object message,
java.lang.String title,
int messageType)
Displays an message in modal dialog with an OK button.
|
static int |
showOptionDialog(java.lang.String preferenceKey,
java.awt.Component parent,
java.lang.Object message,
java.lang.String title,
int optionType,
int messageType,
java.lang.Object[] options,
java.lang.Object defaultOption)
Displays an confirmation dialog with some option buttons given by
optionType. |
static void |
startBulkOperation(java.lang.String prefKey)
Marks the beginning of a bulk operation in order to provide a "Do not show again (this operation)" option.
|
public static final int DIALOG_DISABLED_OPTION
protected static final java.util.Map<java.lang.String,java.lang.Integer> sessionChoices
protected static final java.util.Map<java.lang.String,java.lang.Integer> immediateChoices
protected static final java.util.Set<java.lang.String> immediateActive
private ConditionalOptionPaneUtil()
public static int getDialogReturnValue(java.lang.String prefKey)
prefKey + ".value".
The default value if the preference key is missing is -1.prefKey - the preference keyprefKey + ".value"public static void startBulkOperation(java.lang.String prefKey)
prefKey - the preference keypublic static boolean isInBulkOperation(java.lang.String prefKey)
prefKey - the preference keypublic static void endBulkOperation(java.lang.String prefKey)
prefKey - the preference keypublic static int showOptionDialog(java.lang.String preferenceKey, java.awt.Component parent, java.lang.Object message, java.lang.String title, int optionType, int messageType, java.lang.Object[] options, java.lang.Object defaultOption) throws java.awt.HeadlessException
optionType.
It is always on top even if there are other open windows like detached dialogs,
relation editors, history browsers and the like.
Set optionType to JOptionPane.YES_NO_OPTION for a dialog with a YES and
a NO button.
Set optionType to JOptionPane.YES_NO_CANCEL_OPTION for a dialog with a YES,
a NO and a CANCEL button
Returns one of the constants JOptionPane.YES_OPTION, JOptionPane.NO_OPTION,
JOptionPane.CANCEL_OPTION or JOptionPane.CLOSED_OPTION depending on the action chosen by
the user.preferenceKey - the preference keyparent - the parent componentmessage - the messagetitle - the titleoptionType - the option typemessageType - the message typeoptions - a list of optionsdefaultOption - the default option; only meaningful if options is used; can be nullJOptionPane.CLOSED_OPTION if the dialog was closed.java.awt.HeadlessExceptionpublic static boolean showConfirmationDialog(java.lang.String preferenceKey, java.awt.Component parent, java.lang.Object message, java.lang.String title, int optionType, int messageType, int trueOption) throws java.awt.HeadlessException
optionType.
It is always on top even if there are other open windows like detached dialogs,
relation editors, history browsers and the like.
Set optionType to JOptionPane.YES_NO_OPTION for a dialog with a YES and
a NO button.
Set optionType to JOptionPane.YES_NO_CANCEL_OPTION for a dialog with a YES,
a NO and a CANCEL button
Replies true, if the selected option is equal to trueOption, otherwise false.
Replies true, if the dialog is not displayed because the respective preference option
preferenceKey is set to false and the user has previously chosen
trueOption.preferenceKey - the preference keyparent - the parent componentmessage - the messagetitle - the titleoptionType - the option typemessageType - the message typetrueOption - if this option is selected the method replies truetrueOption, otherwise false.java.awt.HeadlessExceptionJOptionPane.INFORMATION_MESSAGE,
JOptionPane.WARNING_MESSAGE,
JOptionPane.ERROR_MESSAGEprivate static boolean isYesOrNo(int returnCode)
public static void showMessageDialog(java.lang.String preferenceKey, java.awt.Component parent, java.lang.Object message, java.lang.String title, int messageType)
preferenceKey and value false
the dialog is not show.preferenceKey - the preference keyparent - the parent componentmessage - the messagetitle - the titlemessageType - the message typeJOptionPane.INFORMATION_MESSAGE,
JOptionPane.WARNING_MESSAGE,
JOptionPane.ERROR_MESSAGE