Controller for RichText
The RichTextController is build around the Nebula RichText project which contains 2 controls:
- RichTextViewer for rendering HTML formatted text.
- RichTextEditor for editing HTML formatted text.
This is a FieldController that means that it can be linked to the databinding service.
Currently, the Nebula RichText project is a recent project and does not seem completely finalized. For example, we do not know haw to correctly manage scrolling operation in RichTextViewer control.
Control
RichTextController is a controller build around a RichTextViewer control.
|
When clicking on Edit button in the RichTextController, a new window is opened around a RichTextEditor control which offer a way to edit text. |
Usage:
Code
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <includeTree xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" XMLSchema-instance" coreClassName="org.adichatz.engine.core.ASectionCore" entityURI="adi:/entityURI="adi://myproject/model.filmText/FilmTextMM" generationType="DETAIL" xsi:noNamespaceSchemaLocation="http://www.adichatz.org/xsd/v0.8.4/generator/includeTree.xsd"> <section text="#MSG(filmText, detailContainerText)" style="Section.TWISTIE | Section.TITLE_BAR | Section.EXPANDED" id="detailContainer"> <listeners> <listener id="filmIELsnr" listenerTypes="INJECT_ENTITY"> <code>getComposite().setEnabled(null != getEntity());</code> </listener> <listener id="filmAELCLsnr" listenerTypes="AFTER_END_LIFE_CYCLE"> <code>getComposite().setEnabled(null != getEntity()); getControl().setData("ONE_TO_ONE", #ENTITY_MM(adi://myproject/model.film/FilmMM).getLazyFieldMap().get("filmText"));</code> </listener> </listeners> <layout layoutConstraints="wrap 4" columnConstraints="[fill, align right]10[fill,grow]25[align right]10[fill,grow]"/> <formattedText editPattern="######" format="Short" property="filmId" enabled="false" id="filmId"/> <dateText property="lastUpdate" style="SWT.BORDER | SWT.TIME" enabled="false" id="lastUpdate"/> <composite layoutData="newline, grow, push, span 4" id="bottomComposite"> <layout layoutConstraints="ins 0, wrap 2" columnConstraints="[fill,grow]15[fill,grow]" rowConstraints="[grow,fill, al top]"/> <richText noLabel="true" layoutData="sg bottom" property="description" id="description"/> <imageViewer noLabel="true" layoutData="sg bottom" toolBarStyle="AdiSWT.DELETE_BUTTON | AdiSWT.EXPANDABLE | AdiSWT.EDITABLE" fitCanvas="true" imageType="Data" property="image" id="image"/> </composite> </section> </includeTree>
Overview
Explanations
layoutData=“sg bottom“: | description richtext control and image imageViewer control have same size. |
---|---|
noLabel: | No label are affected to control description. By default, when a field control is linked to a model field (here property=“description”), a label control is automatically created. |