/*
  * (non-Javadoc)
  *
  * @see org.eclipse.ui.splash.AbstractSplashHandler#dispose()
  */
 public void dispose() {
   super.dispose();
   // Check to see if any images were defined
   if ((fImageList == null) || fImageList.isEmpty()) {
     return;
   }
   // Dispose of all the images
   Iterator iterator = fImageList.iterator();
   while (iterator.hasNext()) {
     Image image = (Image) iterator.next();
     image.dispose();
   }
 }
  /*
   * (non-Javadoc)
   *
   * @see
   * org.eclipse.ui.splash.AbstractSplashHandler#init(org.eclipse.swt.widgets
   * .Shell)
   */
  public void init(final Shell splash) {

    // Store the shell
    super.init(splash);
    // Configure the shell layout
    configureUISplash();
    // Create UI
    createUI();
    // Create UI listeners
    createUIListeners();
    // Force the splash screen to layout
    splash.layout(true);

    splash.setDefaultButton(this.fButtonOK);

    // Keep the splash screen visible and prevent the RCP application from
    // loading until the close button is clicked.
    doEventLoop();
  }
 /*
  * (non-Javadoc)
  *
  * @see
  * org.eclipse.ui.splash.AbstractSplashHandler#init(org.eclipse.swt.widgets
  * .Shell)
  */
 public void init(Shell splash) {
   // Store the shell
   super.init(splash);
   // Configure the shell layout
   configureUISplash();
   // Load all splash extensions
   loadSplashExtensions();
   // If no splash extensions were loaded abort the splash handler
   if (hasSplashExtensions() == false) {
     return;
   }
   // Create UI
   createUI();
   // Configure the image panel bounds
   configureUICompositeIconPanelBounds();
   // Enter event loop and prevent the RCP application from
   // loading until all work is done
   doEventLoop();
 }