/** * den Viewer über eine Änderung benachrichtigen * * @param m eine Message: update: der Viewer muss neu eingelesen werden empty: Die Auswahl ist * leer. notempty: Die Auswahl ist nicht (mehr) leer. */ public void notify(final Message m) { if (viewer.getControl().isDisposed()) { return; } UiDesk.getDisplay() .asyncExec( new Runnable() { public void run() { switch (m) { case update: if (!viewer.getControl().isDisposed()) { viewer.refresh(true); } break; case update_keeplabels: if (!viewer.getControl().isDisposed()) { viewer.refresh(false); } break; case empty: if (bNew != null) { if (vc.getButtonProvider().isAlwaysEnabled() == false) { bNew.setEnabled(false); } } if (createObjectAction != null) { createObjectAction.setEnabled(false); } break; case notempty: if (bNew != null) { bNew.setEnabled(true); } if (createObjectAction != null) { createObjectAction.setEnabled(true); } break; } } }); }