public boolean doVisit(Widget widget) {
   if (widget instanceof Composite) {
     Composite composite = (Composite) widget;
     composite.changed(composite.getChildren());
   }
   return true;
 }
 protected void updateCountLabel() {
   if (totalFileCount == 0) {
     totalFileCount = tableViewer.getTable().getItemCount();
   }
   selectedFileCount = selector.getSelectedModels().size();
   label.setText(selectedFileCount + " selected out of " + totalFileCount);
   buttonComposite.changed(buttonComposite.getChildren());
 }
 private void cleanUpButton(final IPerspectiveDescriptor perspective, final Button button) {
   buttonList.remove(button);
   perspectiveButtonMap.remove(perspective);
   buttonPerspectiveMap.remove(button);
   button.getParent().dispose();
   background.layout(true);
   Control[] children = {background};
   Composite parent = getParent();
   parent.changed(children);
   parent.layout(true);
   parent.getParent().layout(true);
 }
        @Override
        public void perspectiveActivated(
            final IWorkbenchPage page, final IPerspectiveDescriptor perspective) {
          addIdToStore(perspective.getId());

          Button button = createPerspectiveButton(perspective);
          cleanButtons(button);

          background.layout(true);
          Control[] children = {background};
          Composite parent = getParent();
          parent.changed(children);
          parent.layout(true);
          parent.getParent().layout(true);
        }