List of usage examples for org.eclipse.jface.viewers TreeViewer getSelection
@Override
public ISelection getSelection()
AbstractTreeViewer
implementation of this method returns the result as an ITreeSelection
. From source file:org.wso2.developerstudio.eclipse.greg.search.RegistrySearchResultPage.java
License:Open Source License
protected void configureTreeViewer(TreeViewer viewer) { super.configureTreeViewer(viewer); viewer.refresh();// w ww . jav a2 s .co m viewer.setContentProvider(new RegistryTreeContentProvider(new ExceptionHandler(), getSite().getShell()) { public void inputChanged(Viewer viewer, Object arg1, Object arg2) { super.inputChanged(viewer, arg1, arg2); if (arg2 instanceof SearchResult) { SearchResult s = (SearchResult) arg2; RegistrySearchQuery t = (RegistrySearchQuery) s.getQuery(); t.setViewer((TreeViewer) viewer); } } public Object[] getChildren(Object obj) { if (obj instanceof SearchResult) { SearchResult s = (SearchResult) obj; RegistrySearchQuery t = (RegistrySearchQuery) s.getQuery(); return t.getResults().toArray(new Object[] {}); } else if (obj instanceof RegistrySearchResult) { RegistrySearchResult r = (RegistrySearchResult) obj; return r.getResources().toArray(); } else return super.getChildren(obj); } public boolean hasChildren(Object obj) { if (obj instanceof SearchResult) return true; else if (obj instanceof RegistrySearchResult) { RegistrySearchResult r = (RegistrySearchResult) obj; return true; } else return super.hasChildren(obj); } }); viewer.setLabelProvider(new RegistryTreeLabelProvider() { public Image getImage(Object element) { ImageDescriptor descriptor = null; if (element instanceof RegistrySearchResult) { descriptor = ImageUtils.getImageDescriptor(ImageUtils.ICON_REGISTRY_SEARCH); return descriptor.createImage(); } else return super.getImage(element); } }); viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent evt) { if (evt.getSource() instanceof TreeViewer) { TreeViewer v = (TreeViewer) evt.getSource(); if (v.getSelection() instanceof ITreeSelection) { ITreeSelection t = (ITreeSelection) v.getSelection(); if (t.getFirstElement() instanceof RegistryResourceNode) { RegistryResourceNode r = (RegistryResourceNode) t.getFirstElement(); ResourceEditorInput ei = RemoteContentManager.getEditorInput(r); RemoteContentManager.openFormEditor(ei); } } } } }); }
From source file:phasereditor.canvas.ui.editors.CanvasEditor.java
License:Open Source License
private void initOutline() { TreeViewer viewer = _outlineTree.getViewer(); viewer.setInput(_canvas);/*from ww w. j av a 2 s .c o m*/ viewer.expandAll(); int operations = DND.DROP_DEFAULT | DND.DROP_MOVE; Transfer[] transfers = new Transfer[] { LocalSelectionTransfer.getTransfer() }; viewer.addDragSupport(operations, transfers, new DragSourceListener() { private ISelection _data; @Override public void dragStart(DragSourceEvent event) { _data = viewer.getSelection(); } @Override public void dragSetData(DragSourceEvent event) { event.data = _data; LocalSelectionTransfer.getTransfer().setSelection(_data); } @Override public void dragFinished(DragSourceEvent event) { // finished } }); viewer.addDropSupport(operations, transfers, new OutlineDropAdapter(this)); }
From source file:skillpro.asset.views.SEEView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { seeTreeComposite = new TreeTableComposite(parent, SWT.NONE, true) { @Override/* w w w . j av a 2s.c o m*/ protected void createTreeViewer(Composite parent, int style) { super.createTreeViewer(parent, style); firstColumn.setText("Configuration ID"); addContextMenu(viewer); } @Override protected void addCoolbarItems(Composite parent) { ToolBar coolToolBar = new ToolBar(parent, SWT.VERTICAL); createToolItem(coolToolBar, SWT.VERTICAL, "A*", IconActivator.getImageDescriptor("icons/asset/add.png").createImage(), "Creates a new asset with the help of wizard", createSEEListener(this)); createToolItem(coolToolBar, SWT.VERTICAL, "D*", IconActivator.getImageDescriptor("icons/asset/remove.png").createImage(), "Delete selected element", deleteSelectionListener()); } private void addContextMenu(final TreeViewer viewer) { MenuManager menuMgr = new MenuManager(); menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { if (viewer.getSelection().isEmpty()) { return; } final Object firstElement = ((IStructuredSelection) viewer.getSelection()) .getFirstElement(); if (firstElement instanceof SEE) { final SEE see = (SEE) firstElement; createMenuForSEE(manager, see); } else { // if selected element is not root // (hence child of SEE) if (firstElement instanceof SEEResource) { return; } } } private void createMenuForSEE(IMenuManager manager, final SEE see) { // check if see already assigned to workplace -> // if not assign menu, if so register menu if (see.getResource() == null) { // assign SEE to Resource menu assignResourceToSEE(manager, see); } else { Resource resource = see.getResource(); // register assigned SEE to OPC-UA menu assignResourceToSEE(manager, see); registerResourceToSEE(manager, see, resource); unregisterResourceFromOPCUA(manager, see, resource); seeTreeComposite.getTreeViewer().refresh(); } } private void assignResourceToSEE(IMenuManager manager, final SEE see) { manager.add(new Action("Assign from catalogue") { @Override public void run() { } }); manager.add(new Action("Assign from configuration") { @Override public void run() { ChooseAssetFromConfigurationDialog dialog = new ChooseAssetFromConfigurationDialog( getShell()); if (dialog.open() == Window.OK) { Resource resource = dialog.getResult()[0]; if (resource == null) { return; } see.addNotRegisteredResource(resource); } SkillproService.getUpdateManager().notify(UpdateType.SEE_ADDED, SEE.class); } }); } private void registerResourceToSEE(IMenuManager manager, final SEE see, final Resource resource) { manager.add(new Action("Register SEE") { @Override public void run() { RegisterSEEDialog dialog = new RegisterSEEDialog(getShell(), see, resource); if (dialog.open() == Dialog.OK) { see.setMESNodeID(dialog.getNodeID()); see.setOpcUAAddress(Activator.getDefault().getCurrentUAaddress()); see.setSEEState(SEEState.REGISTERED); resource.setResponsibleSEE(see); // updates the SEE on the AMS server updateSeeOnServer(see); if (see.isSimulation()) { VCClient.getInstance().registerSEEToVIS(see); } SkillproService.getUpdateManager().notify(UpdateType.SEE_ADDED, SEE.class); } } private boolean updateSeeOnServer(SEE see) { String serviceName = "updateSEE"; String parameters = "?configurationId=" + see.getSeeID(); parameters += "&runtimeId=" + see.getMESNodeID(); parameters += "&opcuaAddress=" + see.getOpcUAAddress(); parameters += "&simulation=" + see.isSimulation(); HttpGet request = new HttpGet( AMSServiceUtility.serviceAddress + serviceName + parameters); request.setHeader("Content-type", "application/json"); HttpClient client = HttpClientBuilder.create().build(); ; HttpResponse response; try { response = client.execute(request); System.out.println( "Response status: " + response.getStatusLine().getStatusCode()); return true; } catch (IOException e) { e.printStackTrace(); MessageDialog.openError(getShell(), "AMS service error", e.getMessage()); return false; } } }); } private void unregisterResourceFromOPCUA(IMenuManager manager, final SEE see, final Resource resource) { manager.add(new Action("Unregister SEE") { @Override public void run() { try { OPCUAServerRepository.deregisterSEE(see.getMESNodeID(), Activator.getDefault().getCurrentUAaddress()); see.setSEEState(SEEState.NOT_REGISTERED); resource.setResponsibleSEE(see); } catch (SkillProOPCUAException e) { e.printStackTrace(); MessageDialog.openWarning(getShell(), "OPC-UA connection error", e.getMessage()); } } }); } }); Menu menu = menuMgr.createContextMenu(viewer.getControl()); viewer.getControl().setMenu(menu); } @Override protected LabelProvider initLabelProvider() { return new SEETreeLabelProvider(); } @Override protected IContentProvider initContentProvider() { return new SEETreeContentProvider(); } @Override protected void addColumn(Tree tree) { TreeColumn column1 = new TreeColumn(tree, SWT.LEFT, 1); column1.setAlignment(SWT.LEFT); column1.setText("Asset type(s)"); column1.setWidth(300); TreeViewerColumn treeViewerColumn1 = new TreeViewerColumn(viewer, column1); treeViewerColumn1.setLabelProvider(new AssetColumnProvider()); TreeColumn column2 = new TreeColumn(tree, SWT.LEFT, 2); column2.setAlignment(SWT.LEFT); column2.setText("Node ID (runtime)"); column2.setWidth(100); TreeViewerColumn treeViewerColumn2 = new TreeViewerColumn(viewer, column2); treeViewerColumn2.setLabelProvider(new RuntimeNodeColumnProvider()); TreeColumn column3 = new TreeColumn(tree, SWT.LEFT, 3); column3.setAlignment(SWT.LEFT); column3.setText("Simulation"); column3.setWidth(50); TreeViewerColumn treeViewerColumn3 = new TreeViewerColumn(viewer, column3); treeViewerColumn3.setLabelProvider(new SimulationLabelProvider()); TreeColumn column4 = new TreeColumn(tree, SWT.LEFT, 4); column4.setAlignment(SWT.LEFT); column4.setText("OPC-UA address"); column4.setWidth(100); TreeViewerColumn treeViewerColumn4 = new TreeViewerColumn(viewer, column4); treeViewerColumn4.setLabelProvider(new OPCServerLabelProvider()); } }; seeTreeComposite.getTreeViewer().addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection.getFirstElement() instanceof SEE) { SEE see = (SEE) selection.getFirstElement(); see.setSimulation(!see.isSimulation()); seeTreeComposite.getTreeViewer().refresh(); } } }); seeTreeComposite.setInput(SkillproService.getSkillproProvider().getSEERepo().getEntities()); SkillproService.getUpdateManager().registerUpdatable(this, SEE.class); }
From source file:testlink.eclipse.plugin.views.TestLinkView.java
License:Open Source License
private void hookContextMenu(TreeViewer viewer) { MenuManager menuMgr = new MenuManager("#PopupMenu"); menuMgr.setRemoveAllWhenShown(true); final TreeViewer v = viewer; menuMgr.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { /*//w w w . jav a 2s . c o m * Using the selection is a way to decide what we want * filled in as actions on the menu. */ IStructuredSelection selection = (IStructuredSelection) v.getSelection(); Object node = null; if (selection != null) { node = selection.getFirstElement(); } TestLinkView.this.testPlanActions.fillContextMenu(node, drillDownAdapter, manager); } }); Menu menu = menuMgr.createContextMenu(viewer.getControl()); viewer.getControl().setMenu(menu); IWorkbenchPartSite site = getSite(); site.registerContextMenu(menuMgr, viewer); }
From source file:uk.ac.diamond.scisoft.analysis.rcp.results.navigator.DataNavigator.java
License:Apache License
private void createDragSupport(final TreeViewer viewer) { // We allow people to copy files from the run folder into another folder. int ops = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_DEFAULT; Transfer[] transfers = new Transfer[] { FileTransfer.getInstance() }; viewer.addDragSupport(ops, transfers, new DragSourceListener() { @Override/*from ww w. j av a 2 s .c om*/ public void dragStart(DragSourceEvent event) { // Do nothing } @Override public void dragSetData(DragSourceEvent event) { event.doit = false; if (FileTransfer.getInstance().isSupportedType(event.dataType)) { final IResource file = (IResource) ((IStructuredSelection) viewer.getSelection()) .getFirstElement(); if (file == null) return; if (!file.exists()) return; if (file instanceof IContainer) return; final String[] files = new String[1]; files[0] = file.getLocation().toOSString(); event.data = files; event.doit = true; } } @Override public void dragFinished(DragSourceEvent event) { // Do nothing } }); }
From source file:uk.ac.diamond.scisoft.analysis.rcp.results.navigator.DataNavigator.java
License:Apache License
/** * /* www .j ava 2 s . c o m*/ */ public void refreshFolder() { final TreeViewer viewer = (TreeViewer) getSite().getSelectionProvider(); final IStructuredSelection sel = (IStructuredSelection) viewer.getSelection(); if (sel == null) return; if (sel.getFirstElement() == null) return; if (sel.getFirstElement() instanceof IResource) { IResource file = (IResource) sel.getFirstElement(); if (!(file instanceof IContainer)) file = file.getParent(); try { file.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); } catch (CoreException e) { logger.error("Cannot refresh " + file, e); } viewer.refresh(file, true); } }