To create an icon you can use
AbstractImagePrototype icon = IconHelper.create("path/to/png");
Within a TreeGrid it is possible to use a ModelIconProvider
TreeGrid<ModelData> grid = new TreeGrid<ModelData>(store, columnModel); grid.setIconProvider(new MyIconProvider());
The provider can return an icon for different situations (like expanded or collapsed nodes, some special node types).
public class MyIconProvider implements ModelIconProvider<ModelData> {
private final TreeGrid<ModelData> grid;
public MyIconProvider(TreeGrid<ModelData> grid) {
this.grid = grid;
}
public AbstractImagePrototype getIcon(ModelData model) {
if (model instanceof Something) {
return IconHelper.create("img/something.png");
}
if (grid.isExpanded(model)) {
return IconHelper.create("img/folder-open.png");
} else {
return IconHelper.create("img/folder-close.png");
}
}
}