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

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

Introduction

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

Prototype

@Override
public IBaseLabelProvider getLabelProvider() 

Source Link

Document

The tree viewer implementation of this Viewer framework method ensures that the given label provider is an instance of either ITableLabelProvider or ILabelProvider.

Usage

From source file:org.codecover.eclipse.views.controls.RedundancyViewerFactory.java

License:Open Source License

private static void configureViewer(final TreeViewer viewer, final boolean withTestSessionColumn,
        final Runnable disposeRunnable) {
    TreeColumnLayout layout = new TreeColumnLayout();
    TreeColumn column;//w w  w .j  a v  a 2s . co m

    viewer.getTree().setRedraw(false);

    viewer.getTree().getParent().setLayout(layout);

    // set providers
    viewer.setContentProvider(new ViewerContentProvider(disposeRunnable));
    viewer.setLabelProvider(new ViewerLabelProvider(withTestSessionColumn));

    // add columns to viewer
    viewer.getTree().setHeaderVisible(true);
    // name column
    column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.NAME.getIndex(withTestSessionColumn));
    column.setText(Columns.NAME.getText());
    column.setWidth(120);
    layout.setColumnData(column, new ColumnWeightData(52, 120));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_NAME }) {

        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            return Collator.getInstance().compare(
                    this.lblProvider.getColumnText(o1, Columns.NAME.getIndex(withTestSessionColumn)),
                    this.lblProvider.getColumnText(o2, Columns.NAME.getIndex(withTestSessionColumn)));
        }
    };
    // test session column (optional)
    if (withTestSessionColumn) {
        column = new TreeColumn(viewer.getTree(), SWT.LEAD,
                Columns.TESTSESSION.getIndex(withTestSessionColumn));
        column.setText(Columns.TESTSESSION.getText());
        column.setWidth(100);
        layout.setColumnData(column, new ColumnWeightData(16, 100));
        new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_NAME }) {

            private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

            @Override
            protected int doCompare(Viewer viewer, Object o1, Object o2) {
                return Collator.getInstance().compare(
                        this.lblProvider.getColumnText(o1, Columns.TESTSESSION.getIndex(withTestSessionColumn)),
                        this.lblProvider.getColumnText(o2,
                                Columns.TESTSESSION.getIndex(withTestSessionColumn)));
            }
        };
    }
    // Redundancy columns:
    column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.ST_REDUNDANCY.getIndex(withTestSessionColumn));
    column.setText(Columns.ST_REDUNDANCY.getText());
    column.setWidth(80);
    layout.setColumnData(column, new ColumnWeightData(16, 80));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {

        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            String str1 = this.lblProvider.getColumnText(o1,
                    Columns.ST_REDUNDANCY.getIndex(withTestSessionColumn));
            String str2 = this.lblProvider.getColumnText(o2,
                    Columns.ST_REDUNDANCY.getIndex(withTestSessionColumn));
            if (str1.compareTo("NaN") == 0) {
                return 1;
            } else if (str2.compareTo("NaN") == 0) {
                return -1;
            } else {
                double d1 = Double.parseDouble(str1);
                double d2 = Double.parseDouble(str2);
                if (d1 <= d2) {
                    return 1;
                } else {
                    return -1;
                }
            }
        }
    };

    column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.BR_REDUNDANCY.getIndex(withTestSessionColumn));
    column.setText(Columns.BR_REDUNDANCY.getText());
    column.setWidth(80);
    layout.setColumnData(column, new ColumnWeightData(16, 80));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {

        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            String str1 = this.lblProvider.getColumnText(o1,
                    Columns.BR_REDUNDANCY.getIndex(withTestSessionColumn));
            String str2 = this.lblProvider.getColumnText(o2,
                    Columns.BR_REDUNDANCY.getIndex(withTestSessionColumn));
            if (str1.compareTo("NaN") == 0) {
                return 1;
            } else if (str2.compareTo("NaN") == 0) {
                return -1;
            } else {
                double d1 = Double.parseDouble(str1);
                double d2 = Double.parseDouble(str2);
                if (d1 <= d2) {
                    return 1;
                } else {
                    return -1;
                }
            }
        }
    };

    column = new TreeColumn(viewer.getTree(), SWT.LEAD,
            Columns.COND_REDUNDANCY.getIndex(withTestSessionColumn));
    column.setText(Columns.COND_REDUNDANCY.getText());
    column.setWidth(80);
    layout.setColumnData(column, new ColumnWeightData(16, 80));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {

        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            String str1 = this.lblProvider.getColumnText(o1,
                    Columns.COND_REDUNDANCY.getIndex(withTestSessionColumn));
            String str2 = this.lblProvider.getColumnText(o2,
                    Columns.COND_REDUNDANCY.getIndex(withTestSessionColumn));
            if (str1.compareTo("NaN") == 0) {
                return 1;
            } else if (str2.compareTo("NaN") == 0) {
                return -1;
            } else {
                double d1 = Double.parseDouble(str1);
                double d2 = Double.parseDouble(str2);
                if (d1 <= d2) {
                    return 1;
                } else {
                    return -1;
                }
            }
        }
    };

    column = new TreeColumn(viewer.getTree(), SWT.LEAD,
            Columns.LOOP_REDUNDANCY.getIndex(withTestSessionColumn));
    column.setText(Columns.LOOP_REDUNDANCY.getText());
    column.setWidth(80);
    layout.setColumnData(column, new ColumnWeightData(16, 80));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {

        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            String str1 = this.lblProvider.getColumnText(o1,
                    Columns.LOOP_REDUNDANCY.getIndex(withTestSessionColumn));
            String str2 = this.lblProvider.getColumnText(o2,
                    Columns.LOOP_REDUNDANCY.getIndex(withTestSessionColumn));
            if (str1.compareTo("NaN") == 0) {
                return 1;
            } else if (str2.compareTo("NaN") == 0) {
                return -1;
            } else {
                double d1 = Double.parseDouble(str1);
                double d2 = Double.parseDouble(str2);
                if (d1 <= d2) {
                    return 1;
                } else {
                    return -1;
                }
            }
        }
    };

    column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.REDUNDANCY.getIndex(withTestSessionColumn));
    column.setText(Columns.REDUNDANCY.getText());
    column.setWidth(80);
    layout.setColumnData(column, new ColumnWeightData(16, 80));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {

        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            String str1 = this.lblProvider.getColumnText(o1,
                    Columns.REDUNDANCY.getIndex(withTestSessionColumn));
            String str2 = this.lblProvider.getColumnText(o2,
                    Columns.REDUNDANCY.getIndex(withTestSessionColumn));
            if (str1.compareTo("NaN") == 0) {
                return 1;
            } else if (str2.compareTo("NaN") == 0) {
                return -1;
            } else {
                double d1 = Double.parseDouble(str1);
                double d2 = Double.parseDouble(str2);
                if (d1 <= d2) {
                    return 1;
                } else {
                    return -1;
                }
            }
        }
    };

    // Covered Items columns:
    column = new TreeColumn(viewer.getTree(), SWT.LEAD,
            Columns.ST_COVEREDITEMS.getIndex(withTestSessionColumn));
    column.setText(Columns.ST_COVEREDITEMS.getText());
    column.setWidth(60);
    layout.setColumnData(column, new ColumnWeightData(16, 60));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {

        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            int a = Integer.parseInt(this.lblProvider.getColumnText(o1,
                    Columns.ST_COVEREDITEMS.getIndex(withTestSessionColumn)));
            int b = Integer.parseInt(this.lblProvider.getColumnText(o2,
                    Columns.ST_COVEREDITEMS.getIndex(withTestSessionColumn)));
            if (a <= b) {
                return 1;
            } else {
                return -1;
            }
        }
    };

    column = new TreeColumn(viewer.getTree(), SWT.LEAD,
            Columns.BR_COVEREDITEMS.getIndex(withTestSessionColumn));
    column.setText(Columns.BR_COVEREDITEMS.getText());
    column.setWidth(60);
    layout.setColumnData(column, new ColumnWeightData(16, 60));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {

        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            int a = Integer.parseInt(this.lblProvider.getColumnText(o1,
                    Columns.BR_COVEREDITEMS.getIndex(withTestSessionColumn)));
            int b = Integer.parseInt(this.lblProvider.getColumnText(o2,
                    Columns.BR_COVEREDITEMS.getIndex(withTestSessionColumn)));
            if (a <= b) {
                return 1;
            } else {
                return -1;
            }
        }
    };

    column = new TreeColumn(viewer.getTree(), SWT.LEAD,
            Columns.COND_COVEREDITEMS.getIndex(withTestSessionColumn));
    column.setText(Columns.COND_COVEREDITEMS.getText());
    column.setWidth(60);
    layout.setColumnData(column, new ColumnWeightData(16, 60));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {

        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            int a = Integer.parseInt(this.lblProvider.getColumnText(o1,
                    Columns.COND_COVEREDITEMS.getIndex(withTestSessionColumn)));
            int b = Integer.parseInt(this.lblProvider.getColumnText(o2,
                    Columns.COND_COVEREDITEMS.getIndex(withTestSessionColumn)));
            if (a <= b) {
                return 1;
            } else {
                return -1;
            }
        }
    };

    column = new TreeColumn(viewer.getTree(), SWT.LEAD,
            Columns.LOOP_COVEREDITEMS.getIndex(withTestSessionColumn));
    column.setText(Columns.LOOP_COVEREDITEMS.getText());
    column.setWidth(60);
    layout.setColumnData(column, new ColumnWeightData(16, 60));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {

        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            int a = Integer.parseInt(this.lblProvider.getColumnText(o1,
                    Columns.LOOP_COVEREDITEMS.getIndex(withTestSessionColumn)));
            int b = Integer.parseInt(this.lblProvider.getColumnText(o2,
                    Columns.LOOP_COVEREDITEMS.getIndex(withTestSessionColumn)));
            if (a <= b) {
                return 1;
            } else {
                return -1;
            }
        }
    };

    column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.COVEREDITEMS.getIndex(withTestSessionColumn));
    column.setText(Columns.COVEREDITEMS.getText());
    column.setWidth(60);
    layout.setColumnData(column, new ColumnWeightData(16, 60));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {

        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            int a = Integer.parseInt(
                    this.lblProvider.getColumnText(o1, Columns.COVEREDITEMS.getIndex(withTestSessionColumn)));
            int b = Integer.parseInt(
                    this.lblProvider.getColumnText(o2, Columns.COVEREDITEMS.getIndex(withTestSessionColumn)));
            if (a <= b) {
                return 1;
            } else {
                return -1;
            }
        }
    };

    viewer.getTree().setRedraw(true);
}

From source file:org.codecover.eclipse.views.controls.TestSessionsViewerFactory.java

License:Open Source License

private static void configureViewer(final TreeViewer viewer, final boolean withTestSessionColumn,
        final Runnable disposeRunnable) {
    TreeColumnLayout layout = new TreeColumnLayout();
    TreeColumn column;/*www. j a va  2s .c om*/

    viewer.getTree().setRedraw(false);

    viewer.getTree().getParent().setLayout(layout);

    // set providers
    viewer.setContentProvider(new ViewerContentProvider(disposeRunnable));
    viewer.setLabelProvider(new ViewerLabelProvider(withTestSessionColumn));

    // add columns to viewer
    viewer.getTree().setHeaderVisible(true);
    // name column
    column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.NAME.getIndex(withTestSessionColumn));
    column.setText(Columns.NAME.getText());
    column.setWidth(120);
    layout.setColumnData(column, new ColumnWeightData(52, 120));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_NAME }) {
        private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            return Collator.getInstance().compare(
                    this.lblProvider.getColumnText(o1, Columns.NAME.getIndex(withTestSessionColumn)),
                    this.lblProvider.getColumnText(o2, Columns.NAME.getIndex(withTestSessionColumn)));
        }
    };
    // test session column (optional)
    if (withTestSessionColumn) {
        column = new TreeColumn(viewer.getTree(), SWT.LEAD,
                Columns.TESTSESSION.getIndex(withTestSessionColumn));
        column.setText(Columns.TESTSESSION.getText());
        column.setWidth(100);
        layout.setColumnData(column, new ColumnWeightData(16, 100));
        new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_NAME }) {
            private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider();

            @Override
            protected int doCompare(Viewer viewer, Object o1, Object o2) {
                return Collator.getInstance().compare(
                        this.lblProvider.getColumnText(o1, Columns.TESTSESSION.getIndex(withTestSessionColumn)),
                        this.lblProvider.getColumnText(o2,
                                Columns.TESTSESSION.getIndex(withTestSessionColumn)));
            }
        };
    }
    // date column
    column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.DATE.getIndex(withTestSessionColumn));
    column.setText(Columns.DATE.getText());
    column.setWidth(80);
    layout.setColumnData(column, new ColumnWeightData(16, 80));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {
        private final DateComparator comparator = new DateComparator();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            return this.comparator.compare(viewer, o1, o2);
        }
    };
    // time column
    column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.TIME.getIndex(withTestSessionColumn));
    column.setText(Columns.TIME.getText());
    column.setWidth(60);
    layout.setColumnData(column, new ColumnWeightData(16, 60));
    new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) {
        private final DateComparator comparator = new DateComparator();

        @Override
        protected int doCompare(Viewer viewer, Object o1, Object o2) {
            return this.comparator.compare(viewer, o1, o2);
        }
    };

    viewer.getTree().setRedraw(true);
}

From source file:org.deidentifier.arx.gui.view.impl.common.ClipboardHandlerTree.java

License:Open Source License

/**
 * Access to tree viewer//from  w ww.  java  2  s .  co  m
 * @param tree
 * @param item
 * @param index
 * @return
 */
private String getLabel(TreeViewer tree, Object item, int index) {
    return ((ITableLabelProvider) tree.getLabelProvider()).getColumnText(item, index);
}

From source file:org.deved.antlride.stringtemplate.internal.ui.text.StringTemplateOutlineInformationControl.java

License:Open Source License

@Override
protected TreeViewer createTreeViewer(Composite parent, int style) {
    TreeViewer treeViewer = super.createTreeViewer(parent, style);
    // hook to show custom icons
    AppearanceAwareLabelProvider labelProvider = (AppearanceAwareLabelProvider) treeViewer.getLabelProvider();
    labelProvider.addLabelDecorator(new StringTemplateOutlineLabelDecorator());
    return treeViewer;
}

From source file:org.eclipse.cdt.cpp.ui.internal.editor.contentoutliner.CppContentOutlinePage.java

License:Open Source License

private void hackRedraw() {
    TreeViewer treeViewer = getTreeViewer();
    Tree tree = treeViewer.getTree();/*  w w  w .  ja  va2 s  .c  o  m*/

    TreeItem[] items = tree.getItems();
    ArrayList newItems = _elementRoot.getAssociated(_elementRoot.getDataStore().getContentsRelation());
    if (newItems.size() > 0) {
        for (int i = 0; i < items.length; i++) {
            TreeItem item = items[i];
            Object data = item.getData();
            DataElement oldElement = (DataElement) data;

            if (newItems.size() > i) {
                DataElement newElement = (DataElement) newItems.get(i);
                if (oldElement != newElement) {
                    item.setData(newElement);
                    DataElementLabelProvider provider = (DataElementLabelProvider) treeViewer
                            .getLabelProvider();
                    // need to really do an update though to register properly
                    item.setText(provider.getText(newElement));
                    item.setImage(provider.getImage(newElement));
                    treeViewer.refresh(newElement);
                }
            } else {
                if (oldElement.isDeleted()) {
                    treeViewer.remove(oldElement);
                }
            }
        }

        for (int j = items.length; j < newItems.size(); j++) {
            DataElement newElement = (DataElement) newItems.get(j);
            TreeItem item = new TreeItem(tree, SWT.NONE);
            item.setData(newElement);

            DataElementLabelProvider provider = (DataElementLabelProvider) treeViewer.getLabelProvider();
            // need to really do an update though to register properly
            item.setText(provider.getText(newElement));
            item.setImage(provider.getImage(newElement));
            treeViewer.refresh(newElement);

        }
    }

}

From source file:org.eclipse.cdt.internal.autotools.ui.editors.ContainsFilter.java

License:Open Source License

@Override
public boolean select(Viewer viewer, Object parentElement, Object element) {
    if (!(viewer instanceof TreeViewer)) {
        return true;
    }/*ww w .  j a va2 s .  c  o m*/
    TreeViewer treeViewer = (TreeViewer) viewer;
    String currentLabel = ((ILabelProvider) treeViewer.getLabelProvider()).getText(element);
    if (lookFor == null) {
        return true;
    }
    if (currentLabel != null && currentLabel.toLowerCase().contains(lookFor)) {
        return true;
    }
    return hasUnfilteredChild(treeViewer, element);
}

From source file:org.eclipse.edt.ide.ui.internal.editor.EGLEditor.java

License:Open Source License

public void doSelectionChanged(SelectionChangedEvent event) {
    int offset;//from   w w w  . ja  v  a2 s  .  co m
    int nodeLength;
    StructuredSelection selection = (StructuredSelection) event.getSelection();

    if (selection == null || selection.isEmpty())
        return;

    IEGLDocument document = (IEGLDocument) getDocumentProvider().getDocument(getEditorInput());

    if (document == null)
        return;

    // Use the 1st for selection (know it's not empty because of
    // test above) 
    Object selectedElement = selection.getFirstElement();
    if (selectedElement == null)
        return;

    if (selectedElement instanceof ImportGroup) {
        offset = ((ImportGroup) selectedElement).getOffset();
        nodeLength = ((ImportGroup) selectedElement).getLength();
    } else if (selectedElement instanceof ImportDeclaration || selectedElement instanceof PackageDeclaration) {
        offset = ((Node) selectedElement).getOffset();
        nodeLength = ((Node) selectedElement).getLength();
    } else {
        offset = ((Node) selectedElement).getOffset();
        nodeLength = ((Node) selectedElement).getLength();
    }

    try {
        editingScriptStarted();
        setSelection(offset, nodeLength);
        TreeViewer tv = (TreeViewer) event.getSource();
        ILabelProvider provider = (ILabelProvider) tv.getLabelProvider();
        IRegion region = ((OutlineLabelProvider) provider).getHighlightRange(selectedElement);
        if (region.getLength() != 0) {
            getSourceViewer().revealRange(region.getOffset(), region.getLength());
            getSourceViewer().setSelectedRange(region.getOffset(), region.getLength());
        }
    } finally {
        editingScriptEnded();
    }
}

From source file:org.eclipse.emf.henshin.editor.util.HtmlTipSupport.java

License:Open Source License

protected HtmlTipSupport(TreeViewer viewer) {
    this.viewer = viewer;
    tipProvider = (IToolTipProvider) viewer.getLabelProvider();
    viewer.getControl().setToolTipText(""); //$NON-NLS-1$
    this.viewer.getTree().addMouseTrackListener(new MouseTrackAdapter() {
        public void mouseHover(MouseEvent e) {
            showInfo(e);//from  www.j a  va  2  s.  co  m
        }
    });

    this.viewer.getTree().addMouseMoveListener(new MouseMoveListener() {
        public void mouseMove(MouseEvent e) {
            if (!infoVisible || !hideOnMouseExitEnabled)
                return;
            if (getItem(e) == currentItem)
                return;
            Rectangle bounds = tipShell.getBounds();
            bounds.x -= 5;
            bounds.y -= 5;
            bounds.width += 10;
            bounds.height += 10;
            Point position = toDisplay(new Point(e.x, e.y));
            if (bounds.contains(position))
                return;
            //System.out.println("mouse move on tree");
            hideInfo();
        }
    });

    this.viewer.getTree().addFocusListener(new FocusAdapter() {

        @Override
        public void focusLost(FocusEvent e) {
            if (shellManagesHiding) {
                hideInfo();
            }

            // Shell fShell = e.display.getActiveShell();
            // if (fShell == tipShell) {
            // setHideOnMouseExit(false);
            // return;
            // }
            // hideInfo();
        }
    });
}

From source file:org.eclipse.emf.henshin.editor.util.HtmlTipSupport.java

License:Open Source License

public static void enableFor(TreeViewer viewer) {
    if (!(viewer.getLabelProvider() instanceof IToolTipProvider))
        return;/*from w w w  . ja va 2s .co m*/
    new HtmlTipSupport(viewer);
}

From source file:org.eclipse.jubula.client.ui.rcp.views.TestResultTreeView.java

License:Open Source License

/**
 * Attempts a {@link DecorationContext#putProperty(String, Object)} with the
 * given arguments and the current viewer. Fails silently if any objects are
 * of incorrect type (e.g. label provider not a 
 * {@link DecoratingLabelProvider}, decorating context not a 
 * {@link DecorationContext}, etc)./*from   w  ww  . ja  v  a 2  s . c o m*/
 * 
 * @see DecorationContext#putProperty(String, Object)
 * @param property The property.
 * @param value The value of the property or <code>null</code> if the 
 *              property is to be removed.
 */
private void putDecorationContextProperty(String property, Object value) {
    TreeViewer viewer = getTreeViewer();
    if (viewer != null) {
        IBaseLabelProvider labelProvider = viewer.getLabelProvider();
        if (labelProvider instanceof DecoratingLabelProvider) {
            IDecorationContext context = ((DecoratingLabelProvider) labelProvider).getDecorationContext();
            if (context instanceof DecorationContext) {
                ((DecorationContext) context).putProperty(property, value);
            }
        }
    }
}