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

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

Introduction

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

Prototype

@Override
    public Control getControl() 

Source Link

Usage

From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.PartEditor.java

License:Open Source License

private void createInstanceInspection(CTabFolder folder) {
    CTabItem item = new CTabItem(folder, SWT.NONE);
    item.setText(Messages.ModelTooling_Common_RuntimeContributionInstance);
    Composite container = new Composite(folder, SWT.NONE);
    container.setLayout(new GridLayout());
    item.setControl(container);//from   w w  w. j  av a2 s  . c o  m

    ObjectViewer objectViewer = new ObjectViewer();
    TreeViewer viewer = objectViewer.createViewer(container,
            ApplicationPackageImpl.Literals.CONTRIBUTION__OBJECT, getMaster(), resourcePool, Messages);
    viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
}

From source file:org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer.java

License:Open Source License

public TreeViewer createViewer(Composite parent, EStructuralFeature feature, final IObservableValue master,
        IResourcePool resourcePool, final Messages messages) {
    final TreeViewer viewer = new TreeViewer(parent);
    viewer.setContentProvider(new WidgetContentProvider());
    viewer.setLabelProvider(new WidgetLabelProvider(resourcePool));
    IEMFValueProperty property = EMFProperties.value(feature);
    IObservableValue value = property.observeDetail(master);
    value.addValueChangeListener(new IValueChangeListener() {

        @Override//from  ww w .j ava2 s.  c o m
        public void handleValueChange(ValueChangeEvent event) {
            if (event.diff.getNewValue() != null) {
                viewer.setInput(Collections.singleton(event.diff.getNewValue()));
                viewer.expandToLevel(2);
            } else {
                viewer.setInput(Collections.emptyList());
            }
        }
    });

    final MenuManager mgr = new MenuManager();
    mgr.setRemoveAllWhenShown(true);
    mgr.addMenuListener(new IMenuListener() {

        @Override
        public void menuAboutToShow(IMenuManager manager) {
            final Object o = ((IStructuredSelection) viewer.getSelection()).getFirstElement();
            if (o instanceof Control) {
                manager.add(new Action(messages.ModelEditor_ShowControl) {
                    @Override
                    public void run() {
                        ControlHighlighter.show((Control) o);
                    }
                });
            }

            IExtensionRegistry registry = RegistryFactory.getRegistry();
            IExtensionPoint extPoint = registry.getExtensionPoint("org.eclipse.e4.tools.emf.ui.scripting"); //$NON-NLS-1$
            final IConfigurationElement[] elements = extPoint.getConfigurationElements();

            final IStructuredSelection s = (IStructuredSelection) viewer.getSelection();

            if (elements.length > 0 && !s.isEmpty()) {
                MenuManager scriptExecute = new MenuManager(messages.ModelEditor_Script);
                manager.add(scriptExecute);
                for (IConfigurationElement e : elements) {
                    final IConfigurationElement le = e;
                    scriptExecute.add(new Action(e.getAttribute("label")) { //$NON-NLS-1$
                        @Override
                        public void run() {
                            try {
                                MApplicationElement o = (MApplicationElement) master.getValue();
                                IScriptingSupport support = (IScriptingSupport) le
                                        .createExecutableExtension("class"); //$NON-NLS-1$
                                support.openEditor(viewer.getControl().getShell(), s.getFirstElement(),
                                        ModelUtils.getContainingContext(o));
                            } catch (CoreException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                        }
                    });
                }
            }
        }
    });

    viewer.getControl().setMenu(mgr.createContextMenu(viewer.getControl()));

    return viewer;
}

From source file:org.eclipse.e4.ui.workbench.swt.internal.copy.ShowViewDialog.java

License:Open Source License

/**
 * Create a new filtered tree viewer in the parent.
 * /*  www  .  j  a va 2 s  .c  om*/
 * @param parent
 *            the parent <code>Composite</code>.
 */
private void createFilteredTreeViewer(Composite parent) {
    PatternFilter filter = new ViewPatternFilter(context);
    int styleBits = SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER;
    filteredTree = new FilteredTree(parent, styleBits, filter, true);
    filteredTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));

    TreeViewer treeViewer = filteredTree.getViewer();

    treeViewer.setLabelProvider(new ViewLabelProvider(context));
    treeViewer.setContentProvider(new ViewContentProvider(application));
    treeViewer.setComparator(new ViewComparator());
    treeViewer.setInput(application);
    treeViewer.addSelectionChangedListener(this);
    treeViewer.addDoubleClickListener(this);
    treeViewer.getControl().addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            handleTreeViewerKeyPressed(e);
        }
    });

    // if the tree has only one or zero views, disable the filter text
    // control
    if (hasAtMostOneView(filteredTree.getViewer())) {
        Text filterText = filteredTree.getFilterControl();
        if (filterText != null) {
            filterText.setEnabled(false);
        }
    }
}

From source file:org.eclipse.e4.xwt.tools.ui.designer.dialogs.ImageDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {
    Composite dialogArea = (Composite) super.createDialogArea(parent);
    GridLayout layout = (GridLayout) dialogArea.getLayout();
    layout.numColumns = 2;//from   w w w  . j av  a  2s.  c  o  m

    Group leftComp = new Group(dialogArea, SWT.NONE);
    leftComp.setText("types");
    layout = new GridLayout(2, false);
    leftComp.setLayout(layout);
    leftComp.setLayoutData(new GridData(GridData.FILL_BOTH));

    final Button projRadio = new Button(leftComp, SWT.RADIO);
    projRadio.setText("Project");
    projRadio.setSelection(true);
    projRadio.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_CENTER));
    new Label(leftComp,
            SWT.NONE)/* .setLayoutData(new GridData(GridData.VERTICAL_ALIGN_CENTER | GridData.GRAB_VERTICAL)) */;

    final Button fileRadio = new Button(leftComp, SWT.RADIO);
    fileRadio.setText("File System");
    fileRadio.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_CENTER));
    final Button browserButton = new Button(leftComp, SWT.PUSH);
    browserButton.setText("Browser");
    // browserButton.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_CENTER | GridData.GRAB_VERTICAL));
    browserButton.setEnabled(false);

    Group previewer = new Group(dialogArea, SWT.NONE);
    previewer.setText("Preview");
    previewer.setLayout(new FillLayout());
    previewLable = new Label(previewer, SWT.CENTER | SWT.SHADOW_IN);
    GridData gd = new GridData(GridData.FILL_BOTH);
    // gd.heightHint = 50;
    // gd.widthHint = 50;
    // gd.horizontalSpan = 2;
    previewer.setLayoutData(gd);

    final TreeViewer viewer = new TreeViewer(dialogArea, SWT.BORDER);
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.horizontalSpan = 2;
    viewer.getControl().setLayoutData(layoutData);
    viewer.setContentProvider(new ImageContentProvider());
    JavaElementLabelProvider labelProvider = new JavaElementLabelProvider() {
        public String getText(Object element) {
            // Need a slight override, for source roots, want to show the entire path so that the project shows up.
            // It doesn't look as good because you can't tell what project the root is in when there are required projects.
            String result = super.getText(element);
            if (element instanceof IPackageFragmentRoot)
                result = MessageFormat.format("{0} - {1}", new Object[] { result,
                        ((IPackageFragmentRoot) element).getJavaProject().getElementName() });
            return result;
        }
    };
    viewer.setLabelProvider(labelProvider);
    if (project != null) {
        viewer.setInput(JavaCore.create(project));
    }
    viewer.expandToLevel(2);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            Object firstElement = selection.getFirstElement();
            if (firstElement instanceof IFile) {
                IPath fullPath = ((IFile) firstElement).getLocation();
                String path = fullPath.toString();
                if (file != null) {
                    String sourcePath = file.getLocation().toString();
                    path = PathHelper.getRelativePath(sourcePath, path);
                }
                setImagePath(path);
            }
        }
    });
    Listener listener = new Listener() {
        public void handleEvent(Event event) {
            setImagePath(null);
            if (event.widget == projRadio) {
                viewer.getControl().setEnabled(true);
                browserButton.setEnabled(false);
            } else if (event.widget == fileRadio) {
                viewer.getControl().setEnabled(false);
                browserButton.setEnabled(true);
            } else if (event.widget == browserButton) {
                chooseImage();
            }
        }
    };
    projRadio.addListener(SWT.Selection, listener);
    fileRadio.addListener(SWT.Selection, listener);
    browserButton.addListener(SWT.Selection, listener);

    Composite bottomComp = new Composite(dialogArea, SWT.NONE);
    layout = new GridLayout(2, false);
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    bottomComp.setLayout(layout);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;
    bottomComp.setLayoutData(gd);
    new Label(bottomComp, SWT.NONE).setText("Image:");
    imageLabel = new Label(bottomComp, SWT.NONE);
    imageLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    return dialogArea;
}

From source file:org.eclipse.e4.xwt.ui.editor.XWTEditor.java

License:Open Source License

private void update(VEXEditor vexEditor) {
    // clear up old
    StyledText styledText = vexEditor.getTextWidget();
    if (styledText != null) {
        DropTarget dropTarget = (DropTarget) styledText.getData(DND.DROP_TARGET_KEY);
        if (dropTarget != null) {
            dropTarget.removeDropListener(dropTargetAdapter);
        }/*from   www  . j a va 2  s.  c om*/
    }

    // setup new
    vexEditor.getTextWidget().addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            StyledText styledText = (StyledText) e.widget;
            DropTarget dropTarget = (DropTarget) styledText.getData(DND.DROP_TARGET_KEY);
            if (dropTarget != null) {
                dropTarget.removeDropListener(dropTargetAdapter);
            }
        }
    });

    DropTarget dropTarget = (DropTarget) styledText.getData(DND.DROP_TARGET_KEY);
    if (dropTarget == null) {
        dropTarget = new DropTarget(styledText, DND.DROP_MOVE | DND.DROP_COPY);
        dropTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() });
    }
    dropTarget.addDropListener(dropTargetAdapter);

    DragSource dragSource = (DragSource) styledText.getData(DND.DRAG_SOURCE_KEY);
    if (dragSource == null) {
        dragSource = new DragSource(styledText, DND.DROP_COPY | DND.DROP_MOVE);

        Transfer[] types = new Transfer[] { TextTransfer.getInstance() };

        dragSource.setTransfer(types);
    }
    dragSource.addDragListener(dragSourceAdapter);
    // if (dropProxy == null) {
    // dropProxy = new XWTEditorDropProxy(this);
    // }
    final PackageExplorerPart part = PackageExplorerPart.getFromActivePerspective();
    if (part != null) {
        TreeViewer treeViewer = part.getTreeViewer();
        dragSource = (DragSource) treeViewer.getControl().getData(DND.DRAG_SOURCE_KEY);
        if (dragSource != null) {
            dragSource.addDragListener(new DragSourceAdapter() {
                public void dragStart(DragSourceEvent event) {
                    part.setLinkingEnabled(false);
                }
            });
        }
    }
}

From source file:org.eclipse.ecf.mgmt.framework.eclipse.ui.services.RemoteServicesView.java

License:Open Source License

protected void removeRemoteServiceManager(final IRemoteServiceReference rsRef) {
    TreeViewer viewer = getTreeViewer();
    if (viewer == null)
        return;//from w w w.  ja va 2 s. co m
    viewer.getControl().getDisplay().asyncExec(new Runnable() {
        @Override
        public void run() {
            getRootNode().removeServiceManagerNode(rsRef);
            viewer.refresh();
        }
    });
}

From source file:org.eclipse.ecf.mgmt.framework.eclipse.ui.services.RemoteServicesView.java

License:Open Source License

private void updateRemoteServiceManager(final IServiceManagerAsync s, final IRemoteServiceReference rsRef,
        final RemoteServiceManagerNode node) {
    final TreeViewer viewer = getTreeViewer();
    if (viewer == null)
        return;/*  w  w  w .  j av a  2s. c o m*/
    s.getServiceReferencesAsync().whenComplete((result, exception) -> {
        viewer.getControl().getDisplay().asyncExec(new Runnable() {
            @Override
            public void run() {
                if (exception != null)
                    logAndShowError("Exception using remote service reference=" + rsRef, exception);
                else {
                    RemoteServiceManagerNode managerNode = (node == null)
                            ? getRootNode().getServiceManagerNode(rsRef, s)
                            : node;
                    managerNode.clearChildren();
                    for (ServiceReferenceMTO srMTO : result) {
                        long bundleId = srMTO.getBundle();
                        long[] usingBundleIds = srMTO.getUsingBundles();
                        ServiceNode sn = new ServiceNode(bundleId, usingBundleIds, srMTO.getProperties());
                        sn.addChild(new RegisteringBundleIdNode(bundleId));
                        sn.addChild(new UsingBundleIdsNode("Using Bundles", usingBundleIds));
                        managerNode.addChild(sn);
                    }
                    viewer.expandToLevel(2);
                    viewer.refresh();
                }
            }
        });
    });
}

From source file:org.eclipse.ecf.remoteservice.ui.serviceview.AbstractServicesView.java

License:Open Source License

@Override
public void selectService(final String remoteId, final long serviceId) {
    TreeViewer viewer = getTreeViewer();
    if (viewer == null)
        return;/*www .j a va 2 s.  com*/
    viewer.getControl().getDisplay().asyncExec(new Runnable() {
        @Override
        public void run() {
            TreeViewer tv = getTreeViewer();
            if (tv == null)
                return;
            ServiceNode sn = findServiceNode(serviceId);
            if (sn != null)
                tv.setSelection(new StructuredSelection(sn));
        }
    });
}

From source file:org.eclipse.ecf.remoteservice.ui.serviceview.AbstractServicesView.java

License:Open Source License

protected void addServiceNodes(final Collection<ServiceNode> sns) {
    TreeViewer viewer = getTreeViewer();
    if (viewer == null)
        return;//from ww  w .  j a  v  a 2 s.  c  o m
    viewer.getControl().getDisplay().asyncExec(new Runnable() {
        @Override
        public void run() {
            TreeViewer tv = getTreeViewer();
            if (tv == null)
                return;
            ServicesRootNode srn = getServicesRoot();
            for (ServiceNode sn : sns)
                srn.addChild(sn);
            tv.setExpandedState(getServicesRoot(), true);
            tv.refresh();
        }
    });
}

From source file:org.eclipse.ecf.remoteservice.ui.serviceview.ServicesView.java

License:Open Source License

protected void hookContextMenu() {
    MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            ServicesView.this.fillContextMenu(manager);
        }//from   w  w  w . j  a  v  a  2 s  .c om
    });
    TreeViewer viewer = getTreeViewer();
    if (viewer != null) {
        Menu menu = menuMgr.createContextMenu(viewer.getControl());
        viewer.getControl().setMenu(menu);
        getSite().registerContextMenu(menuMgr, viewer);
    }
}