List of usage examples for org.eclipse.jface.viewers TreeViewer TreeViewer
public TreeViewer(Composite parent, int style)
From source file:com.cloudbees.eclipse.ui.views.CBTreeView.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { this.viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); this.viewer.setContentProvider(new CBContentProvider(this)); this.viewer.setLabelProvider(new CBLabelProvider(this)); this.viewer.setSorter(new NameSorter()); this.viewer.setInput(getViewSite()); for (ICBTreeProvider provider : this.providers) { provider.setViewer(this.viewer); getSite().setSelectionProvider(this.viewer); }/* w ww . j a v a2s . c o m*/ this.viewer.addOpenListener(new IOpenListener() { public void open(final OpenEvent event) { ISelection sel = event.getSelection(); if (sel instanceof TreeSelection) { Object el = ((TreeSelection) sel).getFirstElement(); //boolean opened = false; for (ICBTreeProvider provider : CBTreeView.this.providers) { //opened |= ; if (provider.open(el)) { break; } } /* if (!opened) { boolean exp = CBTreeView.this.viewer.getExpandedState(el); if (exp) { CBTreeView.this.viewer.collapseToLevel(el, 1); } else { CBTreeView.this.viewer.expandToLevel(el, 1); } } */ } } }); MenuManager popupMenu = new MenuManager(); popupMenu.setRemoveAllWhenShown(true); popupMenu.addMenuListener(new IMenuListener() { public void menuAboutToShow(final IMenuManager mgr) { } }); IActionBars bars = getViewSite().getActionBars(); IMenuManager pullDownMenu = bars.getMenuManager(); IToolBarManager toolbarMenu = bars.getToolBarManager(); for (ICBTreeProvider provider : this.providers) { for (CBTreeContributor contributor : provider.getContributors()) { if (contributor.isPopup()) { contributor.contributeTo(popupMenu); } if (contributor.isPullDown()) { contributor.contributeTo(pullDownMenu); } if (contributor.isToolbar()) { contributor.contributeTo(toolbarMenu); } } } pullDownMenu.add(new CBTreeSeparator(SeparatorLocation.PULL_DOWN)); pullDownMenu.add(this.showConsoleAction); pullDownMenu.add(new CBTreeSeparator(SeparatorLocation.PULL_DOWN)); pullDownMenu.add(this.configureSshAction); pullDownMenu.add(new CBTreeSeparator(SeparatorLocation.PULL_DOWN)); pullDownMenu.add(new ActiveAccountAndRegionContributionItem(true)); pullDownMenu.addMenuListener(statusUpdateListener); //pullDownMenu.add(this.configureAccountAction); Menu menu = popupMenu.createContextMenu(this.viewer.getTree()); this.viewer.getTree().setMenu(menu); getSite().registerContextMenu(popupMenu, this.viewer); //Not loading here anymore as there is now improved loading workflow //CloudBeesUIPlugin.getDefault().reloadAllJenkins(false); }
From source file:com.contrastsecurity.ide.eclipse.ui.internal.model.EventsTab.java
License:Open Source License
public EventsTab(Composite parent, int style) { super(parent, style); TreeColumnLayout layout = new TreeColumnLayout(); getControl().setLayout(layout);/*w w w . j a v a 2s . co m*/ viewer = new TreeViewer(getControl(), SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); viewer.getTree().setLayoutData(gd); TreeViewerColumn typeColumn = new TreeViewerColumn(viewer, SWT.NONE); layout.setColumnData(typeColumn.getColumn(), new ColumnWeightData(400)); viewer.setLabelProvider(new EventLabelProvider(viewer)); viewer.setContentProvider(new EventContentProvider()); viewer.getTree().addMouseListener(new MouseListener() { @Override public void mouseUp(MouseEvent e) { } @Override public void mouseDown(MouseEvent e) { } @Override public void mouseDoubleClick(MouseEvent e) { ISelection sel = viewer.getSelection(); if (sel instanceof IStructuredSelection) { Object selected = ((IStructuredSelection) sel).getFirstElement(); if (selected instanceof EventItem) { EventItem eventItem = (EventItem) selected; if (eventItem.isStacktrace()) { final String str = eventItem.getValue(); final String typeName; final int lineNumber; try { typeName = getTypeName(str); lineNumber = getLineNumber(str); } catch (CoreException e1) { ErrorDialog.openError(ContrastUIActivator.getActiveWorkbenchShell(), "Error", "Stacktrace Error", e1.getStatus()); return; } Job search = new Job("Searching for code in workspace...") { @Override protected IStatus run(IProgressMonitor monitor) { Set<IType> result = null; try { if (str.contains(".java")) { result = findTypeInWorkspace(typeName); searchCompleted(result, typeName, lineNumber, null); } else { List<IFile> resultFile = findFileInWorkspace(typeName); searchCompleted(resultFile, typeName, lineNumber, null); } } catch (CoreException e) { searchCompleted(null, typeName, lineNumber, e.getStatus()); } return Status.OK_STATUS; } }; search.schedule(); } } } } }); }
From source file:com.density.ezsbt.views.SbtView.java
License:Apache License
/** * This is a callback that will allow us to create the viewer and initialize * it.//from w w w . j a v a 2 s .c om */ public void createPartControl(Composite parent) { viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); drillDownAdapter = new DrillDownAdapter(viewer); viewer.setContentProvider(viewContentProvider); viewer.setLabelProvider(new ViewLabelProvider()); viewer.setSorter(new NameSorter()); viewer.setInput(getViewSite()); // Create the help context id for the viewer's control PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), PluginConstants.CONTROL_ID); makeActions(); addKeyListener(); addResourceChangeListener(); addDragAndDrop(); hookContextMenu(); hookDoubleClickAction(); contributeToActionBars(); }
From source file:com.drgarbage.ast.ASTPanel.java
License:Apache License
/** * Constructs a control panel with a tree object.. * @param parent parent a composite control which will be the * parent of the new instance (cannot be null) * @param style the style of control to construct */// ww w . j a va2 s . co m public ASTPanel(Composite parent, int style) { super(parent, style); GridLayout gridLayout = new GridLayout(); super.setLayout(gridLayout); treeViewer = new TreeViewer(this, SWT.BORDER | SWT.SINGLE | SWT.FILL); gridLayout = new GridLayout(); gridLayout.numColumns = 1; treeViewer.getControl().setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL)); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { /* (non-Javadoc) * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) */ public void selectionChanged(SelectionChangedEvent event) { /* select text in the referenced resource */ ISelection sel = event.getSelection(); if (sel instanceof TreeSelection) { TreeSelection ts = (TreeSelection) sel; Object o = ts.getFirstElement(); if (o != null) { selectedModelElement = (TreeModel) o; ASTNode node = selectedModelElement.getNode(); if (node != null) { editorPart.selectAndReveal(node.getStartPosition(), node.getLength()); } } } } }); treeViewer.setContentProvider(new TreeContentProvider()); treeViewer.setLabelProvider(new ILabelProvider() { /* (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener) */ public void addListener(ILabelProviderListener listener) { } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ public void dispose() { } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String) */ public boolean isLabelProperty(Object element, String property) { return false; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener) */ public void removeListener(ILabelProviderListener listener) { } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object) */ public Image getImage(Object element) { ASTNode n; if (element instanceof TreeModel) { TreeModel tm = (TreeModel) element; n = tm.getNode(); } else { n = (ASTNode) element; } Image i = ASTGraphUtil.getImage(n); return i; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) */ public String getText(Object element) { TreeModel tm = (TreeModel) element; ASTNode n = tm.getNode(); String s = ASTGraphUtil.getNodeDescr(n); return s; } }); MenuManager mm = new MenuManager(); IAction action = new Action(CoreMessages.ASTView_Action_Generate_AST_Graph) { /* (non-Javadoc) * @see org.eclipse.jface.action.Action#run() */ public void run() { if (selectedModelElement != null) { IDirectedGraphExt graph = ASTGraphUtil.createGraphFromASTtree(selectedModelElement); IExternalCommunication comunicationObject = CorePlugin.getExternalCommunication(); if (comunicationObject == null) { String msg = CoreMessages.ERROR_Opening_Graph_in_CFGF_failed + '\n' + CoreMessages.ERROR_CFGF_is_not_installed; Messages.error(msg); return; } String fileName = treeName + "-ast-tree.graph"; comunicationObject.generateDiagramFromGraph(fileName, graph); } } }; action.setImageDescriptor(CoreImg.astview_new_16x16); mm.add(action); Menu menu = mm.createContextMenu(treeViewer.getControl()); treeViewer.getControl().setMenu(menu); /* * Add a resource listener to refresh the content * if the input resource has been modified. */ JavaCore.addPreProcessingResourceChangedListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE); }
From source file:com.drgarbage.bytecodevisualizer.view.OperandStackViewPage.java
License:Apache License
/** * Creates the tree viewer of the operand stack view. * @param parent composite//from w w w . j av a 2 s . com */ void createTreeViewer(Composite parent) { treeViewer = new TreeViewer(parent, SWT.BORDER); Tree tree = treeViewer.getTree(); column = new TreeColumn(tree, SWT.LEFT, 0); column.setMoveable(true); column.setText(BytecodeVisualizerMessages.OpstackBytecodeInstrColumnName); column.setWidth(200); column = new TreeColumn(tree, SWT.LEFT, 1); column.setMoveable(true); column.setText(BytecodeVisualizerMessages.OpstackOffsetColumnName); column.setWidth(40); column3 = new TreeColumn(tree, SWT.RIGHT); column3.setAlignment(SWT.LEFT); column3.setText(BytecodeVisualizerMessages.OpstackBeforeColumnName); column3.setWidth(100); column4 = new TreeColumn(tree, SWT.RIGHT); column4.setAlignment(SWT.LEFT); column4.setText(BytecodeVisualizerMessages.OpstackAfterColumnName); column4.setWidth(100); column5 = new TreeColumn(tree, SWT.RIGHT); column5.setAlignment(SWT.LEFT); column5.setText(BytecodeVisualizerMessages.OpstackDepthColumnName); column5.setWidth(100); column6 = new TreeColumn(tree, SWT.RIGHT); column6.setAlignment(SWT.LEFT); column6.setText(BytecodeVisualizerMessages.OpstackDescriptionColumnName); column6.setWidth(0); /* Description Column is hidden as default */ tree.setHeaderVisible(true); tree.setLinesVisible(true); int order[] = { ColumnIndex.OPCODEMNEMONIC.getIndex(), ColumnIndex.OFFSET.getIndex(), ColumnIndex.OPSTACKBEFORE.getIndex(), ColumnIndex.OPSTACKAFTER.getIndex(), ColumnIndex.OPSTACKDEPTH.getIndex(), ColumnIndex.DESCRIPTION.getIndex() }; tree.setColumnOrder(order); treeViewer.setContentProvider(new TreeViewContentProvider()); treeViewer.setLabelProvider(new TreeTableLabelProvider()); treeViewer.expandAll(); /* selection listener for line synchronization */ treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { /* (non-Javadoc) * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) */ public void selectionChanged(SelectionChangedEvent arg0) { ISelection sel = arg0.getSelection(); if (!sel.isEmpty()) { /* set a mutex to avoid the call back from the editor */ setTreeViewerSelectionMutex(true); TreeSelection treeSel = (TreeSelection) sel; Node n = (Node) treeSel.getFirstElement(); Object o = n.getObject(); if (o instanceof IInstructionLine) { IInstructionLine i = (IInstructionLine) o; editor.selectLineAndRevaluate2(i.getLine()); } if (o instanceof String) { /* use parent of the true, false or switch value nodes */ IInstructionLine i = (IInstructionLine) n.getParent().getObject(); if (i != null) { editor.selectLineAndRevaluate2(i.getLine()); } } } } }); }
From source file:com.dubture.composer.ui.parts.TreePart.java
License:Open Source License
protected StructuredViewer createStructuredViewer(Composite parent, int style, FormToolkit toolkit) { style |= SWT.H_SCROLL | SWT.V_SCROLL; if (toolkit == null) style |= SWT.BORDER;// w w w.j av a2s.c om else style |= toolkit.getBorderStyle(); TreeViewer treeViewer = new TreeViewer(parent, style); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent e) { TreePart.this.selectionChanged((IStructuredSelection) e.getSelection()); } }); treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent e) { TreePart.this.handleDoubleClick((IStructuredSelection) e.getSelection()); } }); return treeViewer; }
From source file:com.dubture.pdt.formatter.internal.ui.preferences.formatter.LineWrappingTabPage.java
License:Open Source License
protected void doCreatePreferences(Composite composite, int numColumns) { fOptionsComposite = composite;/*from www . j ava 2 s. c o m*/ final Group lineWidthGroup = createGroup(numColumns, composite, FormatterMessages.LineWrappingTabPage_general_settings); createNumberPref(lineWidthGroup, numColumns, FormatterMessages.LineWrappingTabPage_width_indent_option_max_line_width, CodeFormatterConstants.FORMATTER_LINE_SPLIT, 0, 9999); createNumberPref(lineWidthGroup, numColumns, FormatterMessages.LineWrappingTabPage_width_indent_option_default_indent_wrapped, CodeFormatterConstants.FORMATTER_CONTINUATION_INDENTATION, 0, 9999); createNumberPref(lineWidthGroup, numColumns, FormatterMessages.LineWrappingTabPage_width_indent_option_default_indent_array, CodeFormatterConstants.FORMATTER_CONTINUATION_INDENTATION_FOR_ARRAY_INITIALIZER, 0, 9999); // createCheckboxPref(lineWidthGroup, numColumns, // FormatterMessages.LineWrappingTabPage_do_not_join_lines, // CodeFormatterConstants.FORMATTER_JOIN_WRAPPED_LINES, TRUE_FALSE); // createCheckboxPref( // lineWidthGroup, // numColumns, // FormatterMessages.LineWrappingTabPage_wrap_outer_expressions_when_nested, // CodeFormatterConstants.FORMATTER_WRAP_OUTER_EXPRESSIONS_WHEN_NESTED, // FALSE_TRUE); fCategoriesViewer = new TreeViewer(composite /*categoryGroup*/, SWT.MULTI | SWT.BORDER | SWT.READ_ONLY | SWT.V_SCROLL); fCategoriesViewer.setContentProvider(new ITreeContentProvider() { public Object[] getElements(Object inputElement) { return ((Collection) inputElement).toArray(); } public Object[] getChildren(Object parentElement) { return ((Category) parentElement).children.toArray(); } public Object getParent(Object element) { return null; } public boolean hasChildren(Object element) { return !((Category) element).children.isEmpty(); } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public void dispose() { } }); fCategoriesViewer.setLabelProvider(new LabelProvider()); fCategoriesViewer.setInput(fCategories); fCategoriesViewer.setExpandedElements(fCategories.toArray()); final GridData gd = createGridData(numColumns, GridData.FILL_BOTH, SWT.DEFAULT); gd.heightHint = fPixelConverter.convertHeightInCharsToPixels(5); fCategoriesViewer.getControl().setLayoutData(gd); fOptionsGroup = createGroup(numColumns, composite, ""); //$NON-NLS-1$ // label "Select split style:" fWrappingStylePolicy = createLabel(numColumns, fOptionsGroup, FormatterMessages.LineWrappingTabPage_wrapping_policy_label_text); // combo SplitStyleCombo fWrappingStyleCombo = new Combo(fOptionsGroup, SWT.SINGLE | SWT.READ_ONLY); SWTUtil.setDefaultVisibleItemCount(fWrappingStyleCombo); fWrappingStyleCombo.setItems(WRAPPING_NAMES_REDUCED); fWrappingStyleCombo.setLayoutData(createGridData(numColumns, GridData.HORIZONTAL_ALIGN_FILL, 0)); // button "Force split" fForceSplit = new Button(fOptionsGroup, SWT.CHECK); String label = FormatterMessages.LineWrappingTabPage_force_split_checkbox_text; fForceSplit.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, numColumns - 1, 1)); fForceSplit.setText(label); fForceSplit.setVisible(true); // button "Wrap before operator" Preference expressionWrapPositionPreference = createCheckboxPref(fOptionsGroup, 1, FormatterMessages.LineWrappingTabPage_binary_expression_wrap_operator, CodeFormatterConstants.FORMATTER_WRAP_BEFORE_BINARY_OPERATOR, FALSE_TRUE); Control control = expressionWrapPositionPreference.getControl(); control.setVisible(false); GridData layoutData = (GridData) control.getLayoutData(); layoutData.exclude = true; layoutData.horizontalAlignment = SWT.BEGINNING; layoutData.horizontalSpan = numColumns - 1; layoutData.grabExcessHorizontalSpace = false; fBinaryExpressionCategory.addPreference(expressionWrapPositionPreference); // since 1.2 // button "Wrap before concat operator" Preference concatWrapPositionPreference = createCheckboxPref(fOptionsGroup, 1, FormatterMessages.LineWrappingTabPage_concat_expression_wrap_operator, CodeFormatterConstants.FORMATTER_WRAP_BEFORE_CONCAT_OPERATOR, FALSE_TRUE); Control control3 = concatWrapPositionPreference.getControl(); control3.setVisible(false); GridData layoutData3 = (GridData) control3.getLayoutData(); layoutData3.exclude = true; layoutData3.horizontalAlignment = SWT.BEGINNING; layoutData3.horizontalSpan = numColumns - 1; layoutData3.grabExcessHorizontalSpace = false; fConcatExpressionCategory.addPreference(concatWrapPositionPreference); // button "Wrap array in arguments" Preference arrayWrapPositionPreference = createCheckboxPref(fOptionsGroup, 1, FormatterMessages.LineWrappingTabPage_wrap_array_in_arguments, CodeFormatterConstants.FORMATTER_WRAP_ARRAY_IN_ARGUMENTS, FALSE_TRUE); Control control2 = arrayWrapPositionPreference.getControl(); control2.setVisible(false); GridData layoutData2 = (GridData) control2.getLayoutData(); layoutData2.exclude = true; layoutData2.horizontalAlignment = SWT.BEGINNING; layoutData2.horizontalSpan = numColumns - 1; layoutData2.grabExcessHorizontalSpace = false; fArrayInitializerExpressionsCategory.addPreference(arrayWrapPositionPreference); // label "Select indentation style:" fIndentStylePolicy = createLabel(numColumns, fOptionsGroup, FormatterMessages.LineWrappingTabPage_indentation_policy_label_text); // combo IndentStyleCombo fIndentStyleCombo = new Combo(fOptionsGroup, SWT.SINGLE | SWT.READ_ONLY); SWTUtil.setDefaultVisibleItemCount(fIndentStyleCombo); fIndentStyleCombo.setItems(INDENT_NAMES); fIndentStyleCombo.setLayoutData(createGridData(numColumns, GridData.HORIZONTAL_ALIGN_FILL, 0)); // selection state object fSelectionState = new SelectionState(); }
From source file:com.ebmwebsourcing.petals.common.extensions.internal.wizards.JavaToWSDLWizardPage.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 ww.j a va2 s .c o m container.setLayoutData(new GridData(GridData.FILL_BOTH)); // Container selection Label l = new Label(container, SWT.NONE); l.setText("Select the Java project that contains the classes."); GridData layoutData = new GridData(); layoutData.horizontalSpan = 2; l.setLayoutData(layoutData); TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER); layoutData = new GridData(GridData.FILL_BOTH); layoutData.horizontalSpan = 2; viewer.getTree().setLayoutData(layoutData); viewer.setLabelProvider(new WorkbenchLabelProvider()); viewer.setContentProvider(new WorkbenchContentProvider() { @Override public Object[] getChildren(Object o) { if (o instanceof IWorkspaceRoot) { IProject[] projects = ((IWorkspaceRoot) o).getProjects(); ArrayList<IJavaProject> result = new ArrayList<IJavaProject>(); for (IProject project : projects) { try { if (!project.isOpen() || !project.hasNature(JavaCore.NATURE_ID)) continue; } catch (CoreException e) { PetalsCommonWsdlExtPlugin.log(e, IStatus.WARNING); continue; } IJavaProject p = JavaCore.create(project); result.add(p); } return result.toArray(); } return new Object[0]; } }); // Set page input IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); viewer.setInput(root); if (this.javaProject != null) { viewer.setSelection(new StructuredSelection(this.javaProject), true); viewer.expandToLevel(this.javaProject, 1); } viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection s = (IStructuredSelection) event.getSelection(); if (!s.isEmpty()) JavaToWSDLWizardPage.this.javaProject = (IJavaProject) s.getFirstElement(); else JavaToWSDLWizardPage.this.javaProject = null; validate(); } }); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { openClassSelectionDialog(); } }); // Class field l = new Label(container, SWT.NONE); l.setText("Select the Java interface."); layoutData = new GridData(); layoutData.horizontalSpan = 2; layoutData.verticalIndent = 15; l.setLayoutData(layoutData); this.classText = new Text(container, SWT.BORDER | SWT.SINGLE); this.classText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); this.classText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { JavaToWSDLWizardPage.this.className = JavaToWSDLWizardPage.this.classText.getText(); validate(); } }); Button b = new Button(container, SWT.PUSH); b.setText("Browse..."); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { openClassSelectionDialog(); } @Override public void widgetSelected(SelectionEvent e) { openClassSelectionDialog(); } }); this.classText.setFocus(); setControl(container); }
From source file:com.ebmwebsourcing.petals.common.extensions.internal.wizards.WSDLtoJavaWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); container.setLayout(layout);/*ww w . j ava 2 s .co m*/ container.setLayoutData(new GridData(GridData.FILL_BOTH)); // WSDL field Label l = new Label(container, SWT.NONE); l.setText("WSDL URI:"); l.setLayoutData(new GridData()); 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 { WSDLtoJavaWizardPage.this.wsdlUri = UriAndUrlHelper.urlToUri(uri); } catch (Exception e1) { WSDLtoJavaWizardPage.this.wsdlUri = null; } validate(); } }); Composite buttons = new Composite(container, SWT.NONE); layout = new GridLayout(2, false); layout.marginHeight = layout.marginWidth = 0; buttons.setLayout(layout); Button b = new Button(buttons, SWT.PUSH); b.setText("Browse File System"); 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(new String[] { "WSDL (*.wsdl)" }); //$NON-NLS-1$ dlg.setFilterExtensions(new String[] { "*.wsdl" }); //$NON-NLS-1$ String path = dlg.open(); if (path != null) { text.setText(new File(path).toURI().toString()); text.setSelection(path.length()); text.setFocus(); } } }); b = new Button(buttons, SWT.PUSH); b.setText("Browse Workspace..."); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } @Override public void widgetSelected(SelectionEvent e) { WorkspaceExplorer dlg = new WorkspaceExplorer(getShell(), new String[] { "wsdl" }); if (dlg.open() == Window.OK) { IResource res = dlg.getSelectedResource(); text.setText(new File(res.getLocation().toOSString()).toURI().toString()); text.setSelection(text.getText().length()); text.setFocus(); } } }); // Container selection l = new Label(container, SWT.NONE); l.setText("Select the output location."); GridData layoutData = new GridData(); layoutData.verticalIndent = 15; l.setLayoutData(layoutData); TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER); layoutData = new GridData(GridData.FILL_BOTH); layoutData.heightHint = 200; 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.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection s = (IStructuredSelection) event.getSelection(); if (!s.isEmpty()) WSDLtoJavaWizardPage.this.outputContainer = (IContainer) s.getFirstElement(); else WSDLtoJavaWizardPage.this.outputContainer = null; validate(); } }); text.setFocus(); setControl(container); }
From source file:com.ebmwebsourcing.petals.common.internal.provisional.ui.WorkspaceExplorer.java
License:Open Source License
/** * Add an explorer for the workspace resources. * @param container//from w w w . ja va 2s . com */ private void addWorkspaceExplorer(Composite container) { int style = SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.HIDE_SELECTION; this.wkViewer = new TreeViewer(container, style); GridData layoutData = new GridData(GridData.FILL_BOTH); layoutData.heightHint = 100; this.wkViewer.getTree().setLayoutData(layoutData); this.wkViewer.setLabelProvider(new WorkbenchLabelProvider()); this.wkViewer.setContentProvider(new ITreeContentProvider() { /** * @param container * @return the list of sub-containers having resources with one of the filtered extension. * <p> * The result does not include binary folders from Java projects, * and skips resources to hide. * </p> */ private Object[] getContainerElements(IContainer container) { IResource[] res = ResourceUtils.getDirectValidChildren(container, WorkspaceExplorer.this.extensions, new ArrayList<IResource>()); return res; } /* * (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider * #getChildren(java.lang.Object) */ @Override public Object[] getChildren(Object o) { if (o instanceof IContainer) return getContainerElements((IContainer) o); return new Object[0]; } /* * (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider * #hasChildren(java.lang.Object) */ @Override public boolean hasChildren(Object element) { if (element instanceof IContainer) return getContainerElements((IContainer) element).length > 0; return false; } /* * (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider * #getParent(java.lang.Object) */ @Override public Object getParent(Object element) { if (element instanceof IResource) { IContainer parent = ((IResource) element).getParent(); if (parent instanceof IWorkspaceRoot) return null; return parent; } return null; } /* * (non-Javadoc) * @see org.eclipse.jface.viewers.IStructuredContentProvider * #getElements(java.lang.Object) */ @Override public Object[] getElements(Object inputElement) { if (inputElement instanceof IWorkspaceRoot) return ((IWorkspaceRoot) inputElement).getProjects(); else if (inputElement instanceof String) { // IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject((String) inputElement); // if( p != null ) { // List<IProject> dependencies = JDTUtils.getJavaProjectDependencies( p ); // return dependencies.toArray(); // } } return new Object[0]; } /* * (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ @Override public void dispose() { // nothing } /* * (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider * #inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // nothing } }); // Selection listener this.wkViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (event.getSelection().isEmpty()) return; Button b = getButton(IDialogConstants.OK_ID); Object res = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (res instanceof IFile) { WorkspaceExplorer.this.selectedResource = (IFile) res; if (b != null) b.setEnabled(true); } else { WorkspaceExplorer.this.selectedResource = null; if (b != null) b.setEnabled(false); } } }); // Double-clic means selection this.wkViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { if (event.getSelection().isEmpty()) return; Button b = getButton(IDialogConstants.OK_ID); Object res = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (res instanceof IFile) { WorkspaceExplorer.this.selectedResource = (IFile) res; if (b != null) b.setEnabled(true); close(); } } }); }