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.
Scout/Concepts/Form/Example
Scout |
Wiki Home |
Website |
Download • Git |
Community |
Forums • Blog • Twitter • G+ |
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{ //... } } }