Package org.eclipse.handly.ui.outline

## Class OutlineDragAndDropContribution

- java.lang.Object
- - org.eclipse.handly.ui.outline.OutlineContribution
  - - org.eclipse.handly.ui.outline.OutlineDragAndDropContribution

- All Implemented Interfaces:
    `IOutlineContribution`

      public abstract class OutlineDragAndDropContribution
      extends OutlineContribution

  An abstract base class for outline drag-and-drop contributions.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `OutlineDragAndDropContribution()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract ViewerDragSupport` | `createDragSupport()` | Returns a ready to start instance of `ViewerDragSupport` for the outline page.
    `protected abstract ViewerDropSupport` | `createDropSupport()` | Returns a ready to start instance of `ViewerDropSupport` for the outline page.
    `void` | `dispose()` | Disposes of this contribution.
    `void` | `init​(ICommonOutlinePage outlinePage)` | Initializes this contribution.

    - ### Methods inherited from class org.eclipse.handly.ui.outline.OutlineContribution

      `getOutlinePage`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### OutlineDragAndDropContribution

          public OutlineDragAndDropContribution()

  - ### Method Detail

    - #### init

          public void init​(ICommonOutlinePage outlinePage)

      Initializes this contribution. This method is called after the outline page's tree viewer has been created.

      This method may be extended by subclasses. Subclasses must call the superclass implementation.

      `OutlineDragAndDropContribution` extends this method to add `drag` and `drop` support to the outline. The `feedback enablement` for the drop support is governed by the `lexical sort` preference.

      Specified by:
        `init` in interface `IOutlineContribution`
      Overrides:
        `init` in class `OutlineContribution`
      Parameters:
        `outlinePage` - the contribution's outline page (never `null`)

    - #### dispose

          public void dispose()

      Description copied from class: `OutlineContribution`
      Disposes of this contribution. Implementors should clean up any resources associated with this contribution. Note that there is no guarantee that `init()` has been called. This method has no effect if this contribution has already been disposed.

      This method may be extended by subclasses. Subclasses must call the superclass implementation.

      Specified by:
        `dispose` in interface `IOutlineContribution`
      Overrides:
        `dispose` in class `OutlineContribution`

    - #### createDragSupport

          protected abstract ViewerDragSupport createDragSupport()

      Returns a ready to start instance of `ViewerDragSupport` for the outline page.
      Returns:
        a ready to start instance of `ViewerDragSupport` (not `null`)

    - #### createDropSupport

          protected abstract ViewerDropSupport createDropSupport()

      Returns a ready to start instance of `ViewerDropSupport` for the outline page.
      Returns:
        a ready to start instance of `ViewerDropSupport` (not `null`)