Bug 57425 TreeViewer doesn't implement IFontProvider
TableViewer implements IFontProvider to support the new SWT feature to set the font for items. TreeViewer doesn't provide a corresponding implementation. Patch: Index: TreeViewer.java =================================================================== RCS file: /home/eclipse/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer. java,v retrieving revision 1.13 diff -u -r1.13 TreeViewer.java --- TreeViewer.java 16 Mar 2004 20:20:40 -0000 1.13 +++ TreeViewer.java 5 Apr 2004 07:30:51 -0000 @@ -119,7 +119,13 @@ TreeItem treeItem = (TreeItem) item; treeItem.setForeground(cp.getForeground(element)); treeItem.setBackground(cp.getBackground(element)); - } + } + if (baseProvider instanceof IFontProvider) { + IFontProvider fprov = (IFontProvider) baseProvider; + TreeItem treeItem = (TreeItem) item; + treeItem.setFont(fprov.getFont(element)); + } + } /* (non-Javadoc)
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewer.java
protected Item newItem(Widget parent, int flags, int ix) {
	TreeItem item;
	if (ix >= 0) {
		if (parent instanceof TreeItem)
			item = new TreeItem((TreeItem) parent, flags, ix);
		else
			item = new TreeItem((Tree) parent, flags, ix);
	} else {
		if (parent instanceof TreeItem)
			item = new TreeItem((TreeItem) parent, flags);
		else
			item = new TreeItem((Tree) parent, flags);
	}
	return item;
}
/* (non-Javadoc)
 * Method declared in AbstractTreeViewer.
 */
protected void removeAll(Control widget) {
	((Tree) widget).removeAll();
}
/* (non-Javadoc)
 * Method declared in AbstractTreeViewer.
 */
protected void setExpanded(Item node, boolean expand) {
	((TreeItem) node).setExpanded(expand);
}
/**
 * The tree viewer implementation of this <code>Viewer</code> framework
 * method ensures that the given label provider is an instance