* Gets notified when the {@link JstdServerListener} changes. It is passed a reference of
* the same, and is expected to update the images based on whether browsers are captured or not.
*/
@Override
public void update(Observable o, Object arg) {
final JstdServerListener data = (JstdServerListener) arg;
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
if (!ffIcon.isDisposed()) {
ffIcon.setImage(getImage(Browser.FIREFOX.getImagePath(),
data.getSlaves(Browser.FIREFOX).isEmpty()));
ffIcon.update();
ffIcon.redraw();
}
if (!chromeIcon.isDisposed()) {
chromeIcon.setImage(getImage(Browser.CHROME.getImagePath(),
data.getSlaves(Browser.CHROME).isEmpty()));
chromeIcon.update();
chromeIcon.redraw();
}
if (!ieIcon.isDisposed()) {
ieIcon.setImage(getImage(Browser.IE.getImagePath(),
data.getSlaves(Browser.IE).isEmpty()));
}
if (!safariIcon.isDisposed()) {
safariIcon.setImage(getImage(Browser.SAFARI.getImagePath(),
data.getSlaves(Browser.SAFARI).isEmpty()));
}
if (!operaIcon.isDisposed()) {
operaIcon.setImage(getImage(Browser.OPERA.getImagePath(),
data.getSlaves(Browser.OPERA).isEmpty()));
}
}
});
}