Example usage for org.eclipse.jface.viewers ITreeContentProvider getElements

List of usage examples for org.eclipse.jface.viewers ITreeContentProvider getElements

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ITreeContentProvider getElements.

Prototype

@Override
public Object[] getElements(Object inputElement);

Source Link

Document

<p> <b>NOTE:</b> The returned array must not contain the given <code>inputElement</code>, since this leads to recursion issues in AbstractTreeViewer (see <a href="https://bugs.eclipse.org/9262">bug 9262</a>).

Usage

From source file:ca.uvic.cs.tagsea.tests.TagCollectionTests.java

License:Open Source License

public void testContentProvider() throws Exception {
    TagCollection tagCollection = new TagCollection();
    tagCollection.add("chris(child1)", TestPlatformFactory.instance().getMarker(), null);
    tagCollection.add("chris(child2)", TestPlatformFactory.instance().getMarker(), null);
    tagCollection.add("chris2", TestPlatformFactory.instance().getMarker(), null);

    ITreeContentProvider provider = tagCollection;
    Tag[] roots = (Tag[]) provider.getElements(new Object());
    assertEquals(2, roots.length);/*from   w  w  w.  j  a va2 s  .  c  o m*/
    assertTrue(provider.hasChildren(roots[0]));
    assertEquals(2, provider.getChildren(roots[0]).length);
    assertTrue(!provider.hasChildren(roots[1]));
}

From source file:ch.elexis.core.ui.dialogs.DiagnoseSelektor.java

License:Open Source License

public DiagnoseSelektor(Shell shell) {
    super(shell);
    setTitle(Messages.DiagnoseSelektorDialog_Title);

    // create a list of all diagnoses
    java.util.List<IConfigurationElement> list = Extensions
            .getExtensions(ExtensionPointConstantsUi.DIAGNOSECODE);

    diagnoses.add(new NoDiagnose());

    if (list != null) {
        for (IConfigurationElement ic : list) {
            try {
                PersistentObjectFactory po = (PersistentObjectFactory) ic
                        .createExecutableExtension(ExtensionPointConstantsUi.VERRECHNUNGSCODE_ELF);
                CodeSelectorFactory codeSelectorFactory = (CodeSelectorFactory) ic
                        .createExecutableExtension(ExtensionPointConstantsUi.VERRECHNUNGSCODE_CSF);
                // get all available diagnoses available (TI can not be Queried as it is
                // not in the database)
                if (!(codeSelectorFactory.getCodeSystemName().equalsIgnoreCase("TI-Code"))) { //$NON-NLS-1$
                    if (IDiagnose.class.isAssignableFrom(codeSelectorFactory.getElementClass())) {
                        Query<IDiagnose> qd = new Query<IDiagnose>(codeSelectorFactory.getElementClass());
                        diagnoses.addAll(qd.execute());
                    }//w ww  .ja  va  2 s .co m
                } else {
                    // get TI Code via content provider
                    CommonViewer cv = new CommonViewer();
                    ViewerConfigurer vc = codeSelectorFactory.createViewerConfigurer(new CommonViewer());
                    cv.create(vc, shell, SWT.NONE, this);

                    ITreeContentProvider tcp = (ITreeContentProvider) vc.getContentProvider();
                    Object[] roots = tcp.getElements(null);
                    addDiagnoses(tcp, roots);

                    cv.dispose();
                }
            } catch (CoreException ex) {
                ExHandler.handle(ex);
            }
        }
    }

    setListLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            if (element == null) {
                return "";
            }
            return ((IDiagnose) element).getLabel();
        }
    });

    setDetailsLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            if (element == null) {
                return "";
            }
            return ((IDiagnose) element).getCodeSystemName() + " " + ((IDiagnose) element).getLabel();
        }
    });
}

From source file:ch.elexis.dialogs.DiagnoseSelektor.java

License:Open Source License

public DiagnoseSelektor(Shell shell) {
    super(shell);
    setTitle(Messages.getString("DiagnoseSelektorDialog.Title"));

    // create a list of all diagnoses
    java.util.List<IConfigurationElement> list = Extensions.getExtensions("ch.elexis.Diagnosecode");

    diagnoses.add(new NoDiagnose());

    if (list != null) {
        for (IConfigurationElement ic : list) {
            try {
                PersistentObjectFactory po = (PersistentObjectFactory) ic
                        .createExecutableExtension("ElementFactory"); //$NON-NLS-1$
                CodeSelectorFactory codeSelectorFactory = (CodeSelectorFactory) ic
                        .createExecutableExtension("CodeSelectorFactory"); //$NON-NLS-1$
                // get all available diagnoses available (TI can not be Queried as it is
                // not in the database)
                if (!(codeSelectorFactory.getCodeSystemName().equalsIgnoreCase("TI-Code"))) { //$NON-NLS-1$
                    Query<IDiagnose> qd = new Query<IDiagnose>(codeSelectorFactory.getElementClass());
                    diagnoses.addAll(qd.execute());
                } else {
                    // get TI Code via content provider
                    CommonViewer cv = new CommonViewer();
                    ViewerConfigurer vc = codeSelectorFactory.createViewerConfigurer(new CommonViewer());
                    cv.create(vc, shell, SWT.NONE, this);

                    ITreeContentProvider tcp = (ITreeContentProvider) vc.getContentProvider();
                    Object[] roots = tcp.getElements(null);
                    addDiagnoses(tcp, roots);

                    cv.dispose();/*from w  w  w  . j  a  va  2 s  .co m*/
                }
            } catch (CoreException ex) {
                ExHandler.handle(ex);
            }
        }
    }

    setListLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            if (element == null) {
                return "";
            }
            return ((IDiagnose) element).getLabel();
        }
    });

    setDetailsLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            if (element == null) {
                return "";
            }
            return ((IDiagnose) element).getCodeSystemName() + " " + ((IDiagnose) element).getLabel();
        }
    });
}

From source file:com.amalto.workbench.editors.DataModelMainPage.java

License:Open Source License

private void activeMarkerItem(TreeViewer v, Element dom) {
    ITreeContentProvider provider = (ITreeContentProvider) v.getContentProvider();
    for (Object data : provider.getElements(xsdSchema)) {
        Object[] foundData = findMarkerData(provider, data, dom, new Object[0]);
        if (foundData != null) {
            TreePath treePath = new TreePath(foundData);
            v.setSelection(new TreeSelection(treePath));
            return;
        }//from w ww .j ava  2s .  c  o  m
    }
}

From source file:com.amalto.workbench.editors.DataModelMainPage.java

License:Open Source License

private Object[] findMarkerData(ITreeContentProvider provider, Object data, Element dom, Object[] pathData) {

    Element dataElement = null;/* ww  w.j  a  v a 2  s  .  co  m*/

    if (data != null) {
        Object[] newPathData = contructNewPathData(pathData, data);
        if (data instanceof XSDComponent) {
            dataElement = ((XSDComponent) data).getElement();
        } else if (data instanceof Element) {
            dataElement = (Element) data;
        }
        if (dataElement != null && dataElement.isEqualNode(dom)) {

            return newPathData;
        }
        for (Object childData : provider.getElements(data)) {

            Object[] foundData = findMarkerData(provider, childData, dom, newPathData);
            if (foundData != null) {
                return foundData;
            }
        }
    }

    return null;
}

From source file:com.android.sdkuilib.internal.repository.sdkman2.PackagesPage.java

License:Apache License

private void onTreeDoubleClick(DoubleClickEvent event) {
    assert event.getSource() == mTreeViewer;
    ISelection sel = event.getSelection();
    if (sel.isEmpty() || !(sel instanceof ITreeSelection)) {
        return;/*from  www  .  ja  v a2  s .com*/
    }
    ITreeSelection tsel = (ITreeSelection) sel;
    Object elem = tsel.getFirstElement();
    if (elem == null) {
        return;
    }

    ITreeContentProvider provider = (ITreeContentProvider) mTreeViewer.getContentProvider();
    Object[] children = provider.getElements(elem);
    if (children == null) {
        return;
    }

    if (children.length > 0) {
        // If the element has children, expand/collapse it.
        if (mTreeViewer.getExpandedState(elem)) {
            mTreeViewer.collapseToLevel(elem, 1);
        } else {
            mTreeViewer.expandToLevel(elem, 1);
        }
    } else {
        // If the element is a terminal one, select/deselect it.
        checkAndExpandItem(elem, !mTreeViewer.getChecked(elem), false /*fixChildren*/, true /*fixParent*/);
        updateButtonsState();
    }
}

From source file:com.android.sdkuilib.internal.repository.sdkman2.PackagesPage.java

License:Apache License

/**
 * Synchronize the 'checked' state of PkgItems in the tree with their internal isChecked state.
 *//*ww w. j  a  v  a 2 s. c  o  m*/
private void syncViewerSelection() {
    ITreeContentProvider provider = (ITreeContentProvider) mTreeViewer.getContentProvider();

    Object input = mTreeViewer.getInput();
    if (input == null) {
        return;
    }
    for (Object cat : provider.getElements(input)) {
        Object[] children = provider.getElements(cat);
        boolean allChecked = children.length > 0;
        for (Object child : children) {
            if (child instanceof PkgItem) {
                PkgItem item = (PkgItem) child;
                boolean checked = item.isChecked();
                allChecked &= checked;

                if (checked != mTreeViewer.getChecked(item)) {
                    if (checked) {
                        if (!mTreeViewer.getExpandedState(cat)) {
                            mTreeViewer.setExpandedState(cat, true);
                        }
                    }
                    checkAndExpandItem(item, checked, true/*fixChildren*/, false/*fixParent*/);
                }
            }
        }

        if (allChecked != mTreeViewer.getChecked(cat)) {
            mTreeViewer.setChecked(cat, allChecked);
        }
    }
}

From source file:com.android.sdkuilib.internal.repository.ui.PackagesPage.java

License:Apache License

/**
 * Synchronize the 'checked' state of PkgItems in the tree with their internal isChecked state.
 *//*from   w w w .  j  a  v  a  2 s .c  om*/
private void syncViewerSelection() {
    ITreeContentProvider provider = (ITreeContentProvider) mTreeViewer.getContentProvider();

    Object input = mTreeViewer.getInput();
    if (input != null) {
        for (Object cat : provider.getElements(input)) {
            Object[] children = provider.getElements(cat);
            boolean allChecked = children.length > 0;
            for (Object child : children) {
                if (child instanceof PkgItem) {
                    PkgItem item = (PkgItem) child;
                    boolean checked = item.isChecked();
                    allChecked &= checked;

                    if (checked != mTreeViewer.getChecked(item)) {
                        if (checked) {
                            if (!mTreeViewer.getExpandedState(cat)) {
                                mTreeViewer.setExpandedState(cat, true);
                            }
                        }
                        checkAndExpandItem(item, checked, true/*fixChildren*/, false/*fixParent*/);
                    }
                }
            }

            if (allChecked != mTreeViewer.getChecked(cat)) {
                mTreeViewer.setChecked(cat, allChecked);
            }
        }
    }

    updateButtonsState();
}

From source file:com.aptana.ide.views.outline.UnifiedOutlineProvider.java

License:Open Source License

/**
 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
 *///  ww  w .j a  va2  s.c om
public Object[] getElements(Object inputElement) {
    Object[] result = NO_OBJECTS;

    if (inputElement instanceof UnifiedEditor) {
        UnifiedEditor editor = (UnifiedEditor) inputElement;
        EditorFileContext fileContext = editor.getFileContext();
        IParseState parseState = fileContext.getParseState();
        if (parseState == null) {
            return NO_OBJECTS;
        }
        IParseNode node = parseState.getParseResults();

        String defaultLanguage = fileContext.getDefaultLanguage();
        this.setCurrentLanguage(defaultLanguage);

        if (this._currentProviders != null) {
            ITreeContentProvider contentProvider = this._currentProviders.contentProvider;

            if (contentProvider != null) {
                // initing external entities resolving context
                if (contentProvider instanceof IOutlineContentProviderExtension) {
                    IOutlineContentProviderExtension resolver = (IOutlineContentProviderExtension) contentProvider;

                    resolver.setPathResolver(this._resolver);
                }

                result = this._currentProviders.contentProvider.getElements(node);
            }
        }
    } else {
        if (this._currentProviders != null) {
            switchLanguage(inputElement);

            ITreeContentProvider contentProvider = this._currentProviders.contentProvider;

            if (contentProvider != null) {
                // initing external entities resolving context
                if (contentProvider instanceof IOutlineContentProviderExtension) {
                    IOutlineContentProviderExtension resolver = (IOutlineContentProviderExtension) contentProvider;

                    resolver.setPathResolver(this._resolver);
                }

                result = contentProvider.getElements(inputElement);
            }
        }
    }

    return result;
}

From source file:com.aptana.index.core.ui.views.IndexViewContentProvider.java

License:Open Source License

public Object[] getElements(Object inputElement) {
    List<ITreeContentProvider> providers = this.getProcessors();
    List<Object> result = new ArrayList<Object>();

    for (ITreeContentProvider provider : providers) {
        Object[] items = provider.getElements(inputElement);

        result.addAll(Arrays.asList(items));
    }/* w  w  w  .  ja v a2 s  . c  o m*/

    return result.toArray();
}