package com.vuze.tests.swt;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
public class testTableBackground
{
public static void main(String[] args) {
Display display = new Display();
Shell shellMain = new Shell(display, SWT.SHELL_TRIM);
GridLayout l = new GridLayout();
l.marginHeight = l.marginWidth = 10;
shellMain.setLayout(l);
final Tree tree = new Tree(shellMain, SWT.BORDER | SWT.VIRTUAL
| SWT.FULL_SELECTION);
GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
tree.setLayoutData(gridData);
new TreeColumn(tree, SWT.RIGHT);
tree.setHeaderVisible(true);
tree.getColumn(0).setWidth(300);
int size = 200;
Image image = new Image(display, size, size);
GC gc = new GC(image);
gc.setForeground(display.getSystemColor(SWT.COLOR_GRAY));
gc.drawOval(0, 0, size, size);
gc.dispose();
tree.setBackgroundImage(image);
Button button = new Button(shellMain, SWT.PUSH);
button.setText("Add Row");
button.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
new TreeItem(tree, SWT.NONE).setText("row");
}
});
Button button2 = new Button(shellMain, SWT.PUSH);
button2.setText("Add Row And Redraw");
button2.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
new TreeItem(tree, SWT.NONE).setText("row");
tree.redraw();
}
});
////////////////
shellMain.setSize(400, 600);
shellMain.open();
while (!shellMain.isDisposed()) {
try {
if (!display.readAndDispatch())
display.sleep();
} catch (Throwable t) {
t.printStackTrace();
}
}
display.dispose();
}
}