Say, below is your requirement. I am showing only part of the complete dialog below.
I am talking here about first column,rending check box and windows 8 image and followed by display text.
Do the following:
Use a TextPainter, decorate it (CellPainterDecorator) with an ImagePainter, use the resulting painter as base painter of another decorator and decorate it with a CheckboxPainter
//Text painter to diplay text
TextPainter textPainter = new TextPainter() {
//Any specific implementation
};
//My image painter
class MyImagePainter extends ImagePainter {
private MyData data = null
public MyImagePainter(MyData data) {
this.data = data; //this would be useful, what image has to displayed on call.
}
@Override
protected Image getImage(ILayerCell cell, IConfigRegistry configRegistry) {
//return specific image on data object and it's properties.
return null;
}
}
//Cell painter decorator for image and text
CellPainterDecorator cellPainterDecorator = new CellPainterDecorator(
textPainter, //text painter
CellEdgeEnum.LEFT, //Image should left side of Text
new MyImagePainter(bodyDataProvider)); //Image Painter
//Wrapper for cellPainterDecorator and checkbox
configRegistry.registerConfigAttribute(
CellConfigAttributes.CELL_PAINTER,
new CellPainterWrapper(new BackgroundPainter(
new CellPainterDecorator(
cellPainterDecorator, //decorator to render image and text
CellEdgeEnum.LEFT, // check box has to be displayed left hand side of the cell.
myCheckBoxPainter)), // check box painter
10),
DisplayMode.NORMAL,
TreeLayer.TREE_COLUMN_CELL);
registerEditing(configRegistry, TreeLayer.TREE_COLUMN_CELL);
I am talking here about first column,rending check box and windows 8 image and followed by display text.
Do the following:
Use a TextPainter, decorate it (CellPainterDecorator) with an ImagePainter, use the resulting painter as base painter of another decorator and decorate it with a CheckboxPainter
//Text painter to diplay text
TextPainter textPainter = new TextPainter() {
//Any specific implementation
};
//My image painter
class MyImagePainter extends ImagePainter {
private MyData data = null
public MyImagePainter(MyData data) {
this.data = data; //this would be useful, what image has to displayed on call.
}
@Override
protected Image getImage(ILayerCell cell, IConfigRegistry configRegistry) {
//return specific image on data object and it's properties.
return null;
}
}
//Cell painter decorator for image and text
CellPainterDecorator cellPainterDecorator = new CellPainterDecorator(
textPainter, //text painter
CellEdgeEnum.LEFT, //Image should left side of Text
new MyImagePainter(bodyDataProvider)); //Image Painter
//Wrapper for cellPainterDecorator and checkbox
configRegistry.registerConfigAttribute(
CellConfigAttributes.CELL_PAINTER,
new CellPainterWrapper(new BackgroundPainter(
new CellPainterDecorator(
cellPainterDecorator, //decorator to render image and text
CellEdgeEnum.LEFT, // check box has to be displayed left hand side of the cell.
myCheckBoxPainter)), // check box painter
10),
DisplayMode.NORMAL,
TreeLayer.TREE_COLUMN_CELL);
registerEditing(configRegistry, TreeLayer.TREE_COLUMN_CELL);
No comments:
Post a Comment