Class BasicToolManager
java.lang.Object
com.levigo.jadice.web.client.tool.BasicToolManager
- All Implemented Interfaces:
ToolManager
,com.levigo.jadice.web.client.util.internal.widget.HasEnsureDebugId
public class BasicToolManager
extends Object
implements ToolManager, com.levigo.jadice.web.client.util.internal.widget.HasEnsureDebugId
Implementation of the default
ToolManager
.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Activates the tool of the given class.com.google.gwt.event.shared.HandlerRegistration
Adds a property change listener.com.google.gwt.event.shared.HandlerRegistration
Adds a tool changed handler.protected void
changeEnabledState
(Tool t, boolean enabled) deregister
(Class<? extends Tool> tc) Deregisters the tool of the given class if the tool instance of this class is currently registered as tool.void
ensureDebugId
(String baseID) void
Fires aToolChangedEvent
to all listeners.<T> Collection
<T> getCompatibleTools
(Class<T> clazz) Returns all registered Tools which are derived from the given class or which implement the given interface.<T> Collection
<T> getCompatibleTools
(Class<T> clazz, boolean enabledOnly) Return all registered Tools which are derived from the given class or which implement the given interface.Returns theClass
of the current exclusiveTool
ornull
if noTool
has been set toToolManager.setExclusive(Class)
(Class) exclusive}Collection
<? extends MenuContributor> Return the current list of tools suitable as menu contributors.Collection
<Class<? extends Tool>> Allows access to all registered tool classes.<T extends Tool>
TReturns the tool instance for the given tool class, ornull
if no such tool is registered.void
handleEditEvent
(Class<?> context, EditEvent e) boolean
Returns whether this tool manager currently manages a tool of the given class.protected boolean
Return whether the given tool is currently active.boolean
Return whether the tool of the given class is currently active.boolean
Checks whether the givenTool
is enabled.boolean
Return whether the exclusive tool mode is active, i.e. if the currently active tool is also the exclusive tool.<T extends Tool>
TRegisters the tool of the given class if the tool instance of this class is not currently registered as tool.void
render
(RenderParameters parameters) Render the Tool UIs using the givenRenderControls
.void
setActivationPolicy
(ToolActivationPolicy activationPolicy) void
setCursor
(com.google.gwt.dom.client.Style.Cursor cursor) Sets the current shown Cursorvoid
Sets the currently used cursor.void
setEnabled
(Class<? extends Tool> tc, boolean enabled) Change the enabled state of the tool of the given class.void
setExclusive
(Class<? extends Tool> tc) Set the tool of the given class to be the exclusive tool.void
setNonExclusive
(Class<? extends Tool> tc) Leave exclusive mode.void
setStatusFeedback
(String statusFeedback) void
setViewComponent
(ViewComponent viewComponent)
-
Constructor Details
-
BasicToolManager
public BasicToolManager()
-
-
Method Details
-
getViewComponent
- Specified by:
getViewComponent
in interfaceToolManager
-
setViewComponent
- Specified by:
setViewComponent
in interfaceToolManager
-
ensureDebugId
- Specified by:
ensureDebugId
in interfacecom.levigo.jadice.web.client.util.internal.widget.HasEnsureDebugId
-
register
Description copied from interface:ToolManager
Registers the tool of the given class if the tool instance of this class is not currently registered as tool. If a tool of this class is already registered, this method simply returns the registered instance. Otherwise a tool instance will be created, registered and returned.- Specified by:
register
in interfaceToolManager
- Type Parameters:
T
- type extending Tool- Parameters:
tc
- The tool classenabled
- Specifies whether the tool will initially be enabled or not- Returns:
- the registered tool instance
-
deregister
Description copied from interface:ToolManager
Deregisters the tool of the given class if the tool instance of this class is currently registered as tool. The deregistered tool instance will be returned if a matching tool instance was found and deregistered. Otherwise
null
will be returned.- Specified by:
deregister
in interfaceToolManager
- Parameters:
tc
- the tool class- Returns:
- the deregistered tool instance or
null
if available otherwisenull
. Be aware this tool instance is already deregistered when returned and can not be used as tool anymore.
-
activate
Description copied from interface:ToolManager
Activates the tool of the given class.
- Specified by:
activate
in interfaceToolManager
- Parameters:
tc
- the tool class
-
handleEditEvent
- Specified by:
handleEditEvent
in interfaceToolManager
-
hasTool
Description copied from interface:ToolManager
Returns whether this tool manager currently manages a tool of the given class.- Specified by:
hasTool
in interfaceToolManager
- Parameters:
cls
- The class to check- Returns:
- True, if a tool of the given class is managed, false else
-
getTool
Description copied from interface:ToolManager
Returns the tool instance for the given tool class, ornull
if no such tool is registered.- Specified by:
getTool
in interfaceToolManager
- Type Parameters:
T
- A type extending Tool- Parameters:
cls
- The class of the tool to return- Returns:
- The tool if existing, null else
-
isActive
Description copied from interface:ToolManager
Return whether the tool of the given class is currently active.- Specified by:
isActive
in interfaceToolManager
- Parameters:
tc
- the tool class- Returns:
true
if the tool is active
-
isActive
Return whether the given tool is currently active.- Parameters:
t
- the tool- Returns:
true
if the tool is active
-
isExclusive
public boolean isExclusive()Description copied from interface:ToolManager
Return whether the exclusive tool mode is active, i.e. if the currently active tool is also the exclusive tool. In exclusive mode no tools except the exclusive one get a chance to render or handle events.- Specified by:
isExclusive
in interfaceToolManager
- Returns:
true
if exclusive mode is active
-
render
Description copied from interface:ToolManager
Render the Tool UIs using the givenRenderControls
.This render method is usually called within the context and during the rendering of a single page. It will dispatch the render calls to all active tools.
- Specified by:
render
in interfaceToolManager
- Parameters:
parameters
- the render parameters to use
-
setEnabled
Description copied from interface:ToolManager
Change the enabled state of the tool of the given class.- Specified by:
setEnabled
in interfaceToolManager
- Parameters:
tc
- the tool classenabled
-true
to enabled the tool, otherwisefalse
-
changeEnabledState
-
isEnabled
Description copied from interface:ToolManager
Checks whether the givenTool
is enabled. This method will not fail if theTool
has not yet been registered. Instead, for non registered tools this method will return false.- Specified by:
isEnabled
in interfaceToolManager
- Parameters:
tc
- The class of the tool to check- Returns:
true
if theTool
is enabled, orfalse
if it is not or theTool
has not yet been registered.
-
setExclusive
Description copied from interface:ToolManager
Set the tool of the given class to be the exclusive tool.- Specified by:
setExclusive
in interfaceToolManager
- Parameters:
tc
- The class of the tool to make exclusive
-
setNonExclusive
Description copied from interface:ToolManager
Leave exclusive mode. Whatever tool is currently exclusive will loose its exclusive status. If there is currently no exclusive mode tool, this call has no effect.- Specified by:
setNonExclusive
in interfaceToolManager
- Parameters:
tc
- The class of the tool to make non-exclusive
-
getCompatibleTools
Description copied from interface:ToolManager
Returns all registered Tools which are derived from the given class or which implement the given interface. Only tools in the state 'enabled' are considered.- Specified by:
getCompatibleTools
in interfaceToolManager
- Type Parameters:
T
- type of class or interface in question- Parameters:
clazz
- the class or interface in question- Returns:
- a (possibly empty) collection of tools
-
getCompatibleTools
Description copied from interface:ToolManager
Return all registered Tools which are derived from the given class or which implement the given interface.- Specified by:
getCompatibleTools
in interfaceToolManager
- Type Parameters:
T
- type of class or interface in question- Parameters:
clazz
- the class or interface in questionenabledOnly
- whether only enabled tools (true
) or all registered tools shall be considered- Returns:
- a (possibly empty) collection of tools
-
getRegisteredToolClasses
Description copied from interface:ToolManager
Allows access to all registered tool classes. This method will return active and inactiveTool
s. The returnedCollection
is read-only and does not follow any kind of sorting. (The order is random)- Specified by:
getRegisteredToolClasses
in interfaceToolManager
- Returns:
- a
Collection
of all registeredTool
classes
-
getMenuContributors
Return the current list of tools suitable as menu contributors.- Specified by:
getMenuContributors
in interfaceToolManager
- Returns:
- a read-only list of tools.
-
setActivationPolicy
- Specified by:
setActivationPolicy
in interfaceToolManager
-
getActivationPolicy
- Specified by:
getActivationPolicy
in interfaceToolManager
-
setCursor
public void setCursor(com.google.gwt.dom.client.Style.Cursor cursor) Sets the current shown Cursor- Specified by:
setCursor
in interfaceToolManager
- Parameters:
cursor
- Cursor or null for no Cursor
-
setCursor
Description copied from interface:ToolManager
Sets the currently used cursor. Examples: setCursor("crosshair") or
setCursor(UIStyler.get().cursorStyle().ZOOM_IN_CURSOR())- Specified by:
setCursor
in interfaceToolManager
- Parameters:
cursor
- the css value of the cursor to be set
-
setStatusFeedback
- Specified by:
setStatusFeedback
in interfaceToolManager
-
getStatusFeedback
- Specified by:
getStatusFeedback
in interfaceToolManager
-
getActiveTool
- Specified by:
getActiveTool
in interfaceToolManager
- Returns:
- the
Class
of the currently activeTool
ornull
-
getExclusiveTool
Description copied from interface:ToolManager
Returns theClass
of the current exclusiveTool
ornull
if noTool
has been set toToolManager.setExclusive(Class)
(Class) exclusive}- Specified by:
getExclusiveTool
in interfaceToolManager
- Returns:
- the
Class
of the current exclusiveTool
ornull
-
addPropertyChangeListener
public com.google.gwt.event.shared.HandlerRegistration addPropertyChangeListener(PropertyChangeListener listener) Description copied from interface:ToolManager
Adds a property change listener.- Specified by:
addPropertyChangeListener
in interfaceToolManager
- Parameters:
listener
- The listener to add- Returns:
- Registration to remove the listener
- See Also:
-
addToolChangedHandler
public com.google.gwt.event.shared.HandlerRegistration addToolChangedHandler(ToolChangedEvent.Handler handler) Description copied from interface:ToolManager
Adds a tool changed handler.- Specified by:
addToolChangedHandler
in interfaceToolManager
- Parameters:
handler
- the handler to add- Returns:
HandlerRegistration
to remove the handler
-
fireToolChangedEvent
Description copied from interface:ToolManager
Fires aToolChangedEvent
to all listeners.- Specified by:
fireToolChangedEvent
in interfaceToolManager
- Parameters:
event
- the ToolChangedEvent which should be fired
-