/** @see ContentOutlinePage#createControl */ public void createControl(Composite parent) { super.createControl(parent); ColumnViewerToolTipSupport.enableFor(getTreeViewer()); IWorkbenchPage page = getSite().getWorkbenchWindow().getActivePage(); if (page != null) { fEditor = page.getActiveEditor(); } fDragAdapter = new DelegatingDragAdapter(); fDragSource = new DragSource(getControl(), DND.DROP_COPY | DND.DROP_MOVE); fDropAdapter = new DelegatingDropAdapter(); fDropTarget = new DropTarget(getControl(), DND.DROP_COPY | DND.DROP_MOVE); setConfiguration(getConfiguration()); /* * ContentOutlinePage only implements ISelectionProvider while the * tree viewer implements both ISelectionProvider and * IPostSelectionProvider. Use an ISelectionProvider that listens to * post selection from the tree viewer and forward only post selection * to the selection service. */ getTreeViewer() .addPostSelectionChangedListener(fSelectionProvider.getPostSelectionChangedListener()); getTreeViewer().addSelectionChangedListener(fSelectionProvider.getSelectionChangedListener()); if (fDoubleClickProvider == null) { fDoubleClickProvider = new DoubleClickProvider(); } getTreeViewer().addDoubleClickListener(fDoubleClickProvider); getSite().setSelectionProvider(fSelectionProvider); }
/** Selects all in the view. */ public void run() { if (fControl instanceof StyledText) ((StyledText) fControl).selectAll(); else { // FIXME: see // https://bugs.eclipse.org/bugs/show_bug.cgi?id=63022 // ((Browser)fControl).selectAll(); if (fSelectionProvider != null) fSelectionProvider.fireSelectionChanged(); } }
/* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection() */ public ISelection getSelection() { return fSelectionProvider.getSelection(); }