Vlastní prvky widget

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.

Implementace uživatelského prvku widget

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.

Nativní implementace

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.

Kombinace stávajících prvků widget

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.

Vlastní kreslená implementace

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.