I am using jface Tableviewer which uses OwnerDrawLabelProvider. I was getting blue background for row selection as shown below
Then i called erase method to remove background color. After using erase method its removed only row background color. For text selection its still showing blue background (as shown below)
Here is my code
@Override
protected void measure(Event event, Object element) {
}
@Override
protected void paint(Event event, Object element) {
LogTestData logtest = null;
Rectangle bounds = event.getBounds();
event.gc.drawText(" ", bounds.x, bounds.y);
// Point point = event.gc.stringExtent(" ");
if (element instanceof LogTestData) {
logtest = (LogTestData) element;
}
int index = event.index;
switch (index) {
case 0:
if (logtest.getIconInfo().equals(ActivityLog.INFO_LOG)) {
event.gc.drawImage(infoImage, bounds.x, bounds.y);
}
................
................
default:
break;
}
}
@Override
protected void erase(Event event, Object element) {
}
How can I remove backgroungd color for text selection. thanks in advance!
In the erase
method turn off the event selected flag:
event.detail &= ~SWT.SELECTED;