Pravděpodobně budete chtít SWT rozšířit implementováním svých vlastních prvků widget. SWT poskytuje balíček org.eclipse.swt.custom obsahující uživatelské obslužné prvky, které nejsou v základní sadě obslužných prvků SWT, ale jsou potřebné pro implementaci pracovní plochy platformy.
Obslužný prvek |
Účel |
---|---|
CBanner | CBanner používá pracovní plocha k rozvržení panelu nástrojů a panelu přepínání perspektiv. |
CCombo | Obdoba Combo, lze však upravovat výšku a vkládat prvky do buněk tabulky. |
CLabel | Obdoba Label, navíc podporuje zkracování textů trojtečkou. Podporuje také efekt stupnice barev pro barvu pozadí, jak lze vidět v zobrazení aktivní pracovní plochy. Nepodporuje zalamování. |
CTabFolder | Podobný prvku TabFolder, ale podporuje dodatečnou konfiguraci vizuálního vzhledu karet (nahoře nebo dole) a okrajů. |
CTabItem | Vybratelný objekt uživatelského rozhraní odpovídající kartě pro stránku v CTabFolder. |
SashForm | Kompozitní obslužný prvek, který uspořádá své podřízené prvky do řady nebo sloupce a použije prvek Sash k jejich oddělení, takže uživatel může změnit jejich velikost. |
ScrolledComposite | Kompozitní obslužný prvek, který posouvá svůj obsah a alternativně svůj obsah roztáhne, aby vyplnil dostupné místo. |
StyledText | Upravitelný obslužný prvek, který umožňuje uživateli napsat text. Oblasti textu uvnitř obslužného prvku mohou mít různé barvy a styly písma. |
ViewForm | ViewForm se používá na pracovní ploše k umístění a nastavení velikosti lokálního řádku popisu/panelu nástrojů/nabídky pohledu. |
Když jste rozhodli, že potřebujete vlastní prvek widget a určili jste, které platformy má podporovat, můžete zvážit různé techniky implementace pro svůj widget. Tyto techniky lze míchat a sladit v závislosti na tom, co je k dispozici na základní platformě OS.
Pokud vaše aplikace vyžaduje nativní prvek widget, který není poskytován v SWT, budete jej potřebovat implementovat nativně. Může to být prvek widget platformy nebo nějaký jiný widget v knihovně sdílené platformou. Úplný příklad implementace nativního uživatelského prvku widget naleznete v Vytváření vlastních prvků widget s použitím SWT.
Kombinací prvků widget lze vytvářet složitější prvky widget. Například Combo lze implementovat s použitím prvku widget zadávání textu, tlačítka a rozevíracího seznamu. Při implementaci kombinovaného prvku widget vytvoříte podtřídu Composite a správu podřízených prvků realizujete interně.
Jednoduchý příklad viz CCombo.
V některých případech nemáte žádný nativní kód ani existující prvek widget, který by vám pomohl při implementaci nového prvku widget. To znamená, že musíte nakreslit prvek widget sami v popisovači události vykreslení. I když tato technika může být dost komplikovaná, má výhodu v tom, že poskytne úplně přenosnou implementaci.
Uživatelem zakreslené obslužné prvky se implementují vytvořením podtřídy Canvas nebo Composite. Vytvořte podtřídu Canvas, pokud váš widget neobsahuje žádné podřízené prvky.
Interní implementace uživatelsky nakresleného prvku widget obvykle zahrnuje tyto hlavní úlohy:
Mnoho prvků widget implementovaných v org.eclipse.swt.custom používá tento přístup. Jednoduchý příklad lze najít v CLabel.
Další informace o uživatelských prvcích widget lze najít v Vytvářeních svých vlastních prvků widget pomocí SWT.