To refresh elements in a SWT Widget is quite easy. You don’t need to use display.syncExec(). Just use the display.timerExec() method recoursivly. Here is a simple codesnip for refreshing a TreeView:
The createPartControl Method of your ViewPart class
(or any other startup method of the control) :
public void createPartControl(Composite parent) {
... init the control
//start refresh
refresh(parent.getDisplay());
}
The refresh method:
private void refresh(Display display){
display.timerExec(ddtsPollDelay,new Runnable() {
public void run() {
... update code ...
//recursive call
refreshTree();
}
});
}
SWT is nice and easy…