Example usage for org.eclipse.jface.viewers TreeViewer getSelection

List of usage examples for org.eclipse.jface.viewers TreeViewer getSelection

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewer getSelection.

Prototype

@Override
public ISelection getSelection() 

Source Link

Document

The AbstractTreeViewer implementation of this method returns the result as an ITreeSelection.

Usage

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);
    }
}