Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Scout/Concepts/Template"
(→Form Field template) |
(→Form Field template) |
||
Line 45: | Line 45: | ||
[[Image:Scout_createTemplateDialog.jpg]] | [[Image:Scout_createTemplateDialog.jpg]] | ||
− | A new abstract class is created containing the code of BillingAddressBox. | + | A new abstract class is created containing the code of BillingAddressBox. To make the AddressBox template more useful, we move the configured label code to the BillingAddressBox. |
... | ... | ||
@FormData(value = AbstractAddressBoxData.class, sdkCommand = SdkCommand.CREATE, defaultSubtypeSdkCommand = DefaultSubtypeSdkCommand.CREATE) | @FormData(value = AbstractAddressBoxData.class, sdkCommand = SdkCommand.CREATE, defaultSubtypeSdkCommand = DefaultSubtypeSdkCommand.CREATE) | ||
public abstract class AbstractAddressBox extends AbstractGroupBox { | public abstract class AbstractAddressBox extends AbstractGroupBox { | ||
− | + | /* @Override | |
protected String getConfiguredLabel() { | protected String getConfiguredLabel() { | ||
return TEXTS.get("BillingAddress"); | return TEXTS.get("BillingAddress"); | ||
− | } | + | } */ |
public CityField getCityField() { | public CityField getCityField() { | ||
return getFieldByClass(CityField.class); | return getFieldByClass(CityField.class); | ||
Line 58: | Line 58: | ||
... | ... | ||
− | + | ... | |
− | + | @Order(10.0) | |
+ | public class BillingAddressBox extends AbstractAddressBox { | ||
+ | @Override | ||
+ | protected String getConfiguredLabel() { | ||
+ | return TEXTS.get("BillingAddress"); | ||
+ | } | ||
+ | } | ||
+ | ... | ||
Now the correspondance address field can be created by choosing the template as type for the new field. | Now the correspondance address field can be created by choosing the template as type for the new field. |
Revision as of 13:15, 28 March 2012
The Scout documentation has been moved to https://eclipsescout.github.io/.
A template is some portion of code (a class) that is defined to be used many times in the The Scout documentation has been moved to https://eclipsescout.github.io/..
Overview
The templates are visible in the The Scout documentation has been moved to https://eclipsescout.github.io/. under your scout project > Client > Templates
Form Field template
An easy way to reuse form field code is to use templates.
Consider the following example: A group box for the billing address containing some fields.
@Order(10.0) public class BillingAddressBox extends AbstractGroupBox { @Override protected String getConfiguredLabel() { return TEXTS.get("BillingAddress"); } @Order(10.0) public class StreetField extends AbstractStringField { @Override protected String getConfiguredLabel() { return TEXTS.get("Street"); } } @Order(20.0) public class CityField extends AbstractSmartField<Long> { @Override protected Class<? extends ICodeType<?>> getConfiguredCodeType() { return CityCodeType.class; } @Override protected String getConfiguredLabel() { return TEXTS.get("City"); } } }
Now let's assume you would like to create a similar box for the correspondence address without copying the code. This is possible by selecting "Create template..." on the group box.
A new abstract class is created containing the code of BillingAddressBox. To make the AddressBox template more useful, we move the configured label code to the BillingAddressBox.
... @FormData(value = AbstractAddressBoxData.class, sdkCommand = SdkCommand.CREATE, defaultSubtypeSdkCommand = DefaultSubtypeSdkCommand.CREATE) public abstract class AbstractAddressBox extends AbstractGroupBox { /* @Override protected String getConfiguredLabel() { return TEXTS.get("BillingAddress"); } */ public CityField getCityField() { return getFieldByClass(CityField.class); } ...
... @Order(10.0) public class BillingAddressBox extends AbstractAddressBox { @Override protected String getConfiguredLabel() { return TEXTS.get("BillingAddress"); } } ...
Now the correspondance address field can be created by choosing the template as type for the new field.
See also
- The Scout documentation has been moved to https://eclipsescout.github.io/.