List of usage examples for org.eclipse.jface.viewers TreeViewer setContentProvider
@Override public void setContentProvider(IContentProvider provider)
TreeViewer
. From source file:org.eclipse.bpel.common.wsdl.wizards.UriResourceImportWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(2, false); container.setLayout(layout);/* w ww. j a v a 2 s . com*/ container.setLayoutData(new GridData(GridData.FILL_BOTH)); // WSDL field Label l = new Label(container, SWT.NONE); l.setText(this.shortName + " URI:"); GridData layoutData = new GridData(); layoutData.verticalIndent = 6; layoutData.horizontalSpan = 2; l.setLayoutData(layoutData); final Text text = new Text(container, SWT.BORDER | SWT.SINGLE); text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); text.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { String uri = text.getText(); if (uri.trim().length() == 0) return; try { UriResourceImportWizardPage.this.uri = UriAndUrlHelper.urlToUri(uri); } catch (Exception e1) { UriResourceImportWizardPage.this.uri = null; } validate(); } }); if (this.initialUri != null) text.setText(this.initialUri); Button b = new Button(container, SWT.PUSH); b.setText("Browse..."); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } @Override public void widgetSelected(SelectionEvent e) { FileDialog dlg = new FileDialog(text.getShell(), SWT.SINGLE); dlg.setFilterNames(UriResourceImportWizardPage.this.filterNames); dlg.setFilterExtensions(UriResourceImportWizardPage.this.filterExtensions); String path = dlg.open(); if (path != null) { String uri = new File(path).toURI().toString(); text.setText(uri); text.setSelection(uri.length()); text.setFocus(); } } }); // Container selection l = new Label(container, SWT.NONE); l.setText("Select the container in which the " + this.shortName + " will be imported."); layoutData = new GridData(); layoutData.verticalIndent = 10; layoutData.horizontalSpan = 2; l.setLayoutData(layoutData); TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.V_SCROLL | SWT.V_SCROLL | SWT.BORDER); layoutData = new GridData(GridData.FILL_BOTH); layoutData.heightHint = 200; layoutData.horizontalSpan = 2; viewer.getTree().setLayoutData(layoutData); viewer.setLabelProvider(new WorkbenchLabelProvider()); viewer.setContentProvider(new WorkbenchContentProvider() { @Override public Object[] getChildren(Object o) { if (o instanceof IContainer) { IResource[] members; try { members = ((IContainer) o).members(); } catch (Exception e) { return new Object[0]; } ArrayList<IResource> results = new ArrayList<IResource>(); for (IResource member : members) { if (member instanceof IContainer) results.add(member); } return results.toArray(); } return new Object[0]; } }); // Set page input IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); viewer.setInput(root); if (this.outputContainer != null) { viewer.setSelection(new StructuredSelection(this.outputContainer), true); viewer.expandToLevel(this.outputContainer, 1); viewer.reveal(this.outputContainer.getProject()); } viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection s = (IStructuredSelection) event.getSelection(); if (!s.isEmpty()) UriResourceImportWizardPage.this.outputContainer = (IContainer) s.getFirstElement(); else UriResourceImportWizardPage.this.outputContainer = null; validate(); } }); text.setFocus(); setControl(container); }
From source file:org.eclipse.bpel.ui.wizards.NewBpelFilePortTypePage.java
License:Open Source License
@Override public void createControl(Composite parent) { // Create the container final Composite container = new Composite(parent, SWT.NONE); container.setFont(parent.getFont()); initializeDialogUnits(parent);/*from ww w. j av a2 s. co m*/ container.setLayout(new GridLayout(2, false)); container.setLayoutData(new GridData(GridData.FILL_BOTH)); setControl(container); // WSDL location (as an URL) Label l = new Label(container, SWT.NONE); l.setText("WSDL URL:"); l.setToolTipText("The URL of the service description (WSDL)"); l.setLayoutData(new GridData(SWT.TOP, SWT.DEFAULT, false, false)); final Text wsdlUrlText = new Text(container, SWT.SINGLE | SWT.BORDER); wsdlUrlText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); wsdlUrlText.setToolTipText("Press the 'Tab' key to parse this WSDL"); if (this.wsdlUrl != null) wsdlUrlText.setText(this.wsdlUrl); wsdlUrlText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { NewBpelFilePortTypePage.this.wsdlUrl = ((Text) e.widget).getText(); updateStatus(); } }); final ControlDecoration wsdlTextDecoration = new ControlDecoration(wsdlUrlText, SWT.LEFT | SWT.BOTTOM); wsdlTextDecoration .setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_INFO_TSK)); wsdlTextDecoration.setDescriptionText(wsdlUrlText.getToolTipText()); wsdlTextDecoration.hide(); // Helpers to browse for WSDL files new Label(container, SWT.NONE); // Bad but so convenient! Composite subContainer = new Composite(container, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginHeight = 0; layout.marginWidth = 0; layout.marginBottom = 13; subContainer.setLayout(layout); subContainer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); new Label(subContainer, SWT.NONE).setImage(this.fileSystemImg); Link browseFileSystemLink = new Link(subContainer, SWT.NONE); browseFileSystemLink.setText("<A>Browse the file system...</A>"); new Label(subContainer, SWT.NONE).setImage(this.workspaceImg); Link browseWorkspaceLink = new Link(subContainer, SWT.NONE); browseWorkspaceLink.setText("<A>Browse the workspace...</A>"); new Label(subContainer, SWT.NONE).setImage(this.parseImg); Link parseWsdlLink = new Link(subContainer, SWT.NONE); parseWsdlLink.setText("<A>Parse the given WSDL</A>"); // Port type to use for the generation l = new Label(container, SWT.NONE); l.setText("Service Contract:"); l.setToolTipText("The port type (service contract) to implement with BPEL"); final ComboViewer portTypeCombo = new ComboViewer(container, SWT.BORDER | SWT.DROP_DOWN | SWT.READ_ONLY); portTypeCombo.getCombo().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); portTypeCombo.setContentProvider(new ArrayContentProvider()); portTypeCombo.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { QName name = ((PortType) element).getQName(); return name.getLocalPart() + " - " + name.getNamespaceURI(); } }); // The button to import the WSDL new Label(container, SWT.NONE); Button importButton = new Button(container, SWT.CHECK); importButton.setText("Import the WSDL file with its dependencies"); importButton.setSelection(this.importWsdl); importButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { widgetDefaultSelected(e); } @Override public void widgetDefaultSelected(SelectionEvent e) { NewBpelFilePortTypePage.this.importWsdl = ((Button) e.widget).getSelection(); } }); // The viewer for a quick overview of the operations subContainer = new Composite(container, SWT.NONE); layout = new GridLayout(); layout.marginWidth = 0; layout.marginTop = 11; subContainer.setLayout(layout); GridData layoutData = new GridData(GridData.FILL_BOTH); layoutData.horizontalSpan = 2; subContainer.setLayoutData(layoutData); l = new Label(subContainer, SWT.NONE); l.setText("Select a service contract (port type) and see its operations below."); final TreeViewer operationsViewer = new TreeViewer(subContainer, SWT.BORDER); operationsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); operationsViewer.setLabelProvider(new LabelProvider() { @Override public Image getImage(Object element) { Image result = null; if (element instanceof Operation) result = BPELUIPlugin.INSTANCE.getImage(IBPELUIConstants.ICON_OPERATION_16); else if (element instanceof Input) result = BPELUIPlugin.INSTANCE.getImage(IBPELUIConstants.ICON_INPUT_16); else if (element instanceof Output) result = BPELUIPlugin.INSTANCE.getImage(IBPELUIConstants.ICON_OUTPUT_16); else if (element instanceof Fault) result = BPELUIPlugin.INSTANCE.getImage(IBPELUIConstants.ICON_FAULT_16); return result; } @Override public String getText(Object element) { String result = ""; if (element instanceof Operation) { result = ((Operation) element).getName(); result = result == null || result.trim().length() == 0 ? "?" : result; } else if (element instanceof Input) { result = ((Input) element).getName(); result = result == null || result.trim().length() == 0 ? "Input" : result; } else if (element instanceof Output) { result = ((Output) element).getName(); result = result == null || result.trim().length() == 0 ? "Output" : result; } else if (element instanceof Fault) { result = ((Fault) element).getName(); result = result == null || result.trim().length() == 0 ? "Fault" : result; } return result; } }); operationsViewer.setContentProvider(new ITreeContentProvider() { @Override public void dispose() { // nothing } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // nothing } @Override public Object[] getElements(Object inputElement) { return ((PortType) inputElement).getOperations().toArray(); } @SuppressWarnings("unchecked") @Override public Object[] getChildren(Object pa) { List<Object> result = new ArrayList<Object>(); if (pa instanceof Operation) { Operation op = (Operation) pa; if (op.getInput() != null) result.add(op.getInput()); if (op.getOutput() != null) result.add(op.getOutput()); if (op.getFaults() != null) result.addAll(op.getFaults().values()); } return result.toArray(); } @Override public Object getParent(Object element) { return null; } @Override public boolean hasChildren(Object element) { return element instanceof Operation; } }); // Listeners portTypeCombo.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { NewBpelFilePortTypePage.this.portType = (PortType) ((IStructuredSelection) portTypeCombo .getSelection()).getFirstElement(); operationsViewer.setInput(NewBpelFilePortTypePage.this.portType); operationsViewer.refresh(); if (NewBpelFilePortTypePage.this.portType != null) { if (NewBpelFilePortTypePage.this.portType.getOperations().size() < 4) operationsViewer.expandAll(); else operationsViewer.expandToLevel(2); } updateStatus(); } }); // WSDL parsing final List<PortType> portTypes = new ArrayList<PortType>(); final IRunnableWithProgress wsdlParsingOperation = new IRunnableWithProgress() { @Override public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask("Parsing the WSDL...", 5); try { portTypes.clear(); monitor.worked(1); URI emfUri = URI.createURI(NewBpelFilePortTypePage.this.wsdlUrl); Collection<Definition> definitions = WsdlParser.loadAllWsdlDefinitions(emfUri, WsdlParser.createBasicResourceSetForWsdl()); for (Definition def : definitions) { for (Object o : def.getPortTypes().values()) portTypes.add((PortType) o); } monitor.worked(3); } finally { monitor.done(); } } }; wsdlUrlText.addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if (NewBpelFilePortTypePage.this.wsdlUrl == null) return; try { // Parse getContainer().run(true, false, wsdlParsingOperation); // Update the UI portTypeCombo.setInput(portTypes); portTypeCombo.refresh(); if (portTypes.size() > 0) portTypeCombo.getCombo().select(0); portTypeCombo.getCombo().notifyListeners(SWT.Selection, new Event()); } catch (InvocationTargetException e1) { BPELUIPlugin.log(e1); } catch (InterruptedException e1) { BPELUIPlugin.log(e1); } } }); wsdlUrlText.addFocusListener(new FocusListener() { @Override public void focusLost(FocusEvent e) { wsdlTextDecoration.hide(); } @Override public void focusGained(FocusEvent e) { wsdlTextDecoration.show(); } }); // "Browse" call-backs browseFileSystemLink.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { widgetDefaultSelected(e); } @Override public void widgetDefaultSelected(SelectionEvent e) { FileDialog dlg = new FileDialog(getShell()); dlg.setFilterExtensions(new String[] { "*.wsdl" }); dlg.setFilterNames(new String[] { "WSDL (*.wsdl)" }); dlg.setText("Select a service description (WSDL)."); String path = dlg.open(); if (path != null) { File f = new File(path); wsdlUrlText.setText(f.toURI().toString()); wsdlUrlText.notifyListeners(SWT.Traverse, new Event()); } } }); parseWsdlLink.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { wsdlUrlText.notifyListeners(SWT.Traverse, new Event()); } @Override public void widgetDefaultSelected(SelectionEvent e) { wsdlUrlText.notifyListeners(SWT.Traverse, new Event()); } }); browseWorkspaceLink.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { widgetDefaultSelected(e); } @Override public void widgetDefaultSelected(SelectionEvent e) { // Prepare the initial selection IFile currentWsdl = null; if (NewBpelFilePortTypePage.this.wsdlUrl != null) { try { java.net.URI uri = UriAndUrlHelper.urlToUri(NewBpelFilePortTypePage.this.wsdlUrl); File f = new File(uri); IPath path = new Path(f.getAbsolutePath()); currentWsdl = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path); } catch (Exception e1) { BPELUIPlugin.log(e1, IStatus.WARNING); } } // Open a dialog that only shows the WSDL files in the workspace - and their ancestors/containers final List<IFile> workspaceWsdlFiles = getFiles("wsdl", Arrays.asList(ResourcesPlugin.getWorkspace().getRoot())); ElementTreeSelectionDialog dlg = new ElementTreeSelectionDialog(getShell(), new WorkbenchLabelProvider(), new WorkbenchContentProvider() { @Override public Object[] getChildren(Object element) { Object[] result = super.getChildren(element); if (result == null) result = new Object[0]; List<Object> filteredResult = new ArrayList<Object>(); for (Object o : result) { if (o instanceof IFile && workspaceWsdlFiles.contains(o)) filteredResult.add(o); else if (o instanceof IContainer) { IPath containerPath = ((IContainer) o).getFullPath(); for (IFile wsdlFile : workspaceWsdlFiles) { if (containerPath.isPrefixOf(wsdlFile.getFullPath())) { filteredResult.add(o); break; } } } } return filteredResult.toArray(); } }); dlg.setInput(ResourcesPlugin.getWorkspace().getRoot()); dlg.setTitle("WSDL Selection"); dlg.setMessage("Select a WSDL file located in the workspace."); if (currentWsdl != null) dlg.setInitialElementSelections(Arrays.asList(currentWsdl)); // Open it and update the text widget if necessary if (dlg.open() == Window.OK) { IFile selectedFile = (IFile) dlg.getResult()[0]; wsdlUrlText.setText(selectedFile.getLocation().toFile().toURI().toString()); wsdlUrlText.notifyListeners(SWT.Traverse, new Event()); } } }); // Initialize the port type... if (this.portType != null) portTypeCombo.setSelection(new StructuredSelection(this.portType)); else if (portTypeCombo.getCombo().getItemCount() > 0) { portTypeCombo.getCombo().select(0); portTypeCombo.getCombo().notifyListeners(SWT.Selection, new Event()); } // ... and the page's state updateStatus(); if (getErrorMessage() != null) { setPageComplete(false); setErrorMessage(null); } }
From source file:org.eclipse.cdt.arduino.ui.internal.LibraryTree.java
License:Open Source License
public LibraryTree(Composite parent) { super(parent, SWT.CHECK | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, new LibPatternFilter(), true); TreeViewer viewer = getViewer(); viewer.setContentProvider(new ContentProvider()); viewer.setLabelProvider(new LabelProvider()); Tree tree = viewer.getTree();//from w w w . j ava 2 s . c om tree.setHeaderVisible(true); TreeColumn column1 = new TreeColumn(tree, SWT.LEFT); column1.setText("Library"); column1.setWidth(200); TreeColumn column2 = new TreeColumn(tree, SWT.LEFT); column2.setText("Version"); column2.setWidth(100); TreeColumn column3 = new TreeColumn(tree, SWT.LEFT); column3.setText("Description"); column3.setWidth(300); }
From source file:org.eclipse.cdt.autotools.ui.editors.outline.AutoconfContentOutlinePage.java
License:Open Source License
public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); viewer.setContentProvider(new AutoconfContentProvider(editor)); viewer.setLabelProvider(new AutoconfLabelProvider()); viewer.addSelectionChangedListener(this); if (input != null) viewer.setInput(input);/*www. j a v a2 s. com*/ }
From source file:org.eclipse.cdt.cpp.ui.internal.editor.contentoutliner.CppContentOutlinePage.java
License:Open Source License
public void createControl(Composite parent) { super.createControl(parent); CppPlugin plugin = CppPlugin.getDefault(); DataStore ds = plugin.getCurrentDataStore(); TreeViewer treeViewer = getTreeViewer(); treeViewer.setLabelProvider(/* www .j a v a 2 s .co m*/ new DataElementLabelProvider(plugin.getImageRegistry(), CppActionLoader.getInstance())); DataElementTreeContentProvider provider = new DataElementTreeContentProvider(); provider.setProperty(ds.getContentsRelation()); treeViewer.setContentProvider(provider); IAdaptable adp = getContentOutline(_input); if (adp != null) { setViewInput((DataElement) adp); } treeViewer.getTree().addListener(SWT.Expand, this); ds.getDomainNotifier().addDomainListener(this); getControl().addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { handleKeyPressed(e); } }); _api = plugin.getModelInterface(); CppProjectNotifier notifier = _api.getProjectNotifier(); notifier.addProjectListener(this); // menu // add menu handling MenuManager menuMgr = new MenuManager("#PopupMenu"); menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(this); Menu menu = menuMgr.createContextMenu(treeViewer.getTree()); treeViewer.getTree().setMenu(menu); }
From source file:org.eclipse.cdt.internal.autotools.ui.editors.automake.AutomakefileContentOutlinePage.java
License:Open Source License
public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); viewer.setContentProvider(new AutomakefileContentProvider()); viewer.setLabelProvider(new AutomakefileLabelProvider()); if (fInput != null) { viewer.setInput(fInput);/* www .j av a 2 s. c o m*/ } // MenuManager manager= new MenuManager("#MakefileOutlinerContext"); //$NON-NLS-1$ // manager.setRemoveAllWhenShown(true); // manager.addMenuListener(new IMenuListener() { // public void menuAboutToShow(IMenuManager m) { // contextMenuAboutToShow(m); // } // }); // Control tree = viewer.getControl(); // Menu menu = manager.createContextMenu(tree); // tree.setMenu(menu); // // viewer.addDoubleClickListener(new IDoubleClickListener() { // /* (non-Javadoc) // * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent) // */ // public void doubleClick(DoubleClickEvent event) { // if (fOpenIncludeAction != null) { // fOpenIncludeAction.run(); // } // } // }); // // IPageSite site= getSite(); // site.registerContextMenu(MakeUIPlugin.getPluginId() + ".outline", manager, viewer); //$NON-NLS-1$ // site.setSelectionProvider(viewer); }
From source file:org.eclipse.cdt.internal.autotools.ui.editors.automake.MakefileContentOutlinePage.java
License:Open Source License
public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); viewer.setContentProvider(new MakefileContentProvider()); viewer.setLabelProvider(new MakefileLabelProvider()); if (fInput != null) { viewer.setInput(fInput);/* w w w . j av a 2 s .co m*/ } MenuManager manager = new MenuManager("#MakefileOutlinerContext"); //$NON-NLS-1$ manager.setRemoveAllWhenShown(true); manager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager m) { contextMenuAboutToShow(m); } }); Control tree = viewer.getControl(); Menu menu = manager.createContextMenu(tree); tree.setMenu(menu); viewer.addDoubleClickListener(new IDoubleClickListener() { /* (non-Javadoc) * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent) */ public void doubleClick(DoubleClickEvent event) { if (fOpenIncludeAction != null) { fOpenIncludeAction.run(); } } }); IPageSite site = getSite(); //FIXME: should pluginid below be MakeUIPlugin id? site.registerContextMenu(AutotoolsUIPlugin.getPluginId() + ".outline", manager, viewer); //$NON-NLS-1$ site.setSelectionProvider(viewer); }
From source file:org.eclipse.cdt.internal.ui.cview.CView.java
License:Open Source License
/** * Sets the content provider for the viewer. *//*from w w w . ja v a 2s . co m*/ void initContentProvider(TreeViewer viewer) { IContentProvider provider = createContentProvider(); viewer.setContentProvider(provider); }
From source file:org.eclipse.cdt.internal.ui.search.CSearchViewPage.java
License:Open Source License
@Override protected void configureTreeViewer(TreeViewer viewer) { contentProvider = new CSearchTreeContentProvider(this); viewer.setComparator(new SearchViewerComparator()); viewer.setContentProvider((CSearchTreeContentProvider) contentProvider); CSearchTreeLabelProvider innerLabelProvider = new CSearchTreeLabelProvider(this); ColoringLabelProvider labelProvider = new ColoringLabelProvider(innerLabelProvider); viewer.setLabelProvider(labelProvider); }
From source file:org.eclipse.cdt.internal.ui.search.PDOMSearchViewPage.java
License:Open Source License
@Override protected void configureTreeViewer(TreeViewer viewer) { contentProvider = new PDOMSearchTreeContentProvider(this); viewer.setComparator(new SearchViewerComparator()); viewer.setContentProvider((PDOMSearchTreeContentProvider) contentProvider); PDOMSearchTreeLabelProvider innerLabelProvider = new PDOMSearchTreeLabelProvider(this); ColoringLabelProvider labelProvider = new ColoringLabelProvider(innerLabelProvider); viewer.setLabelProvider(labelProvider); }