Class ToolbarPreferences
- java.lang.Object
-
- org.openstreetmap.josm.gui.preferences.ToolbarPreferences
-
- All Implemented Interfaces:
PreferenceSettingFactory
,TaggingPresetListener
public class ToolbarPreferences extends java.lang.Object implements PreferenceSettingFactory, TaggingPresetListener
Toolbar preferences.- Since:
- 172
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ToolbarPreferences.ActionDefinition
Action definition.private static class
ToolbarPreferences.ActionParametersTableModel
static class
ToolbarPreferences.ActionParser
Parse actions from a nameclass
ToolbarPreferences.Settings
Toolbar preferences settings.private class
ToolbarPreferences.ToolbarPopupMenu
-
Field Summary
Fields Modifier and Type Field Description private static java.awt.datatransfer.DataFlavor
ACTION_FLAVOR
private java.util.Map<java.lang.Object,ToolbarPreferences.ActionDefinition>
buttonActions
javax.swing.JToolBar
control
private static java.lang.String[]
deftoolbar
private static java.lang.String
DIALOGS
private static java.lang.String
EMPTY_TOOLBAR_MARKER
static java.lang.String
IMAGERY_PREFIX
The prefix for imagery toolbar entries.private ToolbarPreferences.ToolbarPopupMenu
popupMenu
private java.util.Map<java.lang.String,javax.swing.Action>
regactions
Key: Registered name (property "toolbar" of action).private javax.swing.tree.DefaultMutableTreeNode
rootActionsNode
private boolean
showInfoAboutMissingActions
private static java.lang.String
TOOLBAR
-
Constructor Summary
Constructors Constructor Description ToolbarPreferences()
Constructs a newToolbarPreferences
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private javax.swing.AbstractButton
addButtonAndShortcut(ToolbarPreferences.ActionDefinition action)
void
addCustomButton(java.lang.String definitionText, int preferredIndex, boolean removeIfExists)
The method to add custom button on toolbar like search or preset buttonsPreferenceSetting
createPreferenceSetting()
Creates preference settings.void
enableInfoAboutMissingAction()
Call withtrue
when all plugins were loaded.private java.util.Collection<ToolbarPreferences.ActionDefinition>
getDefinedActions()
static java.util.Collection<java.lang.String>
getToolString()
private static void
loadAction(javax.swing.tree.DefaultMutableTreeNode node, javax.swing.MenuElement menu, java.util.Map<java.lang.String,javax.swing.Action> actionsInMenu)
private void
loadActions(java.util.Map<java.lang.String,javax.swing.Action> actionsInMenu)
void
refreshToolbarControl()
Parse the toolbar preference setting and construct the toolbar GUI control.javax.swing.Action
register(javax.swing.Action action)
Registers an action to the toolbar preferences.void
taggingPresetsModified()
Called after list of tagging presets has been modified.javax.swing.Action
unregister(javax.swing.Action action)
Unregisters an action from the toolbar preferences.
-
-
-
Field Detail
-
EMPTY_TOOLBAR_MARKER
private static final java.lang.String EMPTY_TOOLBAR_MARKER
- See Also:
- Constant Field Values
-
TOOLBAR
private static final java.lang.String TOOLBAR
- See Also:
- Constant Field Values
-
DIALOGS
private static final java.lang.String DIALOGS
- See Also:
- Constant Field Values
-
IMAGERY_PREFIX
public static final java.lang.String IMAGERY_PREFIX
The prefix for imagery toolbar entries.- Since:
- 11657
- See Also:
- Constant Field Values
-
popupMenu
private final ToolbarPreferences.ToolbarPopupMenu popupMenu
-
regactions
private final java.util.Map<java.lang.String,javax.swing.Action> regactions
Key: Registered name (property "toolbar" of action). Value: The action to execute.
-
rootActionsNode
private final javax.swing.tree.DefaultMutableTreeNode rootActionsNode
-
control
public final javax.swing.JToolBar control
-
buttonActions
private final java.util.Map<java.lang.Object,ToolbarPreferences.ActionDefinition> buttonActions
-
showInfoAboutMissingActions
private boolean showInfoAboutMissingActions
-
deftoolbar
private static final java.lang.String[] deftoolbar
-
ACTION_FLAVOR
private static final java.awt.datatransfer.DataFlavor ACTION_FLAVOR
-
-
Constructor Detail
-
ToolbarPreferences
public ToolbarPreferences()
Constructs a newToolbarPreferences
.
-
-
Method Detail
-
createPreferenceSetting
public PreferenceSetting createPreferenceSetting()
Description copied from interface:PreferenceSettingFactory
Creates preference settings.- Specified by:
createPreferenceSetting
in interfacePreferenceSettingFactory
- Returns:
- created preference settings
-
loadAction
private static void loadAction(javax.swing.tree.DefaultMutableTreeNode node, javax.swing.MenuElement menu, java.util.Map<java.lang.String,javax.swing.Action> actionsInMenu)
-
loadActions
private void loadActions(java.util.Map<java.lang.String,javax.swing.Action> actionsInMenu)
-
getToolString
public static java.util.Collection<java.lang.String> getToolString()
-
getDefinedActions
private java.util.Collection<ToolbarPreferences.ActionDefinition> getDefinedActions()
-
register
public javax.swing.Action register(javax.swing.Action action)
Registers an action to the toolbar preferences.- Parameters:
action
- Action to register- Returns:
- The parameter (for better chaining)
-
unregister
public javax.swing.Action unregister(javax.swing.Action action)
Unregisters an action from the toolbar preferences.- Parameters:
action
- Action to unregister- Returns:
- The removed action, or null
- Since:
- 11654
-
refreshToolbarControl
public void refreshToolbarControl()
Parse the toolbar preference setting and construct the toolbar GUI control.Call this, if anything has changed in the toolbar settings and you want to refresh the toolbar content (e.g. after registering actions in a plugin)
-
addCustomButton
public void addCustomButton(java.lang.String definitionText, int preferredIndex, boolean removeIfExists)
The method to add custom button on toolbar like search or preset buttons- Parameters:
definitionText
- toolbar definition text to describe the new button, must be carefully generated by usingToolbarPreferences.ActionParser
preferredIndex
- place to put the new button, give -1 for the end of toolbarremoveIfExists
- if true and the button already exists, remove it
-
addButtonAndShortcut
private javax.swing.AbstractButton addButtonAndShortcut(ToolbarPreferences.ActionDefinition action)
-
taggingPresetsModified
public void taggingPresetsModified()
Description copied from interface:TaggingPresetListener
Called after list of tagging presets has been modified.- Specified by:
taggingPresetsModified
in interfaceTaggingPresetListener
-
enableInfoAboutMissingAction
public void enableInfoAboutMissingAction()
Call withtrue
when all plugins were loaded.- Since:
- 18361
-
-