Actions de suppression

Identificateur : org.eclipse.ui.dropActions

Description : ce point d'extension est utilisé pour ajouter un comportement de suppression aux vues définies par d'autres plug-in.

Du fait des différents niveaux d'interface utilisateur imposés par le mécanisme des plug-in, les vues ne sont souvent pas conscientes du contenu et de la nature des autres vues. Ceci peut rendre difficile les opérations de déplacement par glissement entre plug-in. Par exemple, vous pouvez souhaiter fournir un support de propagation des modifications Java, dans lequel l'utilisateur fait glisser une méthode du décomposeur de contenu de l'éditeur Java dans un autre fichier Java du navigateur de ressourcesr. Comme ce dernier ne connaît pas le contenu Java, il ne sait pas comment se comporter lorsque les méthodes Java sont supprimées. De même, un ISV (fournisseur indépendant de logiciels) peut souhaiter supprimer une partie du contenu dans l'un des afficheurs Java.

Le point d'extension org.eclipse.ui.dropActions est fourni par la plateforme pour répondre à ces situations. Ce mécanisme délègue le comportement de suppression à l'auteur de l'opération de glissement. Ce comportement est contenu dans une action qui doit implémenter org.eclipse.ui.part.IDropActionDelegate. L'afficheur qui est la source de l'opération de glissement doit supporter le type de transfert the org.eclipse.ui.part.PluginTransfer et placer un objet PluginTransferData dans l'événement de glissement. Pour savoir comment ajouter un support de glissement à un afficheur, reportez-vous org.eclipse.jface.viewers.StructuredViewer#addDragSupport.

Marques de configuration :

   <!ELEMENT extension (action*)>

   <!ATTLIST extension
     point CDATA #REQUIRED
     id    CDATA #IMPLIED
     name  CDATA #IMPLIED
   >

   <!ELEMENT action EMPTY>

   <!ATTLIST action
      id    CDATA #REQUIRED
     class CDATA #REQUIRED
   >

Exemples : Voici un exemple d'extension d'action de suppression :

    <extension point="org.eclipse.ui.dropActions">
        <action 
            id="my_drop_action"
  class="com.xyz.eclipse.TestDropAction">
        </action>
    </extension>

L'exemple suivant est celui d'un écouteur de glissement qui utilise l'action de suppression définie ci-dessus :

 
class MyDragListener extends DragSourceAdapter {
    public void dragSetData(DragSourceEvent event) {
        if (PluginTransfer.getInstance().isSupportedType(event.dataType)) {
            byte[] dataToSend = ...//enter the data to be sent.
            event.data = new PluginTransferData(
                my_drop_action, dataToSend);
        } 
    } 
} 

Pour un exemple plus complet, reportez-vous à l'exemple du readme de la plateforme dans lequel l'action de suppression est définie dans ReadmeDropActionDelegate et est utilisée par l'écouteur ReadmeContentOutlineDragListener.

Informations d'API : la valeur de l'attribut class doit être un nom complet qualifié d'une classe Java qui implémente org.eclipse.ui.part.IDropActionDelegate. Cette classe est chargée aussi tardivement que possible afin d'éviter le chargement du plug-in tout entier avant que cela ne soit réellement nécessaire.

Implémentation fournie : le plan de travail ne fournit pas d'implémentation pour ce point d'extension. Les plug-in peuvent contribuer à ce point d'extension pour ajouter un comportement de suppression aux vues définies par d'autres plug-in.

Copyright (c) 2002 IBM Corporation and others. All rights reserved. Ce programme et les produits qui l'accompagnent sont fournis sous licence v1.0 associée à cette distribution et disponibles à l'adresse suivante : http://www.eclipse.org/legal/cpl-v10.html