| <?xml version='1.0' encoding='UTF-8'?>
|
| <!-- Schema file written by PDE -->
|
| <schema targetNamespace="org.eclipse.ui">
|
| <annotation>
|
| <appInfo>
|
| <meta.schema plugin="org.eclipse.ui" id="dropActions" name="Drop Actions"/>
|
| </appInfo>
|
| <documentation>
|
| This extension point is used to add drop behaviour to |
| views defined by other plugins. |
| <p> |
| Due to the UI layering imposed by the plugin |
| mechanism, views are often not aware of the content |
| and nature of other views. This can make drag and |
| drop operations between plugins difficult. |
| For example, one may wish to provide Java |
| refactoring support whereby the user drags a |
| method from the Java editor's content outliner |
| into another java file in the resource navigator. |
| Since the resource navigator doesn't know anything |
| about Java content, it doesn't know how to behave |
| when java methods are dropped onto it. |
| Similarly, an ISV may want to drop some of |
| their content into one of the Java viewers. |
| <p> |
| The <samp>org.eclipse.ui.dropActions</samp> extension point is |
| provided by the Platform to address these situations. |
| This mechanism delegates the drop behaviour back to |
| the originator of the drag operation. |
| This behaviour is contained in an action that |
| must implement |
| <samp>org.eclipse.ui.part.IDropActionDelegate</samp>. |
| The viewer that is the source of the drag |
| operation must support |
| <samp>the org.eclipse.ui.part.PluginTransfer</samp> |
| transfer type, and place a |
| <samp>PluginTransferData</samp> object in the drag event. |
| See org.eclipse.jface.viewers.StructuredViewer#addDragSupport |
| to learn how to add drag support to a viewer.
|
| </documentation>
|
| </annotation>
|
|
|
| <element name="extension">
|
| <complexType>
|
| <sequence>
|
| <element ref="dropContribution" minOccurs="0" maxOccurs="unbounded"/>
|
| </sequence>
|
| <attribute name="point" type="string" use="required">
|
| <annotation>
|
| <documentation>
|
| a fully qualified identifier of the target extension point
|
| </documentation>
|
| </annotation>
|
| </attribute>
|
| <attribute name="id" type="string">
|
| <annotation>
|
| <documentation>
|
| an optional identifier of the extension instance
|
| </documentation>
|
| </annotation>
|
| </attribute>
|
| <attribute name="name" type="string">
|
| <annotation>
|
| <documentation>
|
| an optional name of the extension instance
|
| </documentation>
|
| </annotation>
|
| </attribute>
|
| </complexType>
|
| </element>
|
|
|
| <element name="dropContribution">
|
| <complexType>
|
| <sequence>
|
| <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
|
| </sequence>
|
| </complexType>
|
| </element>
|
|
|
| <element name="action">
|
| <complexType>
|
| <attribute name="id" type="string" use="required">
|
| <annotation>
|
| <documentation>
|
| a unique identifier that can be used to reference this action
|
| </documentation>
|
| </annotation>
|
| </attribute>
|
| <attribute name="class" type="string" use="required">
|
| <annotation>
|
| <documentation>
|
| the name of the fully qualified class that implements |
| <samp>org.eclipse.ui.part.IDropActionDelegate</samp>.
|
| </documentation>
|
| <appInfo>
|
| <meta.attribute kind="java" basedOn="org.eclipse.ui.part.IDropActionDelegate"/>
|
| </appInfo>
|
| </annotation>
|
| </attribute>
|
| </complexType>
|
| </element>
|
|
|
| <annotation>
|
| <appInfo>
|
| <meta.section type="examples"/>
|
| </appInfo>
|
| <documentation>
|
| The following is an example of a drop action extension: |
| <p> |
| <pre> |
| <extension point="org.eclipse.ui.dropActions"> |
| <dropContribution> |
| <action |
| id="my_drop_action" |
| class="com.xyz.eclipse.TestDropAction"> |
| </action> |
| </dropContribution> |
| </extension> |
| </pre> |
| </p> |
| Here is an example of a drag listener that makes use of the drop |
| action defined above. |
| <p> |
| <pre> |
| 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); |
| } |
| } |
| } |
| </pre> |
| </p> |
| For a more complete example, see the Platform |
| readme example. In that example, a drop action is |
| defined in ReadmeDropActionDelegate, and it is used |
| by ReadmeContentOutlineDragListener.
|
| </documentation>
|
| </annotation>
|
|
|
| <annotation>
|
| <appInfo>
|
| <meta.section type="apiInfo"/>
|
| </appInfo>
|
| <documentation>
|
| The value of the class attribute must be a fully qualified name of a Java class that implements <samp>org.eclipse.ui.part.IDropActionDelegate</samp>. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed
|
| </documentation>
|
| </annotation>
|
|
|
| <annotation>
|
| <appInfo>
|
| <meta.section type="implementation"/>
|
| </appInfo>
|
| <documentation>
|
| The workbench does not provide an implementation for this extension point. Plug-ins can contribute to this extension point to add drop behavior to views defined by other plugins.
|
| </documentation>
|
| </annotation>
|
|
|
| <annotation>
|
| <appInfo>
|
| <meta.section type="copyright"/>
|
| </appInfo>
|
| <documentation>
|
| <p> |
| Copyright (c) 2002 IBM Corporation and others. |
| All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/cpl-v10.html
|
| </documentation>
|
| </annotation>
|
|
|
| </schema>
|