List of usage examples for org.eclipse.jface.viewers IOpenListener IOpenListener
IOpenListener
From source file:bndtools.editor.components.ComponentListPart.java
License:Open Source License
void createSection(Section section, FormToolkit toolkit) { section.setText(Messages.ComponentListPart_listSectionTitle); Composite composite = toolkit.createComposite(section); section.setClient(composite);//w w w. ja va 2 s . c o m table = toolkit.createTable(composite, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER); viewer = new TableViewer(table); viewer.setUseHashlookup(true); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new ServiceComponentLabelProvider()); final Button btnAdd = toolkit.createButton(composite, Messages.ComponentListPart_addButton, SWT.PUSH); final Button btnRemove = toolkit.createButton(composite, Messages.ComponentListPart_RemoveButton, SWT.PUSH); toolkit.paintBordersFor(section); // Listeners viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); ArrayList<ServiceComponent> selectedComponents = new ArrayList<ServiceComponent>(selection.size()); @SuppressWarnings("rawtypes") Iterator iterator = selection.iterator(); while (iterator.hasNext()) { String name = (String) iterator.next(); ServiceComponent component = componentMap.get(name); if (component != null) selectedComponents.add(component); } managedForm.fireSelectionChanged(ComponentListPart.this, new StructuredSelection(selectedComponents)); btnRemove.setEnabled(!selection.isEmpty()); } }); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { String name = (String) ((IStructuredSelection) event.getSelection()).getFirstElement(); if (name != null) { doOpenComponent(name); } } }); viewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { ResourceTransfer.getInstance() }, new ComponentListDropAdapter(viewer)); btnAdd.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { try { doAdd(); } catch (Exception x) { Plugin.logError("Error adding component", x); } } }); btnRemove.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doRemove(); } }); // Layout GridData gd; section.setLayoutData(new GridData(GridData.FILL_BOTH)); composite.setLayout(new GridLayout(2, false)); gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 3); gd.widthHint = 250; table.setLayoutData(gd); btnAdd.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false)); btnRemove.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false)); }
From source file:bndtools.views.ImportsExportsView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { this.display = parent.getDisplay(); tree = new Tree(parent, SWT.FULL_SELECTION | SWT.MULTI); tree.setHeaderVisible(true);/*from www . j a v a 2 s . c o m*/ tree.setLinesVisible(true); TreeColumn col; col = new TreeColumn(tree, SWT.NONE); col.setText("Package"); col.setWidth(400); col = new TreeColumn(tree, SWT.NONE); col.setText("Attribs"); col.setWidth(100); viewer = new TreeViewer(tree); viewer.setContentProvider(new ImportsExportsTreeContentProvider()); viewer.setSorter(new ImportsAndExportsViewerSorter()); viewer.setLabelProvider(new ImportsExportsTreeLabelProvider()); viewer.setAutoExpandLevel(2); hideSelfImportsFilter = new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof ImportPackage) { return !((ImportPackage) element).isSelfImport(); } else if (element instanceof RequiredBundle) { return !((RequiredBundle) element).isSatisfied(); } return true; } }; viewer.setFilters(new ViewerFilter[] { hideSelfImportsFilter }); viewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceListener() { public void dragStart(DragSourceEvent event) { } public void dragSetData(DragSourceEvent event) { LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); if (transfer.isSupportedType(event.dataType)) transfer.setSelection(viewer.getSelection()); } public void dragFinished(DragSourceEvent event) { } }); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { Object item = iter.next(); if (item instanceof ImportUsedByClass) { ImportUsedByClass importUsedBy = (ImportUsedByClass) item; String className = importUsedBy.getClazz().getFQN(); IType type = null; if (selectedFiles != null) { IWorkspaceRoot wsroot = ResourcesPlugin.getWorkspace().getRoot(); for (File selectedFile : selectedFiles) { IFile[] wsfiles = wsroot.findFilesForLocationURI(selectedFile.toURI()); for (IFile wsfile : wsfiles) { IJavaProject javaProject = JavaCore.create(wsfile.getProject()); try { type = javaProject.findType(className); if (type != null) break; } catch (JavaModelException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status( IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java class '{0}'.", className), e)); } } } } try { if (type != null) JavaUI.openInEditor(type, true, true); } catch (PartInitException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java editor for class '{0}'.", className), e)); } catch (JavaModelException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java class '{0}'.", className), e)); } } } } }); fillActionBars(); getSite().getPage().addPostSelectionListener(this); getSite().getPage().addPartListener(partAdapter); ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE); // Current selection & part IWorkbenchPart activePart = getSite().getPage().getActivePart(); ISelection activeSelection = getSite().getWorkbenchWindow().getSelectionService().getSelection(); selectionChanged(activePart, activeSelection); }
From source file:bndtools.views.resolution.ResolutionView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { this.display = parent.getDisplay(); SashForm splitPanel = new SashForm(parent, SWT.HORIZONTAL); splitPanel.setLayout(new FillLayout()); Composite reqsPanel = new Composite(splitPanel, SWT.NONE); reqsPanel.setBackground(parent.getBackground()); GridLayout reqsLayout = new GridLayout(1, false); reqsLayout.marginWidth = 0;// w w w.j av a 2 s .c om reqsLayout.marginHeight = 0; reqsLayout.verticalSpacing = 2; reqsPanel.setLayout(reqsLayout); new Label(reqsPanel, SWT.NONE).setText("Requirements:"); reqsTree = new Tree(reqsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER); reqsTree.setHeaderVisible(false); reqsTree.setLinesVisible(false); reqsTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); reqsViewer = new TreeViewer(reqsTree); ColumnViewerToolTipSupport.enableFor(reqsViewer); reqsViewer.setLabelProvider(new RequirementWrapperLabelProvider(true)); reqsViewer.setContentProvider(new CapReqMapContentProvider()); Composite capsPanel = new Composite(splitPanel, SWT.NONE); capsPanel.setBackground(parent.getBackground()); GridLayout capsLayout = new GridLayout(1, false); capsLayout.marginWidth = 0; capsLayout.marginHeight = 0; capsLayout.verticalSpacing = 2; capsPanel.setLayout(capsLayout); new Label(capsPanel, SWT.NONE).setText("Capabilities:"); capsTable = new Table(capsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER); capsTable.setHeaderVisible(false); capsTable.setLinesVisible(false); capsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); capsViewer = new TableViewer(capsTable); ColumnViewerToolTipSupport.enableFor(capsViewer); capsViewer.setLabelProvider(new CapabilityLabelProvider(true)); capsViewer.setContentProvider(new CapReqMapContentProvider()); capsViewer.setFilters(new ViewerFilter[] { new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parent, Object element) { return !filteredCapabilityNamespaces.contains(((Capability) element).getNamespace()); } } }); hideSelfImportsFilter = new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof RequirementWrapper) { RequirementWrapper rw = (RequirementWrapper) element; return !rw.resolved; } return true; } }; reqsViewer.setFilters(new ViewerFilter[] { hideSelfImportsFilter }); reqsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(reqsViewer)); capsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(capsViewer)); reqsViewer.addOpenListener(new IOpenListener() { @Override public void open(OpenEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { Object item = iter.next(); if (item instanceof Clazz) { Clazz clazz = (Clazz) item; String className = clazz.getFQN(); IType type = null; if (!loaders.isEmpty()) { IWorkspaceRoot wsroot = ResourcesPlugin.getWorkspace().getRoot(); for (CapReqLoader loader : loaders) { if (loader instanceof BndBuilderCapReqLoader) { File loaderFile = ((BndBuilderCapReqLoader) loader).getFile(); IFile[] wsfiles = wsroot.findFilesForLocationURI(loaderFile.toURI()); for (IFile wsfile : wsfiles) { IJavaProject javaProject = JavaCore.create(wsfile.getProject()); try { type = javaProject.findType(className); if (type != null) break; } catch (JavaModelException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat .format("Error opening Java class '{0}'.", className), e)); } } } } } try { if (type != null) JavaUI.openInEditor(type, true, true); } catch (PartInitException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java editor for class '{0}'.", className), e)); } catch (JavaModelException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java class '{0}'.", className), e)); } } } } }); fillActionBars(); getSite().getPage().addPostSelectionListener(this); getSite().getPage().addPartListener(partAdapter); ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE); // Current selection & part IWorkbenchPart activePart = getSite().getPage().getActivePart(); ISelection activeSelection = getSite().getWorkbenchWindow().getSelectionService().getSelection(); selectionChanged(activePart, activeSelection); }
From source file:bndtools.views.ResolutionView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { this.display = parent.getDisplay(); SashForm splitPanel = new SashForm(parent, SWT.HORIZONTAL); splitPanel.setLayout(new FillLayout()); Composite reqsPanel = new Composite(splitPanel, SWT.NONE); reqsPanel.setBackground(parent.getBackground()); GridLayout reqsLayout = new GridLayout(1, false); reqsLayout.marginWidth = 0;/*from ww w. j av a 2 s. c o m*/ reqsLayout.marginHeight = 0; reqsLayout.verticalSpacing = 2; reqsPanel.setLayout(reqsLayout); new Label(reqsPanel, SWT.NONE).setText("Requirements:"); reqsTree = new Tree(reqsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER); reqsTree.setHeaderVisible(false); reqsTree.setLinesVisible(false); reqsTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); reqsViewer = new TreeViewer(reqsTree); ColumnViewerToolTipSupport.enableFor(reqsViewer); reqsViewer.setLabelProvider(new RequirementWrapperLabelProvider(true)); reqsViewer.setContentProvider(new CapReqMapContentProvider()); Composite capsPanel = new Composite(splitPanel, SWT.NONE); capsPanel.setBackground(parent.getBackground()); GridLayout capsLayout = new GridLayout(1, false); capsLayout.marginWidth = 0; capsLayout.marginHeight = 0; capsLayout.verticalSpacing = 2; capsPanel.setLayout(capsLayout); new Label(capsPanel, SWT.NONE).setText("Capabilities:"); capsTable = new Table(capsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER); capsTable.setHeaderVisible(false); capsTable.setLinesVisible(false); capsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); capsViewer = new TableViewer(capsTable); ColumnViewerToolTipSupport.enableFor(capsViewer); capsViewer.setLabelProvider(new CapabilityLabelProvider(true)); capsViewer.setContentProvider(new CapReqMapContentProvider()); capsViewer.setFilters(new ViewerFilter[] { new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parent, Object element) { return !filteredCapabilityNamespaces.contains(((Capability) element).getNamespace()); } } }); hideSelfImportsFilter = new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof RequirementWrapper) { RequirementWrapper rw = (RequirementWrapper) element; return !rw.resolved; } return true; } }; reqsViewer.setFilters(new ViewerFilter[] { hideSelfImportsFilter }); reqsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(reqsViewer)); capsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(capsViewer)); reqsViewer.addOpenListener(new IOpenListener() { @Override public void open(OpenEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { Object item = iter.next(); if (item instanceof Clazz) { Clazz clazz = (Clazz) item; String className = clazz.getFQN(); IType type = null; if (selectedFiles != null) { IWorkspaceRoot wsroot = ResourcesPlugin.getWorkspace().getRoot(); for (File selectedFile : selectedFiles) { IFile[] wsfiles = wsroot.findFilesForLocationURI(selectedFile.toURI()); for (IFile wsfile : wsfiles) { IJavaProject javaProject = JavaCore.create(wsfile.getProject()); try { type = javaProject.findType(className); if (type != null) break; } catch (JavaModelException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status( IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java class '{0}'.", className), e)); } } } } try { if (type != null) JavaUI.openInEditor(type, true, true); } catch (PartInitException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java editor for class '{0}'.", className), e)); } catch (JavaModelException e) { ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening Java class '{0}'.", className), e)); } } } } }); fillActionBars(); getSite().getPage().addPostSelectionListener(this); getSite().getPage().addPartListener(partAdapter); ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE); // Current selection & part IWorkbenchPart activePart = getSite().getPage().getActivePart(); ISelection activeSelection = getSite().getWorkbenchWindow().getSelectionService().getSelection(); selectionChanged(activePart, activeSelection); }
From source file:ch.hsr.ifs.cdt.metriculator.views.MetriculatorView.java
License:Open Source License
private void addViewerOpenListener(StructuredViewer viewer) { viewer.addOpenListener(new IOpenListener() { @Override//from ww w. j a va 2 s .c om public void open(OpenEvent event) { openSelectedNode(event.getSelection()); } }); }
From source file:cn.dockerfoundry.ide.eclipse.server.ui.internal.DockerFoundryActionProvider.java
License:Open Source License
public void init(ICommonActionExtensionSite actionSite) { super.init(actionSite); ICommonViewerSite site = actionSite.getViewSite(); if (site instanceof ICommonViewerWorkbenchSite) { StructuredViewer viewer = actionSite.getStructuredViewer(); if (viewer instanceof CommonViewer) { CommonViewer serversViewer = (CommonViewer) viewer; serversViewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { ISelection s = event.getSelection(); if (s instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) s; Object[] selectedObjects = selection.toArray(); if (selectedObjects.length == 1 && selectedObjects[0] instanceof ModuleServer) { ModuleServer moduleServer = (ModuleServer) selectedObjects[0]; openApplicationPage(moduleServer); }/* www . j a va2 s . co m*/ } } }); } } }
From source file:com.amazonaws.eclipse.cloudformation.templates.editor.TemplateContentOutlinePage.java
License:Apache License
public void createControl(Composite parent) { super.createControl(parent); final TreeViewer viewer = getTreeViewer(); viewer.setContentProvider(new TemplateOutlineContentProvider()); viewer.setLabelProvider(new TemplateOutlineLabelProvider()); viewer.addSelectionChangedListener(this); viewer.setAutoExpandLevel(2);// ww w . j a v a 2 s . c o m viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { TemplateOutlineNode selectedNode = (TemplateOutlineNode) ((StructuredSelection) event .getSelection()).getFirstElement(); JsonLocation startLocation = selectedNode.getNode().getStartLocation(); JsonLocation endLocation = selectedNode.getNode().getEndLocation(); IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() .getActiveEditor(); if (activeEditor != null) { TemplateEditor templateEditor = (TemplateEditor) activeEditor; templateEditor.setHighlightRange((int) startLocation.getCharOffset(), (int) endLocation.getCharOffset() - (int) startLocation.getCharOffset(), true); } } }); document.addTemplateDocumentListener(this); updateContent(); }
From source file:com.aptana.git.ui.internal.history.CommitFileDiffViewer.java
License:Open Source License
CommitFileDiffViewer(final Composite parent, final GitHistoryPage historyPage) { super(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); final Table rawTable = getTable(); rawTable.setHeaderVisible(true);// w w w .ja v a 2s. co m rawTable.setLinesVisible(false); final TableLayout layout = new TableLayout(); rawTable.setLayout(layout); createColumns(rawTable, layout); setContentProvider(new CommitDiffContentProvider()); setLabelProvider(new SingleCommitLabelProvider()); addOpenListener(new IOpenListener() { public void open(final OpenEvent event) { final ISelection s = event.getSelection(); if (s.isEmpty() || !(s instanceof IStructuredSelection)) return; final IStructuredSelection iss = (IStructuredSelection) s; final Diff d = (Diff) iss.getFirstElement(); showTwoWayFileDiff(d); } }); MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { manager.add(new OpenRevisionAction(historyPage.getSite().getPage(), getTable())); // Other plug-ins can contribute there actions here manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); } }); Menu menu = menuMgr.createContextMenu(getControl()); getControl().setMenu(menu); }
From source file:com.baremetalstudios.mapleide.internal.ResourceNavigator.java
License:Open Source License
@Inject public ResourceNavigator(Composite parent, final IEclipseContext context, IWorkspace workspace) { final Realm realm = SWTObservables.getRealm(parent.getDisplay()); this.context = context; parent.setLayout(new FillLayout()); TreeViewer viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { StructuredSelection selection = (StructuredSelection) event.getSelection(); selectionService/*from ww w. ja v a 2 s .co m*/ .setSelection(selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); // context.modify(IServiceConstants.ACTIVE_SELECTION, selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); } }); IObservableFactory setFactory = new IObservableFactory() { public IObservable createObservable(Object element) { if (element instanceof IContainer && ((IContainer) element).exists()) { IObservableSet observableSet = observableSets.get(element); if (observableSet == null) { observableSet = new WritableSet(realm); try { observableSet.addAll(Arrays.asList(((IContainer) element).members())); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } observableSets.put((IContainer) element, observableSet); } return observableSet; } return Observables.emptyObservableSet(); } }; viewer.setContentProvider(new ObservableSetTreeContentProvider(setFactory, new TreeStructureAdvisor() { public Boolean hasChildren(Object element) { return Boolean.valueOf(element instanceof IContainer); } })); viewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof IResource) return ((IResource) element).getName(); return element == null ? "" : element.toString(); } }); viewer.setSorter(new ViewerSorter()); viewer.setInput(workspace.getRoot()); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { MapleIDEApplication app = (MapleIDEApplication) application; IStructuredSelection s = (IStructuredSelection) event.getSelection(); for (Object o : s.toArray()) { if (o instanceof IFile) { IFile f = (IFile) o; context.set(IFile.class, f); String fExt = f.getFileExtension(); EDITOR: for (EditorPartDescriptor desc : app.getEditorPartDescriptors()) { for (String ext : desc.getFileextensions()) { if (ext.equals(fExt)) { context.set(EditorPartDescriptor.class, desc); System.err.println("Opening with: " + desc); Command cmd = commandService .getCommand("com.baremetalstudios.mapleide.command.openeditor"); // Command cmd = commandService.getCommand("simpleide.command.openeditor"); ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(cmd, null); handlerService.executeHandler(pCmd); break EDITOR; } } } } } } }); setupContextMenu(viewer, parent.getShell()); workspace.addResourceChangeListener(listener); }
From source file:com.bluexml.side.Requirements.modeler.views.internal.TableView.java
License:Open Source License
public void createPartControl(Composite parent) { parent.setLayout(new FillLayout()); viewer = new TreeViewer(createTree(parent)); createColumns(viewer.getTree());//from www .j av a 2s. c o m viewer.setComparator(buildComparator()); setSortIndicators(); contentProvider = getContentProvider(); viewer.setContentProvider(contentProvider); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); viewerSelectionChanged(selection); } }); // create the actions before the input is set on the viewer but after // the // sorter and filter are set so the actions will be enabled correctly. createActions(); viewer.setInput(createViewerInput()); Scrollable scrollable = (Scrollable) viewer.getControl(); ScrollBar bar = scrollable.getVerticalBar(); if (bar != null) { bar.setSelection(restoreVerticalScrollBarPosition(memento)); } bar = scrollable.getHorizontalBar(); if (bar != null) { bar.setSelection(restoreHorizontalScrollBarPosition(memento)); } MenuManager mgr = initContextMenu(); Menu menu = mgr.createContextMenu(viewer.getControl()); viewer.getControl().setMenu(menu); getSite().registerContextMenu(mgr, selectionProvider); getSite().setSelectionProvider(selectionProvider); IActionBars actionBars = getViewSite().getActionBars(); initMenu(actionBars.getMenuManager()); initToolBar(actionBars.getToolBarManager()); registerGlobalActions(getViewSite().getActionBars()); viewer.addOpenListener(new IOpenListener() { public void open(OpenEvent event) { handleOpenEvent(event); } }); }