Outils pour utilisateurs

Outils du site


public:impl_commands

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
public:impl_commands [2016/05/09 11:26]
severine.gedzelman@ens-lyon.fr
public:impl_commands [2016/05/09 11:35] (Version actuelle)
severine.gedzelman@ens-lyon.fr
Ligne 20: Ligne 20:
 ==== Créer la classe étendant un handler ==== ==== Créer la classe étendant un handler ====
  
-Voir l'exemple ​de la commande qui ouvre la vue "​Edition"​ :+On peut différencier différentes types de commandes : 
 +  * celles qui se retrouvent dans les menu principaux (voir spec.) 
 +  * celles qui font le lien depuis une vue en particulier vers une autre vue 
 +  * celles qui font lien vers une ancre dans la documentation 
 + 
 +Toutes les classes se trouvent dans un des sous packages "​org.txm.rcpapplication.commands"​ : 
 +  * package "​org.txm.rcpapplication.commands.base",​ pour les commandes donnant accès aux vues principales,​ ex: Ouvrir la vue édition 
 +  * package "​org.txm.rcpapplication.commands.links"​ regroupe les classes qui font le lien entre deux vues, ex: Edition vers Concordance 
 + 
 + 
 +Voir l'extrait de la commande qui fait le lien entre vue "​Edition"​ et vue "​Concordance"​  
 + 
 +<​code>​ 
 +package org.txm.rcpapplication.commands.link;​ 
 + 
 +import org.eclipse.core.commands.AbstractHandler;​ 
 +import org.eclipse.core.commands.ExecutionEvent;​ 
 +import org.eclipse.core.commands.ExecutionException;​ 
 + 
 +public class TextToConcordance extends AbstractHandler { 
 + 
 + /* (non-Javadoc) 
 + * @see org.eclipse.core.commands.AbstractHandler#​execute(org.eclipse.core.commands.ExecutionEvent) 
 + */ 
 + @Override 
 + public Object execute(ExecutionEvent event) throws ExecutionException { 
 + IWorkbenchWindow window; 
 + ConcordancesEditorInput editorInput;​ 
 + window = HandlerUtil.getActiveWorkbenchWindow(event);​ 
 +  
 + IEditorPart editor = window.getActivePage().getActiveEditor();​ 
 + 
 + if (editor instanceof IEditionEditor) { 
 +  
 + String query = ((IEditionEditor)editor).getTextSelection();​ 
 + query = fixQuery(query);​ 
 +  
 + Corpus corpus = ((IEditionEditor)editor).getCorpus();​ 
 + editorInput = new ConcordancesEditorInput(corpus,​ null); 
 + 
 + IWorkbenchPage page = window.getActivePage();​ 
 + try { 
 + ConcordancesEditor conceditor = (ConcordancesEditor) page 
 + .openEditor(editorInput,​ 
 + "​org.txm.rcpapplication.editors.ConcordancesEditor"​);​ //​$NON-NLS-1$ 
 + conceditor.setQuery(query);​ 
 + conceditor.compute();​ 
 + } catch (PartInitException e) { 
 + System.err.println(NLS.bind(Messages.GetConcordances_4,​ e)); 
 +
 +
 + return null; 
 +
 +  
 + public static String fixQuery(String query) { 
 + query = "​\""​+query.replaceAll("​\"",​ "​\\\""​);//​.replaceAll("​("​+TokenizerClasses.regPunct+"​)",​ " $1 "); 
 + query = query.replaceAll("​ +", "​\"​ \""​)+"​\"";​ 
 + return query; 
 +
 +</​code>​ 
 + 
 +Voir l'​extrait ​de la commande qui ouvre la vue "​Edition"​ :
  
 <​code>​ <​code>​
public/impl_commands.txt · Dernière modification: 2016/05/09 11:35 par severine.gedzelman@ens-lyon.fr