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.emf.cdo.explorer.ui.ViewerUtil.java

License:Open Source License

public static void expand(final TreeViewer viewer, final Object element, final boolean expanded) {
    if (viewer != null) {
        Tree tree = viewer.getTree();/*ww w .  ja  va2 s .  c  om*/
        if (!tree.isDisposed()) {
            Display display = tree.getDisplay();
            display.asyncExec(new Runnable() {
                public void run() {
                    if (!viewer.getControl().isDisposed()) {
                        viewer.setExpandedState(element, expanded);
                    }
                }
            });
        }
    }
}

From source file:org.eclipse.emf.cdo.internal.ui.ItemsProcessor.java

License:Open Source License

public void processCDOObjects(final TreeViewer viewer, final Set<CDOID> ids) {
    try {/*  w w w . j av  a 2  s. c om*/
        viewer.getControl().getDisplay().syncExec(new Runnable() {
            public void run() {
                try {
                    processObject(viewer, ids, viewer.getInput());
                    processItems(viewer, ids, viewer.getTree().getItems());
                } catch (Exception ignore) {
                }
            }
        });
    } catch (Exception ignore) {
    }
}

From source file:org.eclipse.emf.cdo.ui.CDOLabelProvider.java

License:Open Source License

public CDOLabelProvider(AdapterFactory adapterFactory, CDOView view, TreeViewer viewer) {
    super(adapterFactory);
    this.view = view;
    this.viewer = viewer;
    bold = UIUtil.getBoldFont(viewer.getControl());

    pattern = OM.PREF_LABEL_DECORATION.getValue();
    if (ObjectUtil.equals(pattern, NO_DECORATION)) {
        pattern = null;/*from   ww w.ja  v a2s.  c  om*/
    } else {
        pattern = StringUtil.replace(pattern, DECORATION_PROPOSALS, DECORATION_ARGS);
    }
}

From source file:org.eclipse.emf.ecp.ecoreeditor.internal.ui.MasterDetailRenderer.java

License:Open Source License

/**
 * Fill context menu.//from  w w  w.  j a va 2s  .co  m
 * Fills the context menu. Adds create actions for all possible children and a delete action.
 *
 * @param treeViewer the tree viewer
 * @param editingDomain the editing domain
 */
private void fillContextMenu(final TreeViewer treeViewer, final EditingDomain editingDomain) {
    final ChildrenDescriptorCollector childrenDescriptorCollector = new ChildrenDescriptorCollector();
    final MenuManager menuMgr = new MenuManager();
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(IMenuManager manager) {
            if (treeViewer.getSelection().isEmpty()) {
                return;
            }
            if (treeViewer.getSelection() instanceof IStructuredSelection) {
                final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();

                if (selection.size() == 1 && selection.getFirstElement() instanceof EObject) {
                    final EObject eObject = (EObject) selection.getFirstElement();
                    final EditingDomain domain = AdapterFactoryEditingDomain.getEditingDomainFor(eObject);
                    if (domain == null) {
                        return;
                    }
                    final Collection<?> descriptors = childrenDescriptorCollector.getDescriptors(eObject);
                    fillContextMenu(manager, descriptors, editingDomain, eObject);
                }
                manager.add(new Separator());
                addDeleteActionToContextMenu(editingDomain, menuMgr, selection);
            }
        }
    });
    final Menu menu = menuMgr.createContextMenu(treeViewer.getControl());
    treeViewer.getControl().setMenu(menu);
}

From source file:org.eclipse.emf.ecp.internal.ui.model.ECPContentProvider.java

License:Open Source License

/** {@inheritDoc} */
@Override//from w  w w  . j av  a 2  s . c  o  m
public void notifyChanged(Notification notification) {
    final TreeViewer viewer = getViewer();
    if (viewer != null && viewer.getControl() != null && !viewer.getControl().isDisposed()) {
        if (viewerRefresh == null) {
            viewerRefresh = new ViewerRefresh(viewer);
        }

        if (viewerRefresh.addNotification((IViewerNotification) notification)) {
            viewer.getControl().getDisplay().asyncExec(viewerRefresh);
        }
    }
}

From source file:org.eclipse.emf.ecp.internal.ui.model.TreeContentProvider.java

License:Open Source License

public final void refreshViewer(final boolean isStructuralChange, final Object... objects) {
    if (objects.length == 0) {
        return;//  w  ww. j  a v a2s . c o m
    }

    final TreeViewer viewer = getViewer();
    final Control control = viewer.getControl();
    if (!control.isDisposed()) {
        final Display display = control.getDisplay();
        final ECPProject ecpProject = ECPUtil.getECPProjectManager().getProject(objects[0]);
        boolean isThreadSafe = true;
        if (ecpProject != null) {
            final InternalProvider provider = (InternalProvider) ecpProject.getProvider();
            isThreadSafe = provider.isThreadSafe();
        }
        if (display.getSyncThread() != Thread.currentThread()) {
            final Runnable refreshRunnable = createRefreshRunnable(isStructuralChange, viewer, objects);
            if (Boolean.getBoolean("enableDisplaySync") && !isThreadSafe) {
                display.syncExec(refreshRunnable);
            } else {
                display.asyncExec(refreshRunnable);
            }
        } else {
            if (isStructuralChange) {
                refresh(viewer, objects);
            } else {
                update(viewer, objects);
            }
        }
    }
}

From source file:org.eclipse.emf.ecp.internal.ui.model.TreeContentProvider.java

License:Open Source License

public static void refresh(TreeViewer viewer, Object... objects) {
    if (!viewer.getControl().isDisposed()) {
        for (final Object object : objects) {
            viewer.refresh(object);/*from   w  w  w  . ja v a2s . c  o  m*/
        }
    }
}

From source file:org.eclipse.emf.ecp.internal.ui.model.TreeContentProvider.java

License:Open Source License

public static void update(TreeViewer viewer, Object... objects) {
    if (!viewer.getControl().isDisposed()) {
        for (final Object object : objects) {
            if (object != null) {
                viewer.update(object, null);
            }//from ww  w.  j  a  v  a 2 s. c o  m
        }
    }
}

From source file:org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractJFaceTreeRenderer.java

License:Open Source License

/**
 * {@inheritDoc}// w w  w .ja v a2 s .co m
 *
 * @see org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer#renderControl(int, org.eclipse.swt.widgets.Composite,
 *      org.eclipse.emf.ecp.view.spi.model.VElement, org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
 */

@Override
protected Control renderControl(SWTGridCell cell, Composite parent)
        throws NoRendererFoundException, NoPropertyDescriptorFoundExeption {
    TreeViewer treeViewer;
    final EList<VAbstractCategorization> categorizations = getCategorizations();

    if (categorizations.size() == 1 && categorizations.get(0) instanceof VCategory) {
        final VElement child = getCategorizations().get(0);
        AbstractSWTRenderer<VElement> renderer;
        try {
            renderer = getEMFFormsRendererFactory().getRendererInstance(child, getViewModelContext());
        } catch (final EMFFormsNoRendererException ex) {
            getReportService().report(new StatusReport(new Status(IStatus.INFO, Activator.PLUGIN_ID,
                    String.format("No Renderer for %s found.", child.eClass().getName(), ex)))); //$NON-NLS-1$
            return null;
        }
        final Control render = renderer.render(cell, parent);
        renderer.finalizeRendering(parent);
        return render;

    }

    final Object detailPane = getViewModelContext().getContextValue("detailPane"); //$NON-NLS-1$
    if (detailPane != null && Composite.class.isInstance(detailPane)) {
        treeViewer = new TreeViewer(parent);

        final ScrolledComposite editorComposite = createdEditorPane(Composite.class.cast(detailPane));

        setupTreeViewer(treeViewer, editorComposite);

        initTreeViewer(treeViewer);
        Composite.class.cast(detailPane).layout();
        return treeViewer.getControl();
    }

    final SashForm sashForm = new SashForm(parent, SWT.HORIZONTAL);
    GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(sashForm);

    treeViewer = new TreeViewer(sashForm);

    final ScrolledComposite editorComposite = createdEditorPane(sashForm);

    setupTreeViewer(treeViewer, editorComposite);

    initTreeViewer(treeViewer);
    sashForm.setWeights(new int[] { 1, 3 });
    return sashForm;
}

From source file:org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt.TreeMasterDetailSWTRenderer.java

License:Open Source License

/**
 * @param treeViewer//from  w  w w.  ja v  a2 s .  co  m
 * @param editingDomain
 */
private void fillContextMenu(final TreeViewer treeViewer, final EditingDomain editingDomain) {
    final ChildrenDescriptorCollector childrenDescriptorCollector = new ChildrenDescriptorCollector();
    final List<MasterDetailAction> menuActions = readMasterDetailActions();
    final MenuManager menuMgr = new MenuManager();
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(new MasterTreeContextMenuListener(editingDomain, treeViewer,
            childrenDescriptorCollector, menuActions));
    final Menu menu = menuMgr.createContextMenu(treeViewer.getControl());
    treeViewer.getControl().setMenu(menu);
}