List of usage examples for org.eclipse.jface.viewers TreeViewer getTree
public Tree getTree()
From source file:org.eclipse.birt.report.designer.ui.lib.explorer.LibraryExplorerTreeViewPage.java
License:Open Source License
/** * Configures the tree viewer./* w w w.j a v a 2 s . c om*/ * * @param treeViewer * the tree viewer to config. */ protected void configTreeViewer(final TreeViewer treeViewer) { ViewsTreeProvider provider = (ViewsTreeProvider) ElementAdapterManager.getAdapter(this, ViewsTreeProvider.class); if (provider == null) provider = new LibraryExplorerProvider(); treeViewer.setContentProvider(provider); treeViewer.setLabelProvider(provider); // Adds drag and drop support int ops = DND.DROP_COPY | DND.DROP_LINK; Transfer[] transfers = new Transfer[] { TemplateTransfer.getInstance() }; treeViewer.addDragSupport(ops, transfers, new LibraryDragListener(treeViewer)); treeViewer.getControl().addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { } public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.F5) { treeViewer.refresh(); } } }); treeViewer.getTree().addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { Object input = treeViewer.getInput(); if (input instanceof Object[]) { Object[] array = (Object[]) input; for (int i = 0; i < array.length; i++) { if (array[i] instanceof ResourceEntry) ((ResourceEntry) array[i]).dispose(); } } } }); TreeListener libraryTreeListener = new TreeListener() { public void treeCollapsed(TreeEvent e) { Item item = (Item) e.item; if (libraryBackup != null) libraryBackup.updateCollapsedStatus(treeViewer, item.getData()); } public void treeExpanded(TreeEvent e) { Item item = (Item) e.item; if (libraryBackup != null) libraryBackup.updateExpandedStatus(treeViewer, item.getData()); } }; treeViewer.getTree().addTreeListener(libraryTreeListener); treeViewer.addDoubleClickListener(new IDoubleClickListener() { /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org * .eclipse.jface.viewers.DoubleClickEvent) */ public void doubleClick(DoubleClickEvent event) { handleDoubleClick(event); } }); treeViewer.addOpenListener(new IOpenListener() { /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org * .eclipse.jface.viewers.DoubleClickEvent) */ public void open(OpenEvent event) { try { handleOpen(event); } catch (IOException e) { ExceptionUtil.handle(e); } } }); }
From source file:org.eclipse.birt.report.designer.ui.lib.explorer.LibraryExplorerTreeViewPage.java
License:Open Source License
public void elementValidated(DesignElementHandle targetElement, ValidationEvent ev) { TreeViewer treeViewer = getTreeViewer(); if (treeViewer != null && !treeViewer.getTree().isDisposed()) { treeViewer.refresh();//from w ww . jav a2 s . c o m treeViewer.setInput(getRootEntries()); handleTreeViewerRefresh(); } }
From source file:org.eclipse.birt.report.designer.ui.lib.explorer.LibraryExplorerTreeViewPage.java
License:Open Source License
public void refreshRoot() { TreeViewer treeViewer = getTreeViewer(); if (treeViewer != null && !treeViewer.getTree().isDisposed()) { ISelection selection = getSelection(); treeViewer.setSelection(null);/*from w w w .j a v a 2 s. co m*/ treeViewer.setInput(getRootEntries()); handleTreeViewerRefresh(); if (selection != null) { setSelection(selection); } } }
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);//from w w w . ja v a 2 s . c o m 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 w w w.j a v a 2s . com 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.buildship.ui.view.execution.ExecutionPage.java
License:Open Source License
private void registerContextMenu(PageSite pageSite) { TreeViewer treeViewer = getPageControl().getViewer(); MenuManager menuManager = new MenuManager(); menuManager.setRemoveAllWhenShown(true); menuManager.addMenuListener(createContextMenuListener(treeViewer)); Menu contextMenu = menuManager.createContextMenu(treeViewer.getTree()); treeViewer.getTree().setMenu(contextMenu); pageSite.getViewSite().registerContextMenu(menuManager, treeViewer); }
From source file:org.eclipse.buildship.ui.view.task.UiContributionManager.java
License:Open Source License
private void registerContextMenu() { TreeViewer treeViewer = this.taskView.getTreeViewer(); MenuManager menuManager = new MenuManager(); menuManager.setRemoveAllWhenShown(true); menuManager.addMenuListener(new ActionShowingContextMenuListener(this.taskView, this.contextMenuActions, this.contextMenuActionsPrecededBySeparator, this.contextMenuActionsSucceededBySeparator)); Menu contextMenu = menuManager.createContextMenu(treeViewer.getTree()); treeViewer.getTree().setMenu(contextMenu); this.taskView.getViewSite().registerContextMenu(menuManager, treeViewer); }
From source file:org.eclipse.cdt.arduino.ui.internal.downloads.SelectLibrariesDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite comp = new Composite(parent, SWT.NONE); comp.setLayoutData(new GridData(GridData.FILL_BOTH)); comp.setLayout(new GridLayout()); libraryTree = new LibraryTree(comp); libraryTree.setLayoutData(new GridData(GridData.FILL_BOTH)); libraryTree.setIncludePlatforms(false); libraryTree.getViewer().setInput(libraries); FormTextHoverManager hoverManager = new FormTextHoverManager() { @Override//ww w.j a v a2 s . c o m protected void computeInformation() { TreeViewer viewer = libraryTree.getViewer(); Tree tree = viewer.getTree(); TreeItem item = tree.getItem(getHoverEventLocation()); if (item != null) { Object data = item.getData(); if (data instanceof ArduinoLibrary) { ArduinoLibrary library = (ArduinoLibrary) data; setInformation(library.toFormText(), item.getBounds()); } } else { setInformation(null, null); } } }; hoverManager.install(libraryTree.getViewer().getTree()); applyDialogFont(comp); return comp; }
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(); tree.setHeaderVisible(true);/*w w w . ja v a 2 s.c o m*/ 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.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(//from w ww . ja va 2s.c o 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); }