Bug 131978 [Wizards] WizardDialog shell size keeps growing
I20060314-1200 We persist the dialog size for the Apply Patch wizard. Currently, if a user hits help, the help will appear in a tray, courtesy of TrayDialog. The problem is that the tray is figured into the overall dialog size when we persist the dialog size. So the next time we open up the dialog, it will be the same size as the old dialog plus the help tray. If the user hits helps again and closes, the dialog will grow yet again. Repro steps: 1. Open the Apply Patch wizard. 2. Hit F1 + close wizard. 3. Reopen Apply Patch wizard and note new size.
bundles/org.eclipse.jface/src/org/eclipse/jface/dialogs/TrayDialog.java
trayControl = tray.createContents(shell);
		Rectangle clientArea = shell.getClientArea();
		final GridData data = new GridData(GridData.FILL_VERTICAL);
		data.widthHint = trayControl.computeSize(SWT.DEFAULT, clientArea.height).x;
		trayControl.setLayoutData(data);
		int trayWidth = leftSeparator.computeSize(SWT.DEFAULT, clientArea.height).x + sash.computeSize(SWT.DEFAULT, clientArea.height).x + rightSeparator.computeSize(SWT.DEFAULT, clientArea.height).x + data.widthHint;
		Rectangle bounds = shell.getBounds();
		shell.setBounds(bounds.x - ((getDefaultOrientation() == SWT.RIGHT_TO_LEFT) ? trayWidth : 0), bounds.y, bounds.width + trayWidth, bounds.height);
		sash.addListener(SWT.Selection, new Listener() {
			public void handleEvent(Event event) {
				if (event.detail != SWT.DRAG) {
					Rectangle clientArea = shell.getClientArea();
					int newWidth = clientArea.width - event.x - (sash.getSize().x + rightSeparator.getSize().x);
					if (newWidth != data.widthHint) {
						data.widthHint = newWidth;
						shell.layout();
					}
				}
			}
		});
	}
	
	/**
	 * Sets whether or not context help is available for this dialog. This
	 * can affect whether or not the dialog will display additional help
	 * mechanisms such as a help control in the button bar.
	 * 
	 * @param helpAvailable whether or not context help is available for the dialog
	 */
	public void setHelpAvailable(boolean helpAvailable) {