[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