Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Scout/Concepts/Form/Example"

< Scout‎ | Concepts‎ | Form
(No difference)

Revision as of 03:34, 31 October 2010

The Scout documentation has been moved to https://eclipsescout.github.io/.

To get an idea consider a form with only a title and two string fields. This form is displayed as a complete SWT form with SWT fields when using the SWT GUI Plug-In. It can also be displayed using the Swing GUI Plug-In, or (in development) using the apache wicket GUI Plug-In to serve the form from the server as a web page.

public class PersonForm extends AbstractForm{

  public PersonForm(){
  }
  
  /**
  * This method and all other getConfigured* and exec* methods can be written manually 
  * or via the property editor in the scout sdk view
  */
  @Override
  protected String getConfiguredTitle(){
    return Texts.get("MailReader");
  }
  
  
  public MainBox getMainBox(){
    return (MainBox)getRootGroupBox();
  }
  
  public FirstNameField getFirstNameField(){
    return getFieldByClass(FirstNameField.class);
  }
  
  public LastNameField getLastNameField(){
    return getFieldByClass(LastNameField.class);
  }
  
  public OkButton getOkButton(){
    return getFieldByClass(OkButton.class);
  }
  
  public CancelButton getCancelButton(){
    return getFieldByClass(CancelButton.class);
  }
  
  /**
  * Start the form with the create handler
  */
  public void startCreate() throws ProcessingException{
    startInternal(new CreateHandler());
  }
  
  /**
  * Start the form with the modify handler
  */
  public void startModify() throws ProcessingException{
    startInternal(new ModifyHandler());
  }
  
  
  @Order(10)
  public class MainBox extends AbstractGroupBox{
    
    @Order(10)
    public class FirstNameField extends AbstractStringField{
      @Override
      protected String getConfiguredLabel(){
        return Texts.get("FirstName");
      }
    }
    
    @Order(20)
    public class LastNameField extends AbstractStringField{
      @Override
      protected String getConfiguredLabel(){
        return Texts.get("LastName");
      }
    }
    
    @Order(30)
    public class OkButton extends AbstractOkButton{
    }
    
    @Order(40)
    public class CancelButton extends AbstractCancelButton{
    }
  
  }
  
  /**
  * This is the form handler when started with .startCreate();
  */
  public class CreateHandler extends AbstractFormHandler{
    protected void execLoad() throws ProcessingException{
      //...
    }
  
    protected void execStore() throws ProcessingException{
      //...
    }
  }
  
  /**
  * This is the form handler when started with .startModify();
  */
  public class ModifyHandler extends AbstractFormHandler{
    protected void execLoad() throws ProcessingException{
      //...
    }
    
    protected void execStore() throws ProcessingException{
      //...
    }
  }
}

Back to the top