Controller for Composite
The CompositeController is build around a Composite. It extends a org.adichatz.engine.controller.AEntityManagerController that means:
- It is a collection controller wich can contain other controllers (field controllers, collection controllers…).
- It can receive and manage its own entity.
Control
The control org.eclipse.swt.widgets.Composite is a SWT controls container which owns its own layout.
Usage:
Code
<formPage formText="#MSG(adichatzStudio, scenario.rcp.formText, #PARAM(pluginName))" title="#MSG(adichatzStudio, scenario.rcp.page)" id="rcpPage">
<layout columnConstraints="[grow,fill]" layoutConstraints="wrap"/>
<include adiResourceURI="adi://editor/ScenarioTBM" id="rcpTBM"/>
<composite id="parentRcpComposite" entity="#ENTITY(#BEAN().getGenerationScenario())" entityURI="adi://org.adichatz.studio/model/GenerationScenarioMM">
<layout columnConstraints="[grow,fill]" layoutConstraints="wrap, ins 0"/>
<checkBox id="rcpPart" text="#MSG(adichatzStudio, scenario.has.rcp.part)" controllerClassName="org.adichatz.studio.xjc.controller.RcpCheckBoxController"/>
<composite id="rcpComposite" entityURI="adi://org.adichatz.studio/model/RcpPartMM" entity="#ENTITY(#BEAN().getRcpPart())" valid="false" layoutData="gap left 20">
<layout columnConstraints="[grow,fill]" layoutConstraints="wrap 1"/>
<checkBox id="application" property="application" text="#MSG(adichatzStudio, scenario.is.application)" noLabel="true"/>
<checkBox id="navigator" property="navigator" text="#MSG(adichatzStudio, scenario.has.navigator)" noLabel="true"/>
</composite>
</composite>
</formPage>
Overview
Explanations
| entityURI="adi://org.adichatz.studio/model/RcpPartMM" | Gives the type of the entity (EntityMetaModel). |
| entity=“entity=”#ENTITY(#BEAN().getRcpPart())“ | Injects and entity in the composite: bean of the new entity is the property rcpPart of the entity injected in the parent controller. |
| valid=“false” | The controller is not build, the life of cycle ignores the controller and its children. The controller org.adichatz.studio.xjc.controller.RcpCheckBoxController manages the validity of the composite. |
| layoutData=“gap left 20” | Add a margin of 20 pixels. |
| <layout columnConstraints=”[grow,fill]“ …/> | Composite layout has one column and components in the composite take all place and grow with composite. |
