下面列出了怎么用org.eclipse.jface.dialogs.IPageChangedListener的API类实例代码及写法,或者点击链接到github查看源代码。
/**
*
* @param event
*/
protected void firePageChanged( final PageChangedEvent event )
{
Object[] listeners = pageChangedListeners.getListeners( );
for ( int i = 0; i < listeners.length; i++ )
{
final IPageChangedListener l = (IPageChangedListener) listeners[i];
SafeRunnable.run( new SafeRunnable( ) {
public void run( )
{
l.pageChanged( event );
}
} );
}
}
/**
* Notifies any selection changed listeners that the selected page has
* changed. Only listeners registered at the time this method is called
* are notified.
*
* @param event
* a selection changed event
*
* @see IPageChangedListener#pageChanged
*
* @since 2.1
*/
void firePageChanged( final PageChangedEvent event )
{
Object[] listeners = pageChangedListeners.getListeners( );
for ( int i = 0; i < listeners.length; i++ )
{
final IPageChangedListener l = (IPageChangedListener) listeners[i];
SafeRunnable.run( new SafeRunnable( ) {
public void run( )
{
l.pageChanged( event );
}
} );
}
}
public void addPageChangedListener(IPageChangedListener listener) {
pageChangedListeners.add(listener);
}
public void removePageChangedListener(IPageChangedListener listener) {
pageChangedListeners.remove(listener);
}
public void addPageChangedListener(IPageChangedListener listener) {
pageChangedListeners.add(listener);
}
public void removePageChangedListener(IPageChangedListener listener) {
pageChangedListeners.remove(listener);
}
public void addPageChangedListener( IPageChangedListener listener )
{
pageChangedListeners.add( listener );
}
public void removePageChangedListener( IPageChangedListener listener )
{
pageChangedListeners.remove( listener );
}
public void addPageChangedListener( IPageChangedListener listener )
{
pageChangedListeners.add( listener );
}
public void removePageChangedListener( IPageChangedListener listener )
{
pageChangedListeners.remove( listener );
}
/**
* 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;
}
/**
* Notifies any selection changed listeners that the selected page has
* changed. Only listeners registered at the time this method is called are
* notified.
*
* @param event
* a selection changed event
*
* @see IPageChangedListener#pageChanged
*
* @since 3.1
*/
protected void firePageChanged(final PageChangedEvent event) {
Object[] listeners = pageChangedListeners.getListeners();
for (int i = 0; i < listeners.length; ++i) {
final IPageChangedListener l = (IPageChangedListener) listeners[i];
SafeRunnable.run(new SafeRunnable() {
public void run() {
l.pageChanged(event);
}
});
}
}
/**
* Notifies any selection changed listeners that the selected page has
* changed. Only listeners registered at the time this method is called are
* notified.
*
* @param event
* a selection changed event
*
* @see IPageChangedListener#pageChanged
*
* @since 3.1
*/
protected void firePageChanged(final PageChangedEvent event) {
Object[] listeners = pageChangedListeners.getListeners();
for (int i = 0; i < listeners.length; ++i) {
final IPageChangedListener l = (IPageChangedListener) listeners[i];
SafeRunnable.run(new SafeRunnable() {
public void run() {
l.pageChanged(event);
}
});
}
}