public final class ExecuteMenuItem extends CommandBase
executeMenuItem
.
This command executes another command referenced in a menu item.
The parameter of executeMenuItem
specifies a command
returning a menu and the index of this menu item.
For example, this command may be used to implement a "click to follow link" facility which works whatever the kind of link, by leveraging the contextual menu.
recordable, repeatable
Constructor and Description |
---|
ExecuteMenuItem() |
Modifier and Type | Method and Description |
---|---|
CommandResult |
doExecute(DocumentView docView,
String parameter,
int x,
int y)
Actually executes this command with specified parameter and in
specified context.
|
CommandResult |
execute(DocumentView docView,
String parameter,
int x,
int y)
This method invokes
CommandBase.doExecute(com.xmlmind.xmledit.view.DocumentView, java.lang.String, int, int) to actually
execute the command. |
boolean |
prepare(DocumentView docView,
String parameter,
int x,
int y)
Tests whether this command can be executed with specified parameter
and in specified context.
|
doExecuteByName, executeCommand, isRecordable, isRepeatable, prepareCommand
public boolean prepare(DocumentView docView, String parameter, int x, int y)
CommandBase
If the command can be executed, this method returns
true
after having configured its internal state for
consumption by method CommandBase.execute(com.xmlmind.xmledit.view.DocumentView, java.lang.String, int, int)
which should be invoked
immediately after this one.
Returns false
if this command cannot be executed with
specified parameter and in specified context.
prepare
in class CommandBase
docView
- the target of this commandparameter
- parameterizes the command (that is, modifies the
behavior of the command in a command specific way)x
- X position relative to docView of the mouse event
having triggered this command; -1 if this command was triggered by a
keyboard inputy
- Y position relative to docView of the mouse event
having triggered this command; -1 if this command was triggered by a
keyboard inputpublic CommandResult execute(DocumentView docView, String parameter, int x, int y)
CommandBase
CommandBase.doExecute(com.xmlmind.xmledit.view.DocumentView, java.lang.String, int, int)
to actually
execute the command. It's basically a convenience method which
automatically deals with the command history and
the macro-recorder (if any).
IMPORTANT: a command which executes another command
must always use CommandBase.doExecute(com.xmlmind.xmledit.view.DocumentView, java.lang.String, int, int)
to do so, NOT CommandBase.execute(com.xmlmind.xmledit.view.DocumentView, java.lang.String, int, int)
or
CommandBase.executeCommand(com.xmlmind.xmledit.gadget.Gadget, java.lang.String, int, int)
.
execute
in class CommandBase
public CommandResult doExecute(DocumentView docView, String parameter, int x, int y)
CommandBase
This method assumes that CommandBase.prepare(com.xmlmind.xmledit.view.DocumentView, java.lang.String, int, int)
has been
successfully invoked immediately before its own invocation.
IMPORTANT: application code which executes a command
must always use CommandBase.execute(com.xmlmind.xmledit.view.DocumentView, java.lang.String, int, int)
or CommandBase.executeCommand(com.xmlmind.xmledit.gadget.Gadget, java.lang.String, int, int)
to do so,
NOT CommandBase.doExecute(com.xmlmind.xmledit.view.DocumentView, java.lang.String, int, int)
. CommandBase.doExecute(com.xmlmind.xmledit.view.DocumentView, java.lang.String, int, int)
is intended to be used
only by commands which invoke helper "sub-commands".
doExecute
in class CommandBase
docView
- the target of this commandparameter
- parameterizes the command (that is, modifies the
behavior of the command in a command specific way)x
- X position relative to docView of the mouse event
having triggered this command; -1 if this command was triggered by a
keyboard inputy
- Y position relative to docView of the mouse event
having triggered this command; -1 if this command was triggered by a
keyboard inputnull
.
If the command execution is successful and
the command is repeatable and/or recordable then
CommandResult.details
field of the result is expected
to be one of:
null
Object
String
s