/**
   * Called on the viewer disposal. Unregisters from the compare configuration. Clients may extend
   * if they have to do additional cleanup.
   *
   * @see org.eclipse.jface.viewers.ContentViewer#handleDispose(org.eclipse.swt.events.DisposeEvent)
   */
  protected void handleDispose(DisposeEvent event) {

    if (fHandlerService != null) fHandlerService.dispose();

    Object input = getInput();
    if (input instanceof ICompareInput) {
      ICompareContainer container = getCompareConfiguration().getContainer();
      container.removeCompareInputChangeListener(
          (ICompareInput) input, fCompareInputChangeListener);
    }
    if (input != null) {
      ICompareInputLabelProvider lp = getCompareConfiguration().getLabelProvider();
      if (lp != null) lp.removeListener(labelChangeListener);
    }

    if (fPropertyChangeListener != null) {
      fCompareConfiguration.removePropertyChangeListener(fPropertyChangeListener);
      fPropertyChangeListener = null;
    }

    fAncestorLabel = null;
    fLeftLabel = null;
    fDirectionLabel = null;
    fRightLabel = null;
    fCenter = null;

    if (fRightArrow != null) {
      fRightArrow.dispose();
      fRightArrow = null;
    }
    if (fLeftArrow != null) {
      fLeftArrow.dispose();
      fLeftArrow = null;
    }
    if (fBothArrow != null) {
      fBothArrow.dispose();
      fBothArrow = null;
    }

    if (fNormalCursor != null) {
      fNormalCursor.dispose();
      fNormalCursor = null;
    }
    if (fHSashCursor != null) {
      fHSashCursor.dispose();
      fHSashCursor = null;
    }
    if (fVSashCursor != null) {
      fVSashCursor.dispose();
      fVSashCursor = null;
    }
    if (fHVSashCursor != null) {
      fHVSashCursor.dispose();
      fHVSashCursor = null;
    }

    super.handleDispose(event);
  }
 public UIComponent getLinkCreation(Object param) {
   ContentViewer list = new ContentViewer();
   list.setShowPermissionTab(false);
   list.setShowUploadComponent(true);
   if (param != null) {
     list.setRootPath(param.toString());
   } else {
     list.setRootPath(CoreConstants.PATH_FILES_ROOT);
   }
   list.setOnFileClickEvent("SelectDocument(this);return false;");
   list.setColumnsToHide(
       WebDAVListManagedBean.COLUMN_DELETE
           + ","
           + WebDAVListManagedBean.COLUMN_CHECKOUT
           + ","
           + WebDAVListManagedBean.COLUMN_LOCK);
   return list;
 }
 /**
  * The <code>ContentMergeViewer</code> implementation of this <code>ContentViewer</code> method
  * checks to ensure that the content provider is an <code>IMergeViewerContentProvider</code>.
  *
  * @param contentProvider the content provider to set. Must implement IMergeViewerContentProvider.
  */
 public void setContentProvider(IContentProvider contentProvider) {
   Assert.isTrue(contentProvider instanceof IMergeViewerContentProvider);
   super.setContentProvider(contentProvider);
 }