Skip to main content
Jump to: navigation, search

Difference between revisions of "Scout/Concepts/Wizard"

m (Category changed)
(Description and screenshot added)
Line 7: Line 7:
  
 
== Description ==
 
== Description ==
{{note|TODO|Add a description}}
+
A wizard contains of one ore 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 steps looks as follows:
 +
 
 +
<source lang="java">
 +
@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();
 +
      }
 +
    }
 +
  }
 +
}
 +
</source>
  
 
Wizards can be coupled with {{ScoutLink|Concepts|Workflow|Workflows}} on the server.
 
Wizards can be coupled with {{ScoutLink|Concepts|Workflow|Workflows}} on the server.
  
 
== Screenshot ==
 
== Screenshot ==
{{note|TODO|Add a screenshot (or remove this section, if there is no screenshot to make)}}
+
<gallery>
 +
Image:Scout Wizard.png|Wizard as Dialog in Web UI
 +
</gallery>
  
  

Revision as of 09:34, 8 July 2012


Scout
Wiki Home
Website
DownloadGit
Community
ForumsBlogTwitterG+
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 ore 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 steps 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

Back to the top