List of usage examples for org.eclipse.jface.viewers TreeViewer setContentProvider
@Override public void setContentProvider(IContentProvider provider)
TreeViewer
. From source file:com.aptana.editor.common.outline.CommonQuickOutlinePage.java
License:Open Source License
/** * createTreeViewer//www. j av a 2s. co m * * @param parent * @return TreeViewer */ private TreeViewer createTreeViewer(Composite parent) { TreeViewer result = new TreeViewer(new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL)); Tree tree = result.getTree(); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = tree.getItemHeight() * 12; tree.setLayoutData(gd); result.setLabelProvider(_editor.getOutlineLabelProvider()); result.setContentProvider(_editor.getOutlineContentProvider()); result.setInput(this._editor); result.setComparer(new IElementComparer() { /** * @see org.eclipse.jface.viewers.IElementComparer#equals(java.lang.Object, java.lang.Object) */ public boolean equals(Object a, Object b) { boolean result = false; if (a instanceof CommonOutlineItem && b instanceof CommonOutlineItem) { CommonOutlineItem item1 = (CommonOutlineItem) a; CommonOutlineItem item2 = (CommonOutlineItem) b; result = item1.equals(item2); } else if (a instanceof IParseNode && b instanceof IParseNode) { if (a == b) { result = true; } else { IParseNode node1 = (IParseNode) a; IParseNode node2 = (IParseNode) b; result = node1.equals(node2); } } else { result = (a == b); } return result; } /** * @see org.eclipse.jface.viewers.IElementComparer#hashCode(java.lang.Object) */ public int hashCode(Object element) { return 0; } }); return result; }
From source file:com.aptana.ide.samples.ui.SamplesView.java
License:Open Source License
/** * createTreeViewer//from w ww. j av a 2s .c om * * @param parent * @return TreeViewer */ private TreeViewer createTreeViewer(Composite parent) { Tree tree = new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); final TreeViewer viewer = new TreeViewer(tree); viewer.setContentProvider(new SamplesViewContentProvider()); viewer.setLabelProvider(new SamplesViewLabelProvider()); identifierListener = new IIdentifierListener() { public void identifierChanged(IdentifierEvent identifierEvent) { if (identifierEvent.hasEnabledChanged()) { Job job = new UIJob(Messages.SamplesView_Job_UpdatingExplorer) { public IStatus runInUIThread(IProgressMonitor monitor) { ViewerFilter[] filters = viewer.getFilters(); viewer.resetFilters(); for (int i = 0; i < filters.length; i++) { viewer.addFilter(filters[i]); } viewer.refresh(); return Status.OK_STATUS; }; }; job.setPriority(UIJob.INTERACTIVE); job.schedule(); } return; } }; viewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof SamplesInfo) { SamplesInfo si = (SamplesInfo) element; String extensionId = si.getExtensionId(); String extensionPluginId = si.getExtensionPluginId(); if (extensionPluginId != null && extensionId != null && extensionPluginId.length() > 0 && extensionId.length() > 0) { final IIdentifier id = activityManager.getIdentifier(extensionPluginId + "/" //$NON-NLS-1$ + extensionId); if (id != null) { id.addIdentifierListener(identifierListener); return id.isEnabled(); } } } return true; } }); return viewer; }
From source file:com.aptana.ide.search.AptanaFileSearchPage.java
License:Open Source License
/** * installing our decorator here.//from w ww .j a v a2 s . c om * @see org.eclipse.search.internal.ui.text.FileSearchPage#configureTreeViewer(org.eclipse.jface.viewers.TreeViewer) */ protected void configureTreeViewer(TreeViewer viewer) { super.configureTreeViewer(viewer); FileTreeContentProvider provider2 = new FileTreeContentProvider(this, viewer) { }; viewer.setContentProvider(provider2); try { Field field = FileSearchPage.class.getDeclaredField("fContentProvider"); //$NON-NLS-1$ field.setAccessible(true); field.set(this, provider2); } catch (Exception e) { IdeLog.logError(Activator.getDefault(), "Error during conifguration using reflection", e); //$NON-NLS-1$ } final DecoratingFileSearchLabelProvider labelProvider = new DecoratingFileSearchLabelProvider( new FileLabelProvider(this, FileLabelProvider.SHOW_LABEL_PATH)); DecoratingLabelProvider decoratingLabelProvider = new DecoratingLabelProvider(labelProvider, new AptanaExtraDecorator(this)) { public void setLabelDecorator(ILabelDecorator decorator) { if (decorator != null) { AptanaFileSearchPage.this.turnOff = true; } labelProvider.setLabelDecorator(decorator); AptanaFileSearchPage.this.turnOff = false; } public void dispose() { } }; viewer.setInput(getInput()); this.provider = (ITreeContentProvider) viewer.getContentProvider(); viewer.setLabelProvider(decoratingLabelProvider); }
From source file:com.aptana.ide.search.epl.filesystem.ui.text.FileSystemSearchPage.java
License:Open Source License
/** * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#configureTreeViewer(org.eclipse.jface.viewers.TreeViewer) */// ww w.ja va 2s . co m protected void configureTreeViewer(TreeViewer viewer) { viewer.setUseHashlookup(true); FileLabelProvider innerLabelProvider = new FileLabelProvider(this, FileLabelProvider.SHOW_LABEL); viewer.setLabelProvider(new DecoratingLabelProvider(innerLabelProvider, PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); viewer.setContentProvider(new FileTreeContentProvider(this, viewer)); viewer.setComparator(new DecoratorIgnoringViewerSorter(innerLabelProvider)); fContentProvider = (IFileSearchContentProvider) viewer.getContentProvider(); addDragAdapters(viewer); }
From source file:com.aptana.ide.snippets.SnippetsView.java
License:Open Source License
/** * createTreeViewer// w w w .ja v a2 s . c o m * * @param parent * @return TreeViewer */ private TreeViewer createTreeViewer(Composite parent) { Tree tree = new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); TreeViewer viewer = new TreeViewer(tree); snippetsViewContentProvider = new SnippetsViewContentProvider(); viewer.setContentProvider(snippetsViewContentProvider); snippetsViewLabelProvider = new SnippetsViewLabelProvider(); viewer.setLabelProvider(snippetsViewLabelProvider); return viewer; }
From source file:com.aptana.ide.syncing.ui.old.views.SmartSyncViewer.java
License:Open Source License
private TreeViewer createContents(final Composite parent) { final TreeViewer viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER); viewer.setContentProvider(fContentProvider = new SmartSyncContentProvider()); viewer.setLabelProvider(fLabelProvider = new SmartSyncLabelProvider(parent.getDisplay())); Tree tree = viewer.getTree();/*from ww w . java 2 s .c om*/ tree.setLinesVisible(true); tree.setHeaderVisible(true); viewer.setAutoExpandLevel(2); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fInitBackground = new Color(tree.getDisplay(), 175, 238, 238); fProgressBackground = new Color(tree.getDisplay(), 72, 209, 204); tree.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { fInitBackground.dispose(); fProgressBackground.dispose(); } }); parent.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { setWidth(parent.getSize().x); } }); // file column TreeColumn file = new TreeColumn(tree, SWT.LEFT); file.setWidth(250); file.setText(Messages.SmartSyncDialog_ColumnResources); file.setToolTipText(Messages.SmartSyncViewer_ColumnResourcesTooltip); // the column to specify whether the file should be skipped TreeColumn skip = new TreeColumn(tree, SWT.CENTER); skip.setWidth(40); skip.setText(Messages.SmartSyncDialog_ColumnSkip); skip.setToolTipText(Messages.SmartSyncViewer_ColumnSkipTooltip); // the state column on what will be done, if any, to the files from first end point fColumnEnd1 = new TreeColumn(tree, SWT.CENTER); fColumnEnd1.setWidth(125); // the state column on what will be done, if any, to the files from second end point fColumnEnd2 = new TreeColumn(tree, SWT.CENTER); fColumnEnd2.setWidth(125); Menu menu = new Menu(tree); fShowDiffs = new MenuItem(menu, SWT.PUSH); fShowDiffs.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (!viewer.getSelection().isEmpty() && viewer.getSelection() instanceof IStructuredSelection) { Object selection = ((IStructuredSelection) viewer.getSelection()).getFirstElement(); if (selection instanceof SyncFile) { SyncFile file = (SyncFile) selection; if (file.getSyncState() == SyncState.ClientItemIsNewer || file.getSyncState() == SyncState.ServerItemIsNewer) { final VirtualFileSyncPair pair = file.getPair(); FileStoreCompareEditorInput input = new FileStoreCompareEditorInput( new CompareConfiguration()); input.setLeftFileStore(pair.getSourceFile()); IFileStore destinationFile = pair.getDestinationFile(); String name = destinationFile.getName(); if (destinationFile instanceof IExtendedFileStore) { // this is a remote file, so downloads to a local temp copy first for speed purpose try { File localFile = destinationFile.toLocalFile(EFS.CACHE, null); destinationFile = EFS.getLocalFileSystem() .getStore(Path.fromOSString(localFile.getAbsolutePath())); } catch (CoreException ce) { // logs as warning since we will fall back to use the remote file store directly in // this case IdeLog.logWarning(SyncingUIPlugin.getDefault(), ce); } } input.setRightFileStore(destinationFile, name); input.initializeCompareConfiguration(); CompareUI.openCompareDialog(input); } } } } }); fShowDiffs.setImage(SyncingUIPlugin.getImage("icons/full/obj16/compare_view.gif")); //$NON-NLS-1$ fShowDiffs.setText(Messages.SmartSyncDialog_ShowDiffs); fShowDiffs.setEnabled(true); tree.setMenu(menu); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (!viewer.getSelection().isEmpty() && viewer.getSelection() instanceof IStructuredSelection) { Object selection = ((IStructuredSelection) viewer.getSelection()).getFirstElement(); if (selection instanceof SyncFile) { SyncFile file = (SyncFile) selection; if (file.getSyncState() == SyncState.ClientItemIsNewer || file.getSyncState() == SyncState.ServerItemIsNewer) { fShowDiffs.setEnabled(true); return; } } } fShowDiffs.setEnabled(false); } }); viewer.setCellEditors(new CellEditor[] { null, new CheckboxCellEditor(), null, null }); viewer.setColumnProperties( new String[] { Messages.SmartSyncDialog_ColumnName, Messages.SmartSyncDialog_ColumnSkip, Messages.SmartSyncDialog_ColumnLocal, Messages.SmartSyncDialog_ColumnRemote }); return viewer; }
From source file:com.aptana.ide.syncing.ui.views.SmartSyncViewer.java
License:Open Source License
private TreeViewer createContents(final Composite parent) { final TreeViewer viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER); viewer.setContentProvider(fContentProvider = new SmartSyncContentProvider()); viewer.setLabelProvider(fLabelProvider = new SmartSyncLabelProvider(parent.getDisplay())); Tree tree = viewer.getTree();//from www .j av a 2s .c om tree.setLinesVisible(true); tree.setHeaderVisible(true); viewer.setAutoExpandLevel(2); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fInitBackground = new Color(tree.getDisplay(), 175, 238, 238); fProgressBackground = new Color(tree.getDisplay(), 72, 209, 204); tree.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { fInitBackground.dispose(); fProgressBackground.dispose(); } }); parent.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { setWidth(parent.getSize().x); } }); // file column TreeColumn file = new TreeColumn(tree, SWT.LEFT); file.setWidth(250); file.setText(Messages.SmartSyncDialog_ColumnResources); file.setToolTipText(Messages.SmartSyncViewer_ColumnResourcesTooltip); // the column to specify whether the file should be skipped TreeColumn skip = new TreeColumn(tree, SWT.CENTER); skip.setWidth(40); skip.setText(Messages.SmartSyncDialog_ColumnSkip); skip.setToolTipText(Messages.SmartSyncViewer_ColumnSkipTooltip); // the state column on what will be done, if any, to the files from first end point fColumnEnd1 = new TreeColumn(tree, SWT.CENTER); fColumnEnd1.setWidth(125); // the state column on what will be done, if any, to the files from second end point fColumnEnd2 = new TreeColumn(tree, SWT.CENTER); fColumnEnd2.setWidth(125); Menu menu = new Menu(tree); fShowDiffs = new MenuItem(menu, SWT.PUSH); fShowDiffs.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (!viewer.getSelection().isEmpty() && viewer.getSelection() instanceof IStructuredSelection) { Object selection = ((IStructuredSelection) viewer.getSelection()).getFirstElement(); if (selection instanceof SyncFile) { SyncFile file = (SyncFile) selection; if (file.getSyncState() == SyncState.ClientItemIsNewer || file.getSyncState() == SyncState.ServerItemIsNewer) { final VirtualFileSyncPair pair = file.getPair(); File local = null; try { local = pair.getSourceFile().toLocalFile(EFS.CACHE, null); } catch (CoreException ex) { ex.printStackTrace(); } FileCompareEditorInput input = new FileCompareEditorInput(new CompareConfiguration()) { protected void prepareFiles() { File temp = null; try { temp = pair.getDestinationFile().toLocalFile(EFS.CACHE, null); } catch (CoreException e) { e.printStackTrace(); } setRightResource(temp); } }; input.setLeftResource(local); CompareUI.openCompareDialog(input); } } } } }); fShowDiffs.setImage(SyncingUIPlugin.getImage("icons/full/obj16/compare_view.gif")); //$NON-NLS-1$ fShowDiffs.setText(Messages.SmartSyncDialog_ShowDiffs); fShowDiffs.setEnabled(true); tree.setMenu(menu); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (!viewer.getSelection().isEmpty() && viewer.getSelection() instanceof IStructuredSelection) { Object selection = ((IStructuredSelection) viewer.getSelection()).getFirstElement(); if (selection instanceof SyncFile) { SyncFile file = (SyncFile) selection; if (file.getSyncState() == SyncState.ClientItemIsNewer || file.getSyncState() == SyncState.ServerItemIsNewer) { fShowDiffs.setEnabled(true); return; } } } fShowDiffs.setEnabled(false); } }); viewer.setCellEditors(new CellEditor[] { null, new CheckboxCellEditor(), null, null }); viewer.setColumnProperties( new String[] { Messages.SmartSyncDialog_ColumnName, Messages.SmartSyncDialog_ColumnSkip, Messages.SmartSyncDialog_ColumnLocal, Messages.SmartSyncDialog_ColumnRemote }); return viewer; }
From source file:com.aptana.ide.views.outline.UnifiedOutlinePage.java
License:Open Source License
/** * createTreeViewer/* w w w .ja v a 2 s. c om*/ * * @param parent * @return TreeViewer */ private TreeViewer createTreeViewer(Composite parent, PatternFilter filter) { FilteredTree tree = null; try { // When available (3.5+) use new constructor Constructor<FilteredTree> cons = FilteredTree.class.getConstructor(Composite.class, int.class, PatternFilter.class, boolean.class); tree = cons.newInstance(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL, filter, true); } catch (Exception e) { // fallback to deprecated old constructor when new one not available tree = new FilteredTree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL, filter); } TreeViewer result = tree.getViewer(); outlineProvider = UnifiedOutlineProvider.getInstance(); outlineProvider.setOutlinePage(this); result.setLabelProvider(outlineProvider); result.setContentProvider(outlineProvider); result.setInput(this._editor); // add selection changed listener result.addSelectionChangedListener(new ISelectionChangedListener() { /** * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) */ public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection.size() == 1) { Object item = selection.getFirstElement(); if (item != null && item instanceof OutlineItem) { OutlineItem outlineItem = (OutlineItem) selection.getFirstElement(); // Only select and reveal in editor if the tree viewer is focused meaning the selection // originated from a user selection on the tree itself // move cursor to start of this item's text if (_treeViewer != null && _treeViewer.getTree() != null && !_treeViewer.getTree().isDisposed() && _treeViewer.getTree().isFocusControl()) { _editor.selectAndReveal(outlineItem.getStartingOffset(), 0); } // TODO: activate the editor window // Note this code works, but should only be called on mouse clicks so users can // navigate through outline items using the keyboard // IWorkbenchWindow window = JSPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow(); // // if (window != null) // { // IWorkbenchPage page = window.getActivePage(); // // page.activate(_editor); // } } } } }); result.setComparer(new IElementComparer() { /** * @see org.eclipse.jface.viewers.IElementComparer#equals(java.lang.Object, java.lang.Object) */ public boolean equals(Object a, Object b) { boolean result = false; if (a instanceof OutlineItem && b instanceof OutlineItem) { OutlineItem item1 = (OutlineItem) a; OutlineItem item2 = (OutlineItem) b; result = item1.equals(item2); } else if (a instanceof IParseNode && b instanceof IParseNode) { if (a == b) { result = true; } else { IParseNode node1 = (IParseNode) a; IParseNode node2 = (IParseNode) b; String path1 = node1.getUniquePath(); String path2 = node2.getUniquePath(); result = path1.equals(path2); } } else { result = (a == b); } return result; } /** * @see org.eclipse.jface.viewers.IElementComparer#hashCode(java.lang.Object) */ public int hashCode(Object element) { return 0; } }); return result; }
From source file:com.aptana.ide.views.outline.UnifiedQuickOutlinePage.java
License:Open Source License
/** * createTreeViewer//from w w w . ja v a2 s . c o m * * @param parent * @return TreeViewer */ private TreeViewer createTreeViewer(Composite parent) { TreeViewer result = new TreeViewer(new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL)); //outlineProvider = UnifiedOutlineProvider.getInstance(); outlineProvider = createProvider(); result.setLabelProvider(outlineProvider); result.setContentProvider(outlineProvider); result.setInput(this._editor); // add selection changed listener result.addSelectionChangedListener(new ISelectionChangedListener() { /** * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) */ public void selectionChanged(SelectionChangedEvent event) { // IStructuredSelection selection = (IStructuredSelection) event.getSelection(); // // if (selection.size() == 1) // { // Object item = selection.getFirstElement(); // // if (item != null && item instanceof OutlineItem) // { // OutlineItem outlineItem = (OutlineItem) selection.getFirstElement(); // // // Only select and reveal in editor if the tree viewer is focused meaning the selection // // originated from a user selection on the tree itself // // // move cursor to start of this item's text // if (_treeViewer != null && _treeViewer.getTree() != null && !_treeViewer.getTree().isDisposed() // && _treeViewer.getTree().isFocusControl()) // { // _editor.selectAndReveal(outlineItem.getStartingOffset(), 0); // } // } // } } }); result.setComparer(new IElementComparer() { /** * @see org.eclipse.jface.viewers.IElementComparer#equals(java.lang.Object, java.lang.Object) */ public boolean equals(Object a, Object b) { boolean result = false; if (a instanceof OutlineItem && b instanceof OutlineItem) { OutlineItem item1 = (OutlineItem) a; OutlineItem item2 = (OutlineItem) b; result = item1.equals(item2); } else if (a instanceof IParseNode && b instanceof IParseNode) { if (a == b) { result = true; } else { IParseNode node1 = (IParseNode) a; IParseNode node2 = (IParseNode) b; String path1 = node1.getUniquePath(); String path2 = node2.getUniquePath(); result = path1.equals(path2); } } else { result = (a == b); } return result; } /** * @see org.eclipse.jface.viewers.IElementComparer#hashCode(java.lang.Object) */ public int hashCode(Object element) { return 0; } }); return result; }
From source file:com.aptana.samples.ui.views.SamplesView.java
License:Open Source License
protected TreeViewer createTreeViewer(Composite parent) { TreeViewer treeViewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); treeViewer.setContentProvider(new SamplesViewContentProvider()); treeViewer.setLabelProvider(new SamplesViewLabelProvider()); treeViewer.setInput(getSamplesManager()); treeViewer.setComparator(new ViewerComparator()); ColumnViewerToolTipSupport.enableFor(treeViewer); return treeViewer; }