* renders the whole score to fix any visual glitches called upon bootup or
* by user via explicit action
*/
public void refreshScreen() {
final GraphicalViewer graphicalViewer = getGraphicalViewer();
WorkbenchJob job = new WorkbenchJob(MusicMessages.MeiseEditor_37) {
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
monitor.beginTask(MusicMessages.MeiseEditor_38, 4);
Image img;
GC imageGC;
ScalableFreeformRootEditPart rootEditPart = (ScalableFreeformRootEditPart) graphicalViewer
.getEditPartRegistry().get(LayerManager.ID);
IFigure fig1 = ((FreeformGraphicalRootEditPart) rootEditPart)
.getLayer(LayerConstants.PRINTABLE_LAYERS);
monitor.worked(1);
ImageData data = new ImageData(fig1.getClientArea().width,
fig1.getClientArea().height, 24, new PaletteData(0xFF,
0xFF00, 0xFF000));
monitor.worked(2);
img = new Image(Display.getCurrent(), data);
imageGC = new GC(img);
Graphics g = new SWTGraphics(imageGC);
monitor.worked(3);
fig1.paint(g);
g.dispose();
imageGC.dispose();
img.dispose();
monitor.done();
return Status.OK_STATUS;
}
};
job.setPriority(Job.BUILD);
job.schedule();
}