Differenze tra le versioni di "Programmazione:Java/Eclipse RCP/Override tasti funzione nell'applicazione"
Da WikiSitech.
Vai alla navigazioneVai alla ricerca (Nuova pagina: Per fare il binding dei tasti nell'applicazione bisogna utilizzare i seguenti ExtensionPoint, censendo il command, il keybinding e l'handler da richiamare <code xml> <plugin> <exten...) |
|||
(Una versione intermedia di uno stesso utente non è mostrata) | |||
Riga 1: | Riga 1: | ||
+ | [[Programmazione:Java/Eclipse_RCP|<< Back to Eclipse RCP]] | ||
+ | |||
Per fare il binding dei tasti nell'applicazione bisogna utilizzare i seguenti ExtensionPoint, censendo il command, il keybinding e l'handler da richiamare | Per fare il binding dei tasti nell'applicazione bisogna utilizzare i seguenti ExtensionPoint, censendo il command, il keybinding e l'handler da richiamare | ||
<code xml> | <code xml> | ||
Riga 32: | Riga 34: | ||
<code xml> | <code xml> | ||
− | + | <!-- esempio di limitazione dell'handler alla visibilità di una vista --> | |
<extension | <extension | ||
point="org.eclipse.ui.handlers"> | point="org.eclipse.ui.handlers"> |
Versione attuale delle 15:16, 27 mag 2008
Per fare il binding dei tasti nell'applicazione bisogna utilizzare i seguenti ExtensionPoint, censendo il command, il keybinding e l'handler da richiamare
<plugin>
<extension
point="org.eclipse.ui.bindings">
<key
commandId="com.netsitech.sample.action.command.exit"
contextId="org.eclipse.ui.contexts.window"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="ESC">
</key>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
categoryId="org.eclipse.ui.category.views"
id="com.netsitech.sample.action.command.exit"
name="Esci">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.netsitech.sample.action.binding.InternalKeyBindingHandler"
commandId="com.netsitech.sample.action.command.exit">
</handler>
</extension>
</plugin>
Utilizzando il tag enabledWhen è possibile limitare la visibilità del binding
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.netsitech.sample.action.binding.InternalKeyBindingHandler"
commandId="com.netsitech.sample.action.command.exit">
<enabledWhen>
<with
variable="activePartId">
<equals
value="ID_DELLA_VISTA">
</equals>
</with>
</enabledWhen>
</handler>
</extension>
Nell'handler poi bisogna gestire il command definito
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
public class InternalKeyBindingHandler extends AbstractHandler {
protected static String INTERNAL_COMMAND_EXIT = "com.netsitech.sample.action.command.exit"; //$NON-NLS-1$
public Object execute(ExecutionEvent event) throws ExecutionException {
if (INTERNAL_COMMAND_EXIT.equals(event.getCommand().getId())) {
// Gestione evento associato all'ESC
}
return null;
}
}