Bug 299152 [Forms] FormEditor isDirty() should consider FormEditor pages
Build Identifier: M20090917-0800 FormEditor's isDirty() method checks all of the IFormPage children and returns dirty if any of them are dirty. Since a FormEditor can contain other FormEditors as pages the isDirty method should return dirty if a child FormEditor is dirty. Reproducible: Always
bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/editor/FormEditor.java
if (pages.size() > pageIndex
				&& pages.get(pageIndex) instanceof IFormPage) {
			super.setActivePage(pageIndex);
			IFormPage activePage = (IFormPage) pages.get(pageIndex);
			activePage.setActive(true);
		} else
			super.setActivePage(pageIndex);
		updateActionBarContributor(pageIndex);
	}
	/**
	 * Notifies action bar contributor about page change.
	 * 
	 * @param pageIndex
	 *            the index of the new page
	 */
	protected void updateActionBarContributor(int pageIndex) {
		
		
		IEditorActionBarContributor contributor = getEditorSite()
				.getActionBarContributor();
		if (contributor != null
				&& contributor instanceof MultiPageEditorActionBarContributor) {
			((MultiPageEditorActionBarContributor) contributor)
					.setActivePage(getEditor(pageIndex));
		}
	}
	/**
	 * Closes the editor programmatically.