Wizards worden gebruikt om de gebruiker te helpen een opeenvolgende reeks taken uit te voeren. Uw plugin kan wizards aanleveren op vooraf gedefinieerde extensiepunten in de workbench. Deze kan ook andere wizards maken en starten.
Wanneer u een wizard aanlevert voor een extensiepunt in de workbench, worden de acties om de wizard te starten automatisch ingesteld door de workbench. U hoeft alleen de gewenste wizard aan te leveren.
Als u andere wizards wilt starten die nog niet in workbenchwizardextensiepunten gedefinieerd zijn, moet u deze zelf starten. U kunt uw eigen wizards starten door een actie toe te voegen aan een view, editor, voorgrondvenster of actieset.
Een wizard bestaat uit verschillende onderliggende gedeelten.
Het wizarddialoogvenster (WizardDialog) is het toplevel dialoogvenster in een wizard. Hiermee definieert u de standaardwizardknoppen en beheert u een set pagina's die ervoor zijn aangeleverd.
Wanneer u bijdraagt aan een workbenchwizardextensie, hoeft u geen wizarddialoogvenster te maken. Dit wordt automatisch voor u gedaan door de workbench, waarna uw wizard er in wordt geplaatst.
Het wizarddialoogvenster regelt de in- en uitschakeling van de knoppen Volgende, Terug en Voltooien op basis van informatie die wordt verkregen van de wizard en de huidige wizardpagina.
De wizard (IWizard) bestuurt de presentatie en het algemene gedrag van de wizard, zoals de tekst van de titelbalk, afbeelding en de beschikbaarheid van een Help-knop. Wizards gebruiken vaak een DialogSettings om de standaardwaarden voor de instellingen van besturingselementen op de wizardpagina's op te halen (en op te slaan).
De klasse Wizard implementeert veel detailinstellingen voor het standaardgedrag van de wizard. Gewoonlijk breidt u deze klasse uit om specifiek gedrag voor uw wizard te implementeren. De primaire taken van uw wizard zijn:
De wizardpagina (IWizardPage) definieert de besturingselementen die worden gebruikt om de inhoud van de wizardpagina weer te geven. Deze reageert op events in contentgebieden en bepaalt wanneer de pagina is voltooid.
Uw wizardpagina is gewoonlijk een uitbreiding van de klasse WizardPage. De primaire taken van uw wizardpagina zijn: