Java源码示例:org.eclipse.jface.dialogs.IPageChangeProvider
示例1
@Override
public void partActivated(IWorkbenchPart part) {
if (part instanceof IPageChangeProvider) {
((IPageChangeProvider) part).addPageChangedListener(this);
}
checkActiveEditor();
}
示例2
@Override
public void partDeactivated(IWorkbenchPart part) {
if (part instanceof IPageChangeProvider) {
((IPageChangeProvider) part).removePageChangedListener(this);
}
// Unnecessary: Call partActivated after this
//checkActiveEditor();
}
示例3
/**
* Create Configuration Page
*
* @see org.eclipse.ui.dialogs.WizardNewProjectCreationPage#createControl(org.eclipse.swt.widgets.Composite)
*/
public void createControl( Composite parent )
{
Composite composite = new Composite( parent, SWT.NULL );
composite.setFont( parent.getFont( ) );
initializeDialogUnits( parent );
composite.setLayout( new GridLayout( ) );
composite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
// create folder configuration group
Group paths = new Group( composite, SWT.NULL );
paths.setLayout( new GridLayout( ) );
paths.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
paths.setText( BirtWTPMessages.BIRTConfiguration_group_paths );
paths.setEnabled( true );
// Initialize UI Utility
UIUtil uit = new UIUtil( properties );
// create resource folder setting group
this.txtResourceFolder = uit.createResourceFolderGroup( paths );
// create working folder setting group
this.txtWorkingFolder = uit.createWorkingFolderGroup( paths );
// create document folder setting group
this.txtDocumentFolder = uit.createDocumentFolderGroup( paths );
// create image folder setting group
this.txtImageFolder = uit.createImageFolderGroup( paths );
// create scriptlib folder setting group
this.txtScriptlibFolder = uit.createScriptLibFolderGroup( paths );
// create log folder setting group
this.txtLogFolder = uit.createLogFolderGroup( paths );
// create other configuration group
Group others = new Group( composite, SWT.NULL );
others.setLayout( new GridLayout( ) );
others.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
others.setText( BirtWTPMessages.BIRTConfiguration_group_others );
others.setEnabled( true );
// create ifaccess only setting group
this.btAccessOnly = uit.createAccessOnlyGroup( others );
// create log level setting group
this.cbLogLevel = uit.createLogLevelGroup( others );
// create print server setting group
this.cbPrintServer = uit.createPrintServerGroup( others );
// create max rows setting group
this.txtMaxRows = uit.createMaxRowsGroup( others );
// create max cube fetching row levels setting group
this.txtMaxRowLevels = uit.createMaxRowLevelsGroup( others );
// create max cube fetching column levels setting group
this.txtMaxColumnLevels = uit.createMaxColumnLevelsGroup( others );
// create max cube memory size setting group
this.txtCubeMemorySize = uit.createCubeMemorySizeGroup( others );
// initialize page properties map
initializeProperties( );
setControl( composite );
IWizardContainer container = getContainer( );
if ( container instanceof IPageChangeProvider )
{
IPageChangeProvider pageChangeProvider = (IPageChangeProvider) container;
pageChangeProvider
.addPageChangedListener( new WizardPageChangedListener(
this ) );
}
}
示例4
/**
* Create an instance of {@link Wizard} from the builder
*/
public Wizard asWizard() {
final Wizard wizard = new Wizard() {
@Override
public boolean performFinish() {
pages.stream()
.map(WizardPageBuilder::getControlSupplier)
.filter(Objects::nonNull)
.forEachOrdered(controlSupplier -> controlSupplier.saveSettings(getDialogSettings()));
try {
if (finishHandler != null) {
finishResult = finishHandler.finish(getContainer());
return finishResult.isPresent();
}
return true;
} catch (final Throwable t) {
new ExceptionDialogHandler().openErrorDialog(getShell(), Messages.errorOccuredDuringFinish, t);
return false;
}
}
@Override
public void setContainer(IWizardContainer wizardContainer) {
super.setContainer(wizardContainer);
if (wizardContainer instanceof IPageChangeProvider) {
IWizardPage startingPage = getStartingPage();
if (startingPage instanceof IPageChangedListener) {
((IPageChangeProvider) wizardContainer)
.addPageChangedListener((IPageChangedListener) startingPage);
}
}
}
};
pages.stream().forEachOrdered(page -> wizard.addPage(page.asPage()));
wizard.setNeedsProgressMonitor(needProgress);
wizard.setWindowTitle(windowTitle);
wizard.setDefaultPageImageDescriptor(imageDescriptor);
wizard.setDialogSettings(WorkbenchPlugin.getDefault().getDialogSettings());
return wizard;
}