Jump to: navigation, search

Scout/Concepts/Wizard


Scout
Wiki Home
Website
DownloadGit
Community
ForumsBlogTwitter
Bugzilla
Bugzilla


A wizard presents to the user with a sequence of forms that allow him to work in a process driven approach on a task.

  • implements: I obj.pngIWizard
  • extends: C obj.pngAbstractWizard

Description

A wizard contains of one or more wizard steps. Each wizard step is typically bound to a form and responsible to start, show and save the form. If a form is started by a wizard step it will be opened inside a wizard container form. The top level system buttons of the form like Ok or Cancel will be hidden since the wizard container form will show wizard buttons instead. Such wizard buttons are Cancel, Next, Previous, Suspend and Finish.

A typical wizard step looks as follows:

@Order(10.0)
public class FirstStep extends AbstractWizardStep<FirstForm> {
 
  @Override
  protected String getConfiguredTitle() {
    return TEXTS.get("First");
  }
 
  @Override
  protected void execActivate(int stepKind) throws ProcessingException {
    FirstForm form = getForm();
    if (getForm() == null) {
      form = new FirstForm();
 
      // Start the form by executing the form handler
      form.startWizardStep(this, FirstForm.ModifyHandler.class);
 
      // Register the form on the step
      setForm(form);
    }
 
    // Set the form on the wizard 
    // This will automatically display it as inner form of the wizard container form
    getWizard().setWizardForm(form);
  }
 
  @Override
  @Order(20.0)
  protected void execDeactivate(int stepKind) throws ProcessingException {
    // Save the form if the user clicks next
    if (stepKind == STEP_NEXT) {
      FirstForm form = getForm();
      if (form != null) {
        form.doSave();
      }
    }
  }
}

Wizards can be coupled with Workflows on the server.

Screenshot


Properties

Defined with getConfiguredXxxxxx() methods.

Note.png
TODO
Add a description of important properties. The idea is not to recreate the JavaDoc of the getConfiguredXxxxxx() methods but to provide explanations, best practice, example... Group the properties by domain.


Events

Defined with execXxxxxx() methods.

Note.png
TODO
Add a description of important events. The idea is not to recreate the JavaDoc of the execXxxxxx() methods but to provide explanations, best practice, example... Group the events by domain.


See Also