/**
*
*/
package logbook.gui.logic;
import org.eclipse.swt.widgets.Display;
/**
* 無駄に更新されるのを防ぐためこれを挟む
* @author Nekopanda
*/
public class GuiUpdator implements Runnable {
private boolean needUpdate = false;
private final Runnable exec;
public GuiUpdator(final Runnable listener) {
this.exec = new Runnable() {
@Override
public void run() {
if (GuiUpdator.this.needUpdate) {
listener.run();
GuiUpdator.this.needUpdate = false;
}
}
};
}
@Override
public void run() {
this.needUpdate = true;
Display.getDefault().asyncExec(this.exec);
}
}