List of usage examples for org.eclipse.jface.viewers TreeViewer setContentProvider
@Override public void setContentProvider(IContentProvider provider)
TreeViewer
. From source file:org.eclipse.mylyn.internal.tasks.ui.search.RepositorySearchResultView.java
License:Open Source License
@Override protected void configureTreeViewer(TreeViewer viewer) { viewer.setUseHashlookup(true);//from www . ja va 2s. c o m searchResultProvider = new SearchResultTreeContentProvider(); viewer.setContentProvider(searchResultProvider); styledLabelProvider = new DecoratingPatternStyledCellLabelProvider( new SearchResultsLabelProvider(searchResultProvider, viewer), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(), null); viewer.setLabelProvider(styledLabelProvider); viewer.setSorter(searchResultSorter); Transfer[] dragTypes = new Transfer[] { LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() }; getViewer().addDragSupport(DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK, dragTypes, new TaskDragSourceListener(getViewer())); sortByDialogAction = new SearchResultSortAction(this); toolTip = new TaskListToolTip(viewer.getControl()); }
From source file:org.eclipse.mylyn.internal.wikitext.ui.editor.MarkupEditorOutline.java
License:Open Source License
@Override public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); viewer.setUseHashlookup(true);/* w w w . j av a 2 s. co m*/ viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); viewer.setContentProvider(new BaseWorkbenchContentProvider()); viewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider()); viewer.setInput(editor.getOutlineModel()); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { revealInEditor(event.getSelection(), true); } }); viewer.addPostSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { revealInEditor(event.getSelection(), false); } }); viewer.expandAll(); new ToolTip(viewer.getControl(), ToolTip.RECREATE, false) { @Override protected Composite createToolTipContentArea(Event event, Composite parent) { Composite comp = new Composite(parent, SWT.NONE); comp.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND)); GridLayout gl = new GridLayout(1, false); gl.marginBottom = 2; gl.marginTop = 2; gl.marginHeight = 0; gl.marginWidth = 0; gl.marginLeft = 2; gl.marginRight = 2; gl.verticalSpacing = 1; comp.setLayout(gl); Object tipItem = getToolTipItem(new Point(event.x, event.y)); if (tipItem instanceof OutlineItem) { OutlineItem outlineItem = (OutlineItem) tipItem; Label label = new Label(comp, SWT.WRAP); label.setBackground(comp.getBackground()); label.setText(outlineItem.getTooltip()); } return comp; } @Override protected boolean shouldCreateToolTip(Event event) { final Object eventItem = getToolTipItem(new Point(event.x, event.y)); boolean shouldCreate = eventItem != null && eventItem instanceof OutlineItem && super.shouldCreateToolTip(event); if (!shouldCreate) { hide(); } return shouldCreate; } protected Object getToolTipItem(Point point) { TreeItem item = ((Tree) getTreeViewer().getControl()).getItem(point); if (item != null) { return item.getData(); } return null; } }; IPageSite site = getSite(); site.setSelectionProvider(viewer); configureActionBars(site); MenuManager manager = new MenuManager("#PopUp"); //$NON-NLS-1$ manager.setRemoveAllWhenShown(true); manager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager menuManager) { contextMenuAboutToShow(menuManager); } }); viewer.getTree().setMenu(manager.createContextMenu(viewer.getTree())); site.registerContextMenu(MarkupEditor.ID + ".outlineContextMenu", manager, viewer); //$NON-NLS-1$ configureDnd(); configureActions(); }
From source file:org.eclipse.mylyn.internal.xplanner.ui.wizard.NewXPlannerTaskPage.java
License:Open Source License
public void createControl(Composite parent) { // create the composite to hold the widgets Composite composite = new Composite(parent, SWT.NULL); // create the desired layout for this wizard page composite.setLayout(new GridLayout()); // create the list of bug reports projectTree = new EnhancedFilteredTree(composite, SWT.SINGLE | SWT.BORDER, new PatternFilter(), true); projectTree.setLayoutData(GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true) .hint(SWT.DEFAULT, 200).create()); TreeViewer projectsViewer = projectTree.getViewer(); projectsViewer.setContentProvider(new ProjectsViewerContentProvider(client)); projectsViewer.setLabelProvider(new ProjectsViewerLabelProvider()); GridData projectsViewerGridData = new GridData(SWT.FILL, SWT.FILL, true, true); projectsViewerGridData.heightHint = 100; projectsViewerGridData.widthHint = 200; projectsViewer.getTree().setLayoutData(projectsViewerGridData); projectsViewer.setInput(client);/*from w ww.ja v a 2 s.c o m*/ projectsViewer.refresh(); projectsViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent e) { validatePage(true); } }); projectsViewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { if (getWizard().canFinish()) { if (getWizard().performFinish()) { ((WizardDialog) getContainer()).close(); } } } }); updateProjectsFromRepository(false); Button updateButton = new Button(composite, SWT.LEFT | SWT.PUSH); updateButton.setText(LABEL_UPDATE); updateButton.setLayoutData(new GridData()); updateButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { updateProjectsFromRepository(true); } }); // set the composite as the control for this page setControl(composite); isPageComplete(); getWizard().getContainer().updateButtons(); }
From source file:org.eclipse.mylyn.reviews.tasks.ui.internal.editors.ReviewSummaryTaskEditorPart.java
License:Open Source License
private TreeViewer createResultsViewer(Composite reviewResultsComposite, FormToolkit toolkit) { Tree tree = new Tree(reviewResultsComposite, SWT.SINGLE | SWT.FULL_SELECTION); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); tree.setLinesVisible(true);// w w w.j ava 2 s . co m tree.setHeaderVisible(true); for (int i = 0; i < tree.getColumnCount(); i++) { tree.getColumn(i).pack(); } tree.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER); TreeViewer reviewResults = createTreeWithColumns(tree); reviewResults.setContentProvider(new ReviewResultContentProvider()); reviewResults.setLabelProvider(new ColumnLabelProvider<ITreeNode>(Column.values())); reviewResults.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { if (!event.getSelection().isEmpty()) { ITreeNode treeNode = (ITreeNode) ((IStructuredSelection) event.getSelection()) .getFirstElement(); if (treeNode instanceof ReviewResultNode) { treeNode = treeNode.getParent(); } ITaskProperties task = treeNode.getTask(); ReviewUiUtils.openTaskInMylyn(task); } } }); return reviewResults; }
From source file:org.eclipse.mylyn.wikitext.ui.editor.DefaultWikiTextSourceEditorOutline.java
License:Open Source License
@Override public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); viewer.setUseHashlookup(true);/* ww w. j a v a 2s . co m*/ viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); viewer.setContentProvider(new BaseWorkbenchContentProvider()); viewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider()); viewer.setInput(getEditor().getAdapter(OutlineItem.class)); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { revealInEditor(event.getSelection()); } }); viewer.addPostSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { revealInEditor(event.getSelection()); } }); viewer.expandAll(); updateSelectionToMatchEditor(); new ToolTip(viewer.getControl(), ToolTip.RECREATE, false) { @Override protected Composite createToolTipContentArea(Event event, Composite parent) { Composite comp = new Composite(parent, SWT.NONE); comp.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND)); GridLayout gl = new GridLayout(1, false); gl.marginBottom = 2; gl.marginTop = 2; gl.marginHeight = 0; gl.marginWidth = 0; gl.marginLeft = 2; gl.marginRight = 2; gl.verticalSpacing = 1; comp.setLayout(gl); Object tipItem = getToolTipItem(new Point(event.x, event.y)); if (tipItem instanceof OutlineItem) { OutlineItem outlineItem = (OutlineItem) tipItem; Label label = new Label(comp, SWT.WRAP); label.setBackground(comp.getBackground()); label.setText(outlineItem.getTooltip()); } return comp; } @Override protected boolean shouldCreateToolTip(Event event) { final Object eventItem = getToolTipItem(new Point(event.x, event.y)); boolean shouldCreate = eventItem != null && eventItem instanceof OutlineItem && super.shouldCreateToolTip(event); if (!shouldCreate) { hide(); } return shouldCreate; } protected Object getToolTipItem(Point point) { TreeItem item = ((Tree) getTreeViewer().getControl()).getItem(point); if (item != null) { return item.getData(); } return null; } }; MenuManager manager = new MenuManager("#PopUp"); //$NON-NLS-1$ manager.setRemoveAllWhenShown(true); manager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager menuManager) { contextMenuAboutToShow(menuManager); } }); viewer.getTree().setMenu(manager.createContextMenu(viewer.getTree())); }
From source file:org.eclipse.nebula.widgets.nattable.examples.e4.NavigationPart.java
License:Open Source License
@PostConstruct public void postConstruct(Composite parent) { final TreeViewer navTreeViewer = new TreeViewer(parent); final NavContentProvider contentProvider = new NavContentProvider() { @Override//from w w w. j a v a2s . c om public Object[] getElements(Object inputElement) { Set<String> topLevelElements = new LinkedHashSet<>(); String[] examplePaths = (String[]) inputElement; for (final String examplePath : examplePaths) { String parentPath = ""; String absolutePath = ""; // remove the package name for the tree structure String path = examplePath; if (examplePath.startsWith(INatExample.TUTORIAL_EXAMPLES_PREFIX)) { path = examplePath.replace(INatExample.BASE_PATH, ""); } else if (examplePath.startsWith(INatExample.CLASSIC_EXAMPLES_PREFIX)) { path = examplePath.replace(INatExample.CLASSIC_BASE_PATH, ""); } else if (examplePath.startsWith(E4_EXAMPLES_PREFIX)) { path = examplePath.replace(E4_BASE_PATH, ""); } final StringTokenizer tok = new StringTokenizer(path, "/"); while (tok.hasMoreTokens()) { final String pathElement = tok.nextToken(); if (parentPath.length() == 0) { topLevelElements.add("/" + pathElement); } absolutePath += "/" + pathElement; final Collection<String> children = getChildren(parentPath); children.add(absolutePath); parentPath = absolutePath; } } return topLevelElements.toArray(); } }; navTreeViewer.setContentProvider(contentProvider); navTreeViewer.setLabelProvider(new NavLabelProvider(contentProvider) { @Override public String getText(Object element) { String str = (String) element; if (!contentProvider.hasChildren(element)) { INatExample example = getExample(str); return example.getName(); } int lastSlashIndex = str.lastIndexOf('/'); if (lastSlashIndex < 0) { return format(str); } else { return format(str.substring(lastSlashIndex + 1)); } } }); navTreeViewer.setInput(getExamplePaths()); navTreeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { TreeSelection selection = (TreeSelection) event.getSelection(); for (TreePath path : selection.getPaths()) { // check for item - if node expand/collapse, if child open if (contentProvider.hasChildren(path.getLastSegment().toString())) { boolean expanded = navTreeViewer.getExpandedState(path); navTreeViewer.setExpandedState(path, !expanded); } else { openExampleInTab(path.getLastSegment().toString()); } } } }); GridLayout layout = new GridLayout(); layout.marginWidth = 0; layout.marginHeight = 0; parent.setLayout(layout); GridDataFactory.fillDefaults().grab(true, true).applyTo(navTreeViewer.getControl()); }
From source file:org.eclipse.nebula.widgets.nattable.examples.runner.TabbedNatExampleRunner.java
License:Open Source License
public static void run(int shellWidth, int shellHeight, final String... examplePaths) throws InstantiationException, IllegalAccessException, ClassNotFoundException { // Setup//www.j ava 2 s. c om final Display display = Display.getDefault(); final Shell shell = new Shell(display, SWT.SHELL_TRIM); shell.setLayout(new GridLayout(2, false)); shell.setSize(shellWidth, shellHeight); shell.setText("Examples demonstrating NatTable features"); // Nav tree final TreeViewer navTreeViewer = new TreeViewer(shell); GridData gridData = new GridData(GridData.FILL_VERTICAL); gridData.widthHint = 200; navTreeViewer.getControl().setLayoutData(gridData); NavContentProvider contentProvider = new NavContentProvider(); navTreeViewer.setContentProvider(contentProvider); navTreeViewer.setLabelProvider(new NavLabelProvider(contentProvider)); navTreeViewer.setInput(examplePaths); navTreeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { TreeSelection selection = (TreeSelection) event.getSelection(); for (TreePath path : selection.getPaths()) { openExampleInTab(path.getLastSegment().toString()); } } }); tabFolder = new CTabFolder(shell, SWT.BORDER); tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH)); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } for (INatExample example : exampleControlMap.keySet()) { // Stop example.onStop(); Control exampleControl = exampleControlMap.get(example); exampleControl.dispose(); } tabFolder.dispose(); shell.dispose(); display.dispose(); }
From source file:org.eclipse.nebula.widgets.pagination.snippets.tree.ModelSortPageableTreeExample.java
License:Open Source License
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); GridLayout layout = new GridLayout(1, false); shell.setLayout(layout);//from ww w . ja v a 2s . c om final List<Team> items = createList(); // 1) Create pageable tree with 10 items per page // This SWT Component create internally a SWT Tree+JFace TreeViewer int pageSize = 10; PageableTree pageableTree = new PageableTree(shell, SWT.BORDER, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, pageSize); pageableTree.setLayoutData(new GridData(GridData.FILL_BOTH)); // 2) Initialize the tree viewer + SWT Tree TreeViewer viewer = pageableTree.getViewer(); viewer.setContentProvider(TeamContentProvider.getInstance()); viewer.setLabelProvider(new LabelProvider()); Tree tree = viewer.getTree(); tree.setHeaderVisible(true); tree.setLinesVisible(true); // 3) Create Tree columns with sort of paginated list. createColumns(viewer); // 3) Set current page to 0 to refresh the tree pageableTree.setPageLoader(new PageResultLoaderList<Team>(items)); pageableTree.setCurrentPage(0); shell.setSize(400, 250); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.nebula.widgets.richtext.example.JFaceViewerIntegrationExample.java
License:Open Source License
public void createControls(Composite parent) { parent.setLayout(new FillLayout(SWT.VERTICAL)); final TableViewer viewer = new TableViewer(parent, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); viewer.setContentProvider(new ArrayContentProvider()); viewer.getTable().setHeaderVisible(true); viewer.getTable().setLinesVisible(true); TableViewerColumn firstnameColumn = new TableViewerColumn(viewer, SWT.NONE); firstnameColumn.getColumn().setText("Firstname"); firstnameColumn.getColumn().setWidth(100); firstnameColumn.setLabelProvider(new FirstNameLabelProvider()); firstnameColumn.setEditingSupport(new FirstNameEditingSupport(viewer)); TableViewerColumn lastnameColumn = new TableViewerColumn(viewer, SWT.NONE); lastnameColumn.getColumn().setText("Lastname"); lastnameColumn.getColumn().setWidth(100); // lastnameColumn.setLabelProvider(new LastNameLabelProvider()); lastnameColumn.setLabelProvider(new RichTextCellLabelProvider<Person>(viewer.getControl()) { @Override/* w w w. ja va 2s .c o m*/ public String getRichText(Person element) { if (element.getLastName().equals("Simpson")) { return "<em>" + element.getLastName() + "</em>"; } else if (element.getLastName().equals("Smithers")) { return "<span style=\"background-color:rgb(255, 0, 0)\"><strong><s><u>" + element.getLastName() + "</u></s></strong></span>"; } return element.getLastName(); } }); lastnameColumn.setEditingSupport(new LastNameEditingSupport(viewer)); TableViewerColumn marriedColumn = new TableViewerColumn(viewer, SWT.NONE); marriedColumn.getColumn().setText("Married"); marriedColumn.getColumn().setWidth(60); marriedColumn.setLabelProvider(new MarriedLabelProvider()); marriedColumn.setEditingSupport(new MarriedEditingSupport(viewer)); TableViewerColumn genderColumn = new TableViewerColumn(viewer, SWT.NONE); genderColumn.getColumn().setText("Gender"); genderColumn.getColumn().setWidth(80); genderColumn.setLabelProvider(new GenderLabelProvider()); genderColumn.setEditingSupport(new GenderEditingSupport(viewer)); TableViewerColumn descColumn = new TableViewerColumn(viewer, SWT.NONE); descColumn.getColumn().setText("Description"); descColumn.getColumn().setWidth(200); // descColumn.setLabelProvider(new DescriptionLabelProvider()); descColumn.setLabelProvider(new RichTextCellLabelProvider<Person>(viewer.getControl()) { @Override public String getRichText(Person element) { return element.getDescription(); } }); descColumn.setEditingSupport(new DescriptionEditingSupport(viewer)); viewer.setInput(PersonService.getPersons(10)); // add a tree TreeViewer treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); treeViewer.setContentProvider(new TreeViewerContentProvider()); treeViewer.setLabelProvider(new RichTextCellLabelProvider<File>(treeViewer.getControl()) { @Override public String getRichText(File file) { String name = file.getName(); String result = name.isEmpty() ? file.getPath() : name; if (file.isDirectory()) { result = "<strong><u>" + result + "</u></strong>"; } return result; } }); treeViewer.setInput(File.listRoots()); }
From source file:org.eclipse.oomph.p2.internal.ui.ProfileDetailsComposite.java
License:Open Source License
private void createDefinitionTab(TabFolder tabFolder) { TabItem tabItem = new TabItem(tabFolder, SWT.NONE); tabItem.setText("Definition"); final TreeViewer viewer = new TreeViewer(tabFolder, SWT.NONE); viewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); viewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); tabItem.setControl(viewer.getTree()); UIUtil.asyncExec(new Runnable() { public void run() { ProfileDefinition definition = profile.getDefinition(); ItemProvider requirements = new ItemProvider(adapterFactory, "Requirements", P2UIPlugin.INSTANCE.getSWTImage("full/obj16/ProfileDefinition"), definition.getRequirements()); ItemProvider repositories = new ItemProvider(adapterFactory, "Repositories", P2UIPlugin.INSTANCE.getSWTImage("full/obj16/RepositoryList"), definition.getRepositories()); ItemProvider input = new ItemProvider(adapterFactory); input.getChildren().add(requirements); input.getChildren().add(repositories); viewer.setInput(input);//from w ww. j a v a 2 s .com viewer.expandAll(); } }); }