package org.eclipse.nebula.cwt.v;
import org.eclipse.nebula.cwt.test.AbstractVTestCase;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Shell;
public class PaintTest01 extends AbstractVTestCase {
private VPanel panel;
private VButton[] buttons;
public void test1() {
syncExec(new Runnable() {
public void run() {
Shell shell = getShell();
shell.setLayout(new FillLayout());
VCanvas comp = new VCanvas(shell, SWT.NONE);
panel = comp.getPanel();
panel.setLayout(new VGridLayout(2, true));
VButtonPainter painter = new VButtonPainter() {
@Override
public void paintContent(VControl control, Event e) {
VButton b = (VButton) control;
b.setData("paintCount", (b.getData("paintCount", Integer.class)+1));
System.out.println(b.getText() + "'s paint count: " + b.getData("paintCount"));
super.paintContent(control, e);
}
};
buttons = new VButton[4];
for(int i = 0; i < buttons.length; i++) {
buttons[i] = new VButton(panel, SWT.PUSH);
buttons[i].setPainter(painter);
buttons[i].setText("b"+i);
buttons[i].setData("paintCount", 0);
}
}
});
layoutShell();
}
}