Example #1
0
 /**
  * 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;
               }
             }
           });
 }