HTML and CSS Reference
In-Depth Information
3.2 Anlegen des Custom Widgets
Auch wenn RAP-Anwendungen ohne OSGi betrieben werden können, ist es eine gute Praxis, wie-
derverwendbare Komponenten für die Verwendung im OSGi-Umfeld vorzubereiten. Deshalb sollte
das Custom Widget in einem OSGi Bundle verpackt werden. Wir erzeugen dazu ein neues Plug-in-
Projekt und definieren eine Bundle Dependency auf
org.eclipse.rap.rwt
. In diesem Bundle legen wir
eine neue Klasse
CKEditor
an, die sich von
org.eclipse.swt.widgets.Composite
ableitet. Diese Vorge-
hensweise entspricht den Richtlinien für Custom-Widget-Entwicklung mit SWT [2]. Im Konstruktor
erzeugen wir als einziges Kind ein Browser-Widget und passen es mittels
FillLayout
an die volle
Größe seines Parents an. Damit das Browser-Widget nicht den Hintergrund des Composites über-
schreibt, wird die Eigenschaft
BackgroundMode
auf
SWT.INHERIT_FORCE
gesetzt. Dadurch wirkt
die
setBackground
-Methode des Custom Widgets weiterhin wie erwartet. Der URL wird von einer
Methode ermittelt, die wir später implementieren (Listing 3.1).
public CKEditor( Composite parent, int style ) {
super( parent, style );
super.setLayout( new FillLayout() );
this.setBackgroundMode( SWT.INHERIT_FORCE );
browser = new Browser( this, SWT.BORDER );
browser.setUrl( getURL() );
}
Listing 3.1