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
m (+reindent code)
Line 1: Line 1:
{{ScoutPage|cat=Scout}}
+
{{ScoutPage|cat=Concepts}}
  
 
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.  
 
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.  
Line 108: Line 108:
 
   }
 
   }
 
  }
 
  }
 
Back to [[Scout Main Concepts]]
 
 
[[Category:Scout]]
 

Revision as of 05:22, 8 July 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