Example usage for org.eclipse.jface.viewers ContentViewer getContentProvider

List of usage examples for org.eclipse.jface.viewers ContentViewer getContentProvider

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ContentViewer getContentProvider.

Prototype

public IContentProvider getContentProvider() 

Source Link

Document

Returns the content provider used by this viewer, or null if this view does not yet have a content provider.

Usage

From source file:at.spardat.xma.guidesign.presentation.GuidesignEditor.java

License:Open Source License

/**
 * This deals with how we want selection in the outliner to affect the other views.
 * <!-- begin-user-doc -->//from  w w  w  . j  a va  2  s.  c  om
 * <!-- end-user-doc -->
 * @modified
 */
public void handleContentOutlineSelection(ISelection selection) {
    if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
        Iterator selectedElements = ((IStructuredSelection) selection).iterator();
        if (selectedElements.hasNext()) {
            // Get the first selected element.
            Object selectedElement = selectedElements.next();
            // Set the input to the widget.
            if (currentViewerPane.getViewer().getInput() != selectedElement) {
                debug("Outline Selection set input: " + selectedElement);
                // Try to collect information about a bug that sometimes seems to occur
                // This bug invokes the following assert: 
                // org.eclipse.core.runtime.AssertionFailedException: assertion failed: ContentViewer must have a content provider  
                // The assert is located in: org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:266)
                // TODO find and fix this bug
                if (currentViewerPane.getViewer() instanceof ContentViewer) {
                    ContentViewer contentViewer = (ContentViewer) currentViewerPane.getViewer();
                    if (contentViewer.getContentProvider() == null) {
                        RuntimeException ex = new RuntimeException(
                                "The provider of the viewer of the currentViewerPane is null.");
                        GUIDesignerPlugin.INSTANCE.log("selection = " + selection);
                        GUIDesignerPlugin.INSTANCE.log("selectedElement = " + selectedElement);
                        GUIDesignerPlugin.INSTANCE.log("currentViewerPane = " + currentViewerPane);
                        GUIDesignerPlugin.INSTANCE.log("contentViewer class = " + contentViewer.getClass());
                        GUIDesignerPlugin.INSTANCE.log(ex);
                        throw ex;
                    }
                }
                currentViewerPane.getViewer().setInput(selectedElement);
                currentViewerPane.setTitle(selectedElement);
            }
            // If it's the graphviewer, then we want it to select the same selection as this selection.
            if (currentViewerPane.getViewer() == graphViewer) {
                // Set the selection to the widget.
                graphViewer.setSelection((StructuredSelection) selection, true);
            }
        }
    }
}

From source file:org.eclipse.e4.xwt.javabean.metadata.properties.InputBeanProperty.java

License:Open Source License

@Override
public void setValue(Object target, Object value) throws IllegalArgumentException, IllegalAccessException,
        InvocationTargetException, SecurityException, NoSuchFieldException {
    if (value == null) {
        return;/*from w w w. j av  a  2s  .  com*/
    }

    if (value instanceof Class<?>) {
        Class<?> type = (Class<?>) value;
        if (type.isEnum()) {
            value = new WritableList(XWT.getRealm(), Arrays.asList(type.getEnumConstants()), type);
        }
    }

    Class<?> elementType = getElementType();
    if (value.getClass().isArray()) {
        elementType = value.getClass().getComponentType();
    }
    if (value instanceof IObservableList) {
        IObservableList list = (IObservableList) value;
        Object listElementType = list.getElementType();
        if (listElementType instanceof Class<?>) {
            elementType = (Class<?>) listElementType;
        }
    } else if (elementType == Object.class && value instanceof Collection<?>) {
        Collection<?> collection = (Collection<?>) value;
        for (Iterator<?> iterator = collection.iterator(); iterator.hasNext();) {
            Object object = (Object) iterator.next();
            if (object != null) {
                elementType = object.getClass();
                break;
            }
        }
    }

    if (target instanceof ContentViewer) {
        ContentViewer viewer = (ContentViewer) target;

        String[] propertyNames = JFacesHelper.getViewerProperties(viewer);
        if (target instanceof AbstractTreeViewer) {
            IContentProvider contentProvider = (IContentProvider) viewer.getContentProvider();
            if (contentProvider instanceof ObservableTreeContentProvider) {
                ObservableTreeContentProvider xwtContentProvider = (ObservableTreeContentProvider) contentProvider;
                xwtContentProvider.updateContext(viewer, value);
            }
            if (contentProvider instanceof ObservableTreeContentProvider) {
                ObservableTreeContentProvider listContentProvider = (ObservableTreeContentProvider) contentProvider;
                viewer.setLabelProvider(new ObservableMapLabelProvider(viewer,
                        listContentProvider.getKnownElements(), propertyNames));
            }
        } else {
            IContentProvider contentProvider = viewer.getContentProvider();
            if (value instanceof List<?> || value.getClass().isArray()) {
                if (contentProvider == null) {
                    contentProvider = new ObservableListContentProvider();
                    viewer.setContentProvider(contentProvider);
                }
                if (propertyNames != null && propertyNames.length > 0 && hasDefaultLabelProvider(viewer)
                        && contentProvider instanceof ObservableListContentProvider) {
                    ObservableListContentProvider listContentProvider = (ObservableListContentProvider) contentProvider;
                    viewer.setLabelProvider(new ObservableMapLabelProvider(viewer,
                            listContentProvider.getKnownElements(), propertyNames));
                }
            } else if (value instanceof Set<?>) {
                if (contentProvider == null) {
                    contentProvider = new ObservableSetContentProvider();
                    viewer.setContentProvider(contentProvider);
                }
                if (propertyNames != null && propertyNames.length > 0 && hasDefaultLabelProvider(viewer)
                        && contentProvider instanceof ObservableSetContentProvider) {
                    ObservableSetContentProvider setContentProvider = (ObservableSetContentProvider) contentProvider;
                    viewer.setLabelProvider(new ObservableMapLabelProvider(viewer,
                            setContentProvider.getKnownElements(), propertyNames));
                }
            }
        }
    }
    if (value instanceof CollectionViewSource) {
        value = ((CollectionViewSource) value).getView();
    } else if ((value instanceof Collection<?>) && !(value instanceof IObservableCollection)) {
        value = ObjectUtil.resolveValue(value, IObservableCollection.class, value);
    }
    super.setValue(target, value);
}

From source file:org.eclipse.egit.ui.internal.staging.StagingView.java

License:Open Source License

private StagingViewContentProvider getContentProvider(ContentViewer viewer) {
    return (StagingViewContentProvider) viewer.getContentProvider();
}

From source file:org.eclipse.emf.compare.ui.viewer.structure.ModelStructureMergeViewerService.java

License:Open Source License

/**
 * Returns all visible {@link DiffElement}s from the given compare in and compare configuration in the
 * given viewer.//from  ww w .j a  va  2s.c o m
 * 
 * @param input
 *            The compare input of the editor.
 * @param parent
 *            The parent composite.
 * @param configuration
 *            The compare configuration.
 * @return Returns all visible {@link DiffElement}s from the given compare in and compare configuration in
 *         the given viewer
 * @deprecated
 */
@Deprecated
public static List<DiffElement> getvisibleDiffElements(ICompareInput input, Composite parent,
        CompareConfiguration configuration) {
    final List<DiffElement> ret = new ArrayList<DiffElement>();

    final ContentViewer contentViewer = (ContentViewer) CompareUI.findStructureViewer(null, input, parent,
            configuration);
    final ITreeContentProvider contentProvider = (ITreeContentProvider) contentViewer.getContentProvider();

    final Object[] elements = contentProvider.getElements(contentViewer.getInput());
    for (Object object : elements) {
        if (object instanceof DiffElement) {
            ret.add((DiffElement) object);
        }
        ret.addAll(allChildren(object, contentProvider));
    }
    return ret;
}

From source file:org.eclipse.emf.compare.ui.viewer.structure.ModelStructureMergeViewerService.java

License:Open Source License

/**
 * Returns all visible elements from the given compare in and compare configuration in the given viewer
 * grouped by selected groups./*from   www  .ja v  a 2 s  . c o  m*/
 * 
 * @param input
 *            The compare input of the editor.
 * @param parent
 *            The parent composite.
 * @param configuration
 *            The compare configuration.
 * @return all visible elements from the given compare in and compare configuration in the given viewer
 *         grouped by selected groups.
 * @deprecated
 */
@Deprecated
public static Map<UIDifferenceGroup, List<DiffElement>> getGroupedDiffElements(ICompareInput input,
        Composite parent, CompareConfiguration configuration) {
    final Map<UIDifferenceGroup, List<DiffElement>> ret = new HashMap<UIDifferenceGroup, List<DiffElement>>();

    final ContentViewer contentViewer = (ContentViewer) CompareUI.findStructureViewer(null, input, parent,
            configuration);
    final ITreeContentProvider contentProvider = (ITreeContentProvider) contentViewer.getContentProvider();

    final Object[] elements = contentProvider.getElements(contentViewer.getInput());
    for (Object object : elements) {
        if (object instanceof UIDifferenceGroup) {
            final UIDifferenceGroup diffGroup = (UIDifferenceGroup) object;
            ret.put(diffGroup, allChildren(object, contentProvider));
        }

    }

    return ret;
}

From source file:org.kalypso.contribs.eclipse.jface.viewers.ViewerUtilities.java

License:Open Source License

/**
 * Sets the selection of this viewer to its first input-element.
 * <p>// w  ww .j ava 2 s  . c  o  m
 * The content provider must be a {@link IStructuredContentProvider}.
 * </p>
 */
public static void selectFirstElement(final ContentViewer viewer) {
    final IContentProvider contentProvider = viewer.getContentProvider();
    if (contentProvider instanceof IStructuredContentProvider) {
        final IStructuredContentProvider provider = (IStructuredContentProvider) contentProvider;
        final Object[] elements = provider.getElements(viewer.getInput());
        if (elements != null && elements.length > 0)
            viewer.setSelection(new StructuredSelection(elements[0]), true);
    }
}

From source file:org.reuseware.coconut.description.classify.views.facet.JFaceFacetView.java

License:Open Source License

@Override
public void refreshContext(FacetTypeDecorator context, Facet select) {
    if (context == null)
        return;// w w w .  j av  a2s .  c  om

    // update the viewer
    ContentViewer viewer = getViewer();
    if (viewer != null) {
        if (viewer.getControl().isDisposed() || viewer.getContentProvider() == null) {
            renewView();
            setContentProvider(context.getDecoratee().isMultiValue());
        }
        viewer.setInput(context);
    }

    // if there were an old selection, set viewer's selection
    if (select != null)
        supportEdit(select);

    super.refreshContext(context, select);
}

From source file:org.rssowl.ui.internal.ApplicationServer.java

License:Open Source License

private void processDisplayOperation(Socket socket, String message) {
    List<Object> elements = new ArrayList<Object>();

    /* Substring to get the Parameters String */
    int start = message.indexOf('/');
    int end = message.indexOf(' ', start);
    String parameters = message.substring(start, end);

    /* Retrieve the ID */
    String viewerId = null;// w  w  w.  j a va2  s . c  o m
    int idIndex = parameters.indexOf(ID);
    if (idIndex >= 0) {
        start = idIndex + ID.length();
        end = parameters.indexOf('&', start);
        if (end < 0)
            end = parameters.length();

        viewerId = parameters.substring(start, end);
    }

    /* Ask for ContentProvider of Viewer */
    ContentViewer viewer = fRegistry.get(viewerId);
    if (viewer instanceof NewsBrowserViewer && viewer.getContentProvider() != null) {
        IStructuredContentProvider newsContentProvider = (IStructuredContentProvider) viewer
                .getContentProvider();

        /* Look for Folders that are to displayed */
        int displayFolderIndex = parameters.indexOf(OP_DISPLAY_FOLDER);
        if (displayFolderIndex >= 0) {
            start = displayFolderIndex + OP_DISPLAY_FOLDER.length();
            end = parameters.indexOf('&', start);
            if (end < 0)
                end = parameters.length();

            StringTokenizer tokenizer = new StringTokenizer(parameters.substring(start, end), ",");//$NON-NLS-1$
            while (tokenizer.hasMoreElements()) {
                FolderReference ref = new FolderReference(Long.valueOf((String) tokenizer.nextElement()));
                elements.addAll(Arrays.asList(newsContentProvider.getElements(ref)));
            }
        }

        /* Look for BookMarks that are to displayed */
        int displayBookMarkIndex = parameters.indexOf(OP_DISPLAY_BOOKMARK);
        if (displayBookMarkIndex >= 0) {
            start = displayBookMarkIndex + OP_DISPLAY_BOOKMARK.length();
            end = parameters.indexOf('&', start);
            if (end < 0)
                end = parameters.length();

            StringTokenizer tokenizer = new StringTokenizer(parameters.substring(start, end), ",");//$NON-NLS-1$
            while (tokenizer.hasMoreElements()) {
                BookMarkReference ref = new BookMarkReference(Long.valueOf((String) tokenizer.nextElement()));
                elements.addAll(Arrays.asList(newsContentProvider.getElements(ref)));
            }
        }

        /* Look for NewsBins that are to displayed */
        int displayNewsBinsIndex = parameters.indexOf(OP_DISPLAY_NEWSBIN);
        if (displayNewsBinsIndex >= 0) {
            start = displayNewsBinsIndex + OP_DISPLAY_NEWSBIN.length();
            end = parameters.indexOf('&', start);
            if (end < 0)
                end = parameters.length();

            StringTokenizer tokenizer = new StringTokenizer(parameters.substring(start, end), ",");//$NON-NLS-1$
            while (tokenizer.hasMoreElements()) {
                NewsBinReference ref = new NewsBinReference(Long.valueOf((String) tokenizer.nextElement()));
                elements.addAll(Arrays.asList(newsContentProvider.getElements(ref)));
            }
        }

        /* Look for SearchMarks that are to displayed */
        int displaySearchMarkIndex = parameters.indexOf(OP_DISPLAY_SEARCHMARK);
        if (displaySearchMarkIndex >= 0) {
            start = displaySearchMarkIndex + OP_DISPLAY_SEARCHMARK.length();
            end = parameters.indexOf('&', start);
            if (end < 0)
                end = parameters.length();

            StringTokenizer tokenizer = new StringTokenizer(parameters.substring(start, end), ",");//$NON-NLS-1$
            while (tokenizer.hasMoreElements()) {
                SearchMarkReference ref = new SearchMarkReference(
                        Long.valueOf((String) tokenizer.nextElement()));
                elements.addAll(Arrays.asList(newsContentProvider.getElements(ref)));
            }
        }

        /* Look for News that are to displayed */
        int displayNewsIndex = parameters.indexOf(OP_DISPLAY_NEWS);
        if (displayNewsIndex >= 0) {
            start = displayNewsIndex + OP_DISPLAY_NEWS.length();
            end = parameters.indexOf('&', start);
            if (end < 0)
                end = parameters.length();

            StringTokenizer tokenizer = new StringTokenizer(parameters.substring(start, end), ",");//$NON-NLS-1$
            while (tokenizer.hasMoreElements()) {
                NewsReference ref = new NewsReference(Long.valueOf((String) tokenizer.nextElement()));
                elements.addAll(Arrays.asList(newsContentProvider.getElements(ref)));
            }
        }
    }

    /* Reply to the Socket */
    reply(socket, viewerId, elements.toArray());
}

From source file:org.xmind.ui.internal.handlers.RenameStyleHandler.java

License:Open Source License

private void renameStyleInView(IStyle style, IWorkbenchPart view) {
    ContentViewer viewer = (ContentViewer) view.getAdapter(ContentViewer.class);
    if (viewer == null)
        return;//from   www .  j  ava2 s  .  c o m

    IContentProvider contentProvider = viewer.getContentProvider();
    if (!(contentProvider instanceof ICategorizedContentProvider))
        return;

    Object category = ((ICategorizedContentProvider) contentProvider).getCategory(style);
    System.out.println(category);
}