Jump to: navigation, search

Scout/Concepts/Form/Example

< Scout‎ | Concepts‎ | Form
Revision as of 11:06, 3 November 2011 by Claudio.guglielmo.gmail.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Scout
Wiki Home
Website
DownloadGit
Community
ForumsBlogTwitter
Bugzilla
Bugzilla


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{
       //...
     }
   }
 }