TreeConfigAttributes.TREE_STRUCTURE_PAINTER,
cell.getDisplayMode(), cell.getConfigLabels().getLabels());
if (treeCellPainter != null) {
ICellPainter innerWrapper = treeCellPainter;
IndentedTreeImagePainter treePainter = null;
if (innerWrapper instanceof IndentedTreeImagePainter) {
treePainter = (IndentedTreeImagePainter) innerWrapper;
} else {
while (treePainter == null
&& innerWrapper != null
&& innerWrapper instanceof CellPainterWrapper
&& ((CellPainterWrapper) innerWrapper)
.getWrappedPainter() != null) {
innerWrapper = ((CellPainterWrapper) innerWrapper)
.getWrappedPainter();
if (innerWrapper instanceof IndentedTreeImagePainter) {
treePainter = (IndentedTreeImagePainter) innerWrapper;
}
}
}
if (treePainter != null) {
treePainter.setBaseCellPainter(cellPainter);
cellPainter = treeCellPainter;
} else {
// log error
log.warn("There is no IndentedTreeImagePainter found for TREE_STRUCTURE_PAINTER, " //$NON-NLS-1$
+ "using local configured IndentedTreeImagePainter as fallback"); //$NON-NLS-1$