Example usage for org.eclipse.jface.viewers StructuredViewer getSorter

List of usage examples for org.eclipse.jface.viewers StructuredViewer getSorter

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers StructuredViewer getSorter.

Prototype

public ViewerSorter getSorter() 

Source Link

Document

Returns this viewer's sorter, or null if it does not have one.

Usage

From source file:org.eclipse.team.internal.ui.synchronize.TreeViewerAdvisor.java

License:Open Source License

/**
 * Called to set the input to a viewer. The input to a viewer is always the model created
 * by the model provider./*  w w w. j  ava  2 s. c o m*/
 * 
 * @param modelProvider
 */
public final void setInput(final ISynchronizeModelProvider modelProvider) {
    final ISynchronizeModelElement modelRoot = modelProvider.getModelRoot();
    getActionGroup().modelChanged(modelRoot);
    modelRoot.addCompareInputChangeListener(new ICompareInputChangeListener() {
        public void compareInputChanged(ICompareInput source) {
            getActionGroup().modelChanged(modelRoot);
        }
    });
    final StructuredViewer viewer = getViewer();
    if (viewer != null) {
        viewer.setSorter(modelProvider.getViewerSorter());
        viewer.setInput(modelRoot);
        modelProvider.addPropertyChangeListener(new IPropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent event) {
                if (event.getProperty() == ISynchronizeModelProvider.P_VIEWER_SORTER) {
                    if (viewer != null && !viewer.getControl().isDisposed()) {
                        viewer.getControl().getDisplay().syncExec(new Runnable() {
                            public void run() {
                                if (viewer != null && !viewer.getControl().isDisposed()) {
                                    ViewerSorter newSorter = modelProvider.getViewerSorter();
                                    ViewerSorter oldSorter = viewer.getSorter();
                                    if (newSorter == oldSorter) {
                                        viewer.refresh();
                                    } else {
                                        viewer.setSorter(newSorter);
                                    }
                                }
                            }
                        });
                    }
                }
            }
        });
    }
}

From source file:org.seasar.uruma.debug.action.UrumaDebugViewAction.java

License:Apache License

private void createWidgetHandle(final WidgetHandle wh) {
    html += HtmlTagUtil.createTrSub1("WidgetHandle Id", wh.getId());
    html += HtmlTagUtil.createTr("Class Name", wh.getClass().getName());
    html += HtmlTagUtil.createTr("widgetClass", wh.getWidgetClass().getName());

    if (StructuredViewer.class.isAssignableFrom(wh.getWidgetClass())) {
        StructuredViewer viewer = wh.<StructuredViewer>getCastWidget();
        html += HtmlTagUtil.createTr("LabelProvider", getSimpleName(viewer.getLabelProvider()));
        html += HtmlTagUtil.createTr("ContentProvider", getSimpleName(viewer.getContentProvider()));
        html += HtmlTagUtil.createTr("Comparator", getSimpleName(viewer.getComparator()));
        html += HtmlTagUtil.createTr("Sorter", getSimpleName(viewer.getSorter()));

    } else if (GenericAction.class.isAssignableFrom(wh.getWidgetClass())) {
        // TODO ?
    } else if (UrumaApplicationWindow.class.isAssignableFrom(wh.getWidgetClass())) {
        // TODO ?
    } else if (Widget.class.isAssignableFrom(wh.getWidgetClass())) {
        // TODO ?
    } else if (MenuManager.class.isAssignableFrom(wh.getWidgetClass())) {
        // TODO ?
    } else if (Control.class.isAssignableFrom(wh.getWidgetClass())) {
        // TODO ?
    }/*from ww  w  . j a v  a 2s.c om*/

    UIComponent uc = wh.getUiComponent();
    if (uc != null) {
        html += HtmlTagUtil.createTrSub2("UIComponent id", uc.getId());
        html += HtmlTagUtil.createTr("Class Name", uc.getClass().getName());
        html += HtmlTagUtil.createTr("ParentURL", uc.getParentURL().toString());
        html += HtmlTagUtil.createTr("Location", uc.getLocation());
        html += HtmlTagUtil.createTr("URL", uc.getURL().toString());
        html += HtmlTagUtil.createTr("style", uc.getStyle());
        html += HtmlTagUtil.createTr("renderer", uc.getRenderer().getClass().getName());
    }
}

From source file:org.talend.repository.viewer.ui.provider.RepositoryViewerProvider.java

License:Open Source License

@Override
protected void checkSorter(TreeViewer treeViewer) {
    ViewerSorter sorter = null;//from www .  java2  s . c  o m
    if (getRepView() != null) {
        final StructuredViewer viewer = getRepView().getViewer();
        sorter = viewer.getSorter();
    }
    final ViewerSorter viewerSorter = sorter;
    // TDI-20528
    // treeViewer.setSorter(sorter);
    treeViewer.setSorter(new TreePathViewerSorter() {

        @Override
        public int compare(Viewer viewer, TreePath parentPath, Object e1, Object e2) {
            if (e1 instanceof RepositoryNode && e2 instanceof RepositoryNode) {
                final RepositoryNode node1 = (RepositoryNode) e1;
                final RepositoryNode node2 = (RepositoryNode) e2;
                if (node1.isBin() || node1.getType().equals(ENodeType.REFERENCED_PROJECT)) { // recycle bin is
                                                                                             // always in bottom
                    return 1;
                }
                if (node2.isBin() || node2.getType().equals(ENodeType.REFERENCED_PROJECT)) { // recycle bin is
                                                                                             // always in bottom
                    return -1;
                }
                // do special for simple folder,TDI-20528
                if (node1.getType() == IRepositoryNode.ENodeType.SIMPLE_FOLDER
                        || node2.getType() == IRepositoryNode.ENodeType.SIMPLE_FOLDER) {
                    return e1.toString().compareTo(e2.toString());
                } else if (viewerSorter != null) {
                    if (viewerSorter instanceof TreePathViewerSorter) {
                        if (!node1.isInitialized() && !node2.isInitialized()) {
                            return viewerSorter.compare(viewer, e1, e2);
                        }
                        return ((TreePathViewerSorter) viewerSorter).compare(viewer, parentPath, e1, e2);
                    } else {
                        return viewerSorter.compare(viewer, e1, e2);
                    }
                }
            }
            return super.compare(viewer, parentPath, e1, e2);

        }

    });
}