[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.firstrun/src/main/org/jboss/ide/eclipse/firstrun/wizard ...
Robert Stryker
rawblem at gmail.com
Mon Nov 13 18:39:50 EST 2006
User: rawb
Date: 06/11/13 18:39:50
Modified: core/plugins/org.jboss.ide.eclipse.firstrun/src/main/org/jboss/ide/eclipse/firstrun/wizard
FirstRunWizard.java
Log:
The API has been changed. Three new boolean methods have been added. hasPossibleChanges() returns whether a page performs changes to a workspace
shouldShow() designates whether the page should show anyway, so long as one page hasPossibleChanges()
isDefaultPage() designates that this page should show even if 0 pages return true for hasPossibleChanges()
Revision Changes Path
1.7 +40 -7 jbosside/core/plugins/org.jboss.ide.eclipse.firstrun/src/main/org/jboss/ide/eclipse/firstrun/wizard/FirstRunWizard.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: FirstRunWizard.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.firstrun/src/main/org/jboss/ide/eclipse/firstrun/wizard/FirstRunWizard.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- FirstRunWizard.java 10 Oct 2006 02:28:45 -0000 1.6
+++ FirstRunWizard.java 13 Nov 2006 23:39:50 -0000 1.7
@@ -35,6 +35,7 @@
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.swt.widgets.Shell;
import org.jboss.ide.eclipse.core.CorePlugin;
@@ -57,14 +58,20 @@
}
public boolean performFinish() {
+
+ if( getPageCount() == 0 )
+ return true;
+
IRunnableWithProgress op = new IRunnableWithProgress() {
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- int totalWork = pageObjects.length * 1000;
+ int totalWork = getPageCount() * 1000;
String mainTaskName = FirstRunMessages.getString("ProgressMonitor.TaskName");
monitor.beginTask(mainTaskName, totalWork);
- for( int i = 0; i < pageObjects.length; i++ ) {
- AbstractFirstRunPage page = pageObjects[i].getPage();
+ int length = getPageCount();
+ IWizardPage[] pages = getPages();
+ for( int i = 0; i < length; i++ ) {
+ AbstractFirstRunPage page = (AbstractFirstRunPage)pages[i];
monitor.setTaskName(mainTaskName); // reset task name
try {
SubProgressMonitor sub = new SubProgressMonitor(monitor, 1000);
@@ -90,19 +97,45 @@
}
public boolean canFinish() {
- for( int i = 0; i < pageObjects.length; i++ ) {
- if( pageObjects[i].getPage().isPageComplete() == false ) return false;
+ IWizardPage[] pages = getPages();
+ for( int i = 0; i < pages.length; i++ ) {
+ if( pages[i].isPageComplete() == false ) return false;
}
return true;
}
public void addPages() {
+ int num = getNumPagesWithChanges();
+ if( num != 0 ) {
+ // there are pages that need to be shown...
for( int i = 0; i < pageObjects.length; i++ ) {
AbstractFirstRunPage page = pageObjects[i].getPage();
+ if( page.shouldShow() ) {
+ // If it demands to be shown, show it
page.initialize();
addPage(page);
}
}
+ } else {
+ // no pages have changes... so now only show default pages.
+ for( int i = 0; i < pageObjects.length; i++ ) {
+ AbstractFirstRunPage page = pageObjects[i].getPage();
+ if( page.isDefaultPage() ) {
+ page.initialize();
+ addPage(page);
+ }
+ }
+ }
+ }
+
+ public int getNumPagesWithChanges() {
+ int total = 0;
+ for( int i = 0; i < pageObjects.length; i++ ) {
+ AbstractFirstRunPage page = pageObjects[i].getPage();
+ if( page.hasPossibleChanges() ) total++;
+ }
+ return total;
+ }
protected FirstRunWizardPageConfigElement[] getExtensions() {
IExtensionRegistry registry = Platform.getExtensionRegistry();
More information about the jboss-cvs-commits
mailing list