U kunt SWT uitbreiden door aangepaste widgets te implementeren. SWT bevat zelf ook een pakket, org.eclipse.swt.custom, met aangepaste besturingselementen die niet in de hoofdset met SWT-besturingselementen zijn opgenomen maar wel nodig zijn om de platformworkbench te implementeren.
Besturingselement |
Doel |
---|---|
CBanner | CBanner wordt in de workbench gebruikt om het werkbalkgebied te bekleden en de schakelwerkbalk voor perspectieven in te delen. |
CCombo | CCombo is vergelijkbaar met Combo, maar kan ook verticaal worden vergroot of verkleind, zodat het element in tabelcellen kan passen. |
CLabel | CLabel is vergelijkbaar met Label, maar biedt ondersteuning voor het afkappen van tekst door middel van puntjes. Ook kan een overloopeffect worden ingesteld voor de achtergrondkleur, zoals in de actieve workbenchview. Terugloop is niet beschikbaar. |
CTabFolder | CTabFolder is vergelijkbaar met TabFolder, maar ondersteunt aanvullende presentatiemogelijkheden voor tabs (boven en onder) en randen. |
CTabItem | Een selecteerbaar gebruikersinterfaceobject dat hoort bij een tab van een pagina in een CTabFolder-element. |
SashForm | Een samengesteld besturingselement waarmee onderliggende elementen van elkaar gescheiden over rijen of kolommen worden verdeeld en van formaat kunnen worden gewijzigd. |
ScrolledComposite | Een samengesteld besturingselement waarmee de content wordt verschoven en optioneel over de beschikbare ruimte wordt verdeeld. |
StyledText | Een bewerkbaar besturingselement waarin tekst kan worden getypt. Tekstbereiken buiten het besturingselement kunnen met andere kleuren en lettertypestijlen worden aangeduid. |
ViewForm | Een formulier in de workbench voor het positioneren en het wijzigen van het formaat van het label, de werkbalk en de lokale menubalk van een view. |
Nadat u de doelplatformen hebt bepaald, kunt u uit meerdere implementatiemethoden kiezen voor de widget. U kunt de methoden combineren, afhankelijk van de functionaliteit die in het onderliggende besturingssysteem beschikbaar is.
Als voor uw toepassing een standaard ingebouwde widget nodig is die niet door SWT wordt verstrekt, moet u de widget als standaard ingebouwd implementeren. De widget kan dan afkomstig zijn van het platform, van een andere leverancier of van een gedeelde platformbibliotheek. U kunt een volledig voorbeeld van de implementatie van een aangepaste widget vinden in Creating Your Own Widgets using SWT.
U kunt widgets combineren in meer geavanceerde formulierwidgets. Zo kunt u bijvoorbeeld een Combo-element implementeren met een tekstwidget, een knop en een vervolgkeuzelijst. Om een gecombineerde widget te implementeren, maakt u een subklasse van Composite en beheert u de onderliggende elementen intern.
U kunt een eenvoudig voorbeeld raadplegen in CCombo.
Soms zijn er geen standaard ingebouwde codefragmenten of widgets beschikbaar om de implementatie van een nieuwe widget te kunnen doorvoeren. U moet de widget dan zelf opbouwen in de afhandelingsroutine van de Paint-event. Deze techniek kan zeer gecompliceerd zijn, maar biedt de mogelijkheid tot het maken van een volledig overdraagbare implementatie.
U kunt aangepaste opgebouwde besturingselementen implementeren door Canvas of Composite als subklasse te gebruiken. Gebruik Canvas als de widget geen onderliggende elementen bevat.
Voor de interne implementatie van een aangepaste opgebouwde widget zijn meestal drie aspecten van belang:
Deze aanpak wordt gehanteerd door tal van widgets die in org.eclipse.swt.custom zijn geïmplementeerd. U kunt een eenvoudig voorbeeld raadplegen in CLabel.
Meer informatie over aangepaste widgets kunt u vinden in Creating your own widgets using SWT.