org.openoffice.ide.eclipse.core.wizards
Class ServiceWizardSet

java.lang.Object
  extended by org.openoffice.ide.eclipse.core.wizards.utils.WizardPageSet
      extended by org.openoffice.ide.eclipse.core.wizards.ServiceWizardSet

public class ServiceWizardSet
extends WizardPageSet

This wizard page set manages a service page and an interface page.

Author:
cedricbosdo

Field Summary
static java.lang.String INTERFACE_PAGE_ID
           
protected  IUnoidlProject mProject
          An instance of the project in which the wizard set is run.
static java.lang.String SERVICE_PAGE_ID
           
 
Fields inherited from class org.openoffice.ide.eclipse.core.wizards.utils.WizardPageSet
mChangingPages, mPageListener, mWizard
 
Constructor Summary
ServiceWizardSet(org.eclipse.jface.wizard.IWizard pWizard)
          Constructor.
 
Method Summary
 void dataChanged(UnoFactoryData pDelta)
          Change the service and/or interface page from a data delta.
 void doFinish(org.eclipse.core.runtime.IProgressMonitor pMonitor, org.eclipse.ui.IWorkbenchPage pActivePage)
          Performs the actions to run at the end of the wizard for the wizard set.
 void initialize(UnoFactoryData pData)
          Initializes the service and interface pages at their creation.
 
Methods inherited from class org.openoffice.ide.eclipse.core.wizards.utils.WizardPageSet
addPage, getNextPage, getPage, getPages, getPreviousPage, setHidden
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SERVICE_PAGE_ID

public static final java.lang.String SERVICE_PAGE_ID
See Also:
Constant Field Values

INTERFACE_PAGE_ID

public static final java.lang.String INTERFACE_PAGE_ID
See Also:
Constant Field Values

mProject

protected IUnoidlProject mProject
An instance of the project in which the wizard set is run.

This member should be used only to replace the pages project reference is needed. This is mostly used when the project isn't created when the wizard set is opened, i.e.: at project creation.

Constructor Detail

ServiceWizardSet

public ServiceWizardSet(org.eclipse.jface.wizard.IWizard pWizard)
Constructor.

Parameters:
pWizard - the wizard in which the wizard set will be included
Method Detail

initialize

public void initialize(UnoFactoryData pData)
Initializes the service and interface pages at their creation.

The factory data needed for the pages initialization should contain some fields about the project and two or less children (one for a service and/or one for an interface). The data structure should contain the following fields:

  1. Project fields

    • Project name
    • OOo Instance
    • Company prefix
  2. Service fields (opt.)

    • Name (opt. : the project name is used)
    • Package name (opt. : the company prefix can be used)
    • Inherited interface (opt.)
  3. Interface fields (opt.)

    • Name (opt.)
    • Package name (opt.)
The interface fields may not be given: in this case the missing fields will get a default value computed from the service fields. If the service inherited interface isn't provided, a default interface based on the service name will be chosen.

Specified by:
initialize in class WizardPageSet
Parameters:
pData - the service initialization data as described above.

dataChanged

public void dataChanged(UnoFactoryData pDelta)
Change the service and/or interface page from a data delta.

The delta is a UnoFactoryData structured in the same way than the data used in initialize(UnoFactoryData). The main difference is that only the changed data should be set. The according fields will be modified in the pages.

The service inheritance and interface name and package are changed if the service module or name has changed. This doesn't apply if the service inheritance has been manually changed by the user.

Specified by:
dataChanged in class WizardPageSet
Parameters:
pDelta - the data delta to update the pages with
See Also:
for details on how the delta should be structured

doFinish

public void doFinish(org.eclipse.core.runtime.IProgressMonitor pMonitor,
                     org.eclipse.ui.IWorkbenchPage pActivePage)
Performs the actions to run at the end of the wizard for the wizard set.

Performs the changes needed by the wizard set. This method has to be called in the IWizard.performFinish() method. For cleaner actions the actions performed by the wizard set finish should concern only the data defined by the wizard set pages.

The active page is often needed by the UnoFactory to open a newly created file in the workbench.

This method should be overridden by the subclasses. The default method doesn't perform any action.

Specified by:
doFinish in class WizardPageSet
Parameters:
pMonitor - the monitor used to follow the finish process.
pActivePage - the page that was active before opening the wizard.
See Also:
for more informations on actions performed when finishing a wizard.