Novinky ve verzi 3.2

Zde jsou popisy některých změn, provedených v zájmu vývojářů modulů plug-in v platformě Eclipse a SWT pro verzi Eclipse 3.2.

Existuje také mnoho rysů orientovaných na koncového uživatele platformy, které je možné zobrazit v sekci Co je nového v průvodci uživatele pracovní plochou.

Změny platformy

Opětovná deklarace běhové komponenty

Modul plug-in org.eclipse.core.runtime se rozdělil na několik dále uvedených modulů plug-in, aby se zvýšila jeho flexibilita a umožnilo se nezávislé použití běhových komponent:

  • org.eclipse.equinox.common - Společný kód, používaný více než jedním dřívějším modulem plug-in (tj. IPath, IStatus, IProgressMonitor).
  • org.eclipse.equinox.registry - Registr rozšíření
  • org.eclipse.equinox.preferences - Mechanizmus předvoleb
  • org.eclipse.core.jobs - Mechanizmus úkolů
  • org.eclipse.core.contenttype - Mechanizmus obsahu
  • org.eclipse.equinox.supplement - Doplňkový modul "plug-in", který se používá pro podporu spouštění bez OSGi.

Byla přidána nová rozhraní APIs, aby napomáhala kontrole rozdělených kousků běhových komponent.

Opětovná deklarace běhové komponenty má být transparentní vzhledem k ostatním modulům plug-in. Další podrobnosti najdete v příručce pro migraci Eclipse 3.2.

společný navigátor Common Navigator

Nový modul plug-in, org.eclipse.ui.navigator, zavádí rámcový systém pro sestavování prohlížečů, které kombinují obsah z více modelů domén. Tento rámcový systém umožňuje deklarativní příspěvky obsahu, štítků, akcí, filtrů a jiných schopností. Modul plug-in org.eclipse.ui.navigator.resources nabízí konkrétní použití tohoto rámcového systému ve formě pohledu Průzkumník projektů a deklarativní rozšíření prohlížeče pro model IResource.

Obrázek ukazující pohled průzkumník projektu

Rámcový systém vlastností s kartami

Byl přidán rámcový systém vlastností s kartami. Tento rámcový systém nabízí náhradu stránky vlastností listu, přičemž umožňuje zobrazit vlastnosti v pohledu Vlastnosti pomocí libovolných obslužných prvků, organizovaných podle karet a sekcí, které se zajišťují přes registr rozšíření.

Obrázek ukazující rámcový systém vlastností s kartami.

Podrobnosti najdete v článku Eclipse Tabbed Properties View.

Systém souborů rozhraní API

Nový modul plug-in, org.eclipse.core.filesystem, zavádí nové generické API pro interakci se systémem souborů. Platforma byla zmigrována, aby používala tento systém souborů spíše než rozhraní API java.io. To znamená, že prostředky je možné vytvářet v libovolném záložním systému souborů a moduly plug-in mohou poskytovat podporu nových druhů systémů souborů.

Do projektů a propojených prostředků byla přidána podpora průvodců pro vytvoření prostředků, které jsou propojeny s dalšími systémy souborů. Moduly plug-in, které definují alternativní systémy souborů mohou být zapojené v podpoře tohoto průvodce použitím bodu rozšíření org.eclipse.ui.ide.filesystemSupport.

Obrázek ukazující nelokální systém souborů.

Kategorizace přidaná k importu a exportu

Body rozšíření org.eclipse.ui.importWizards a org.eclipse.ui.exportWizards nyní podporují kategorizaci.

Obrázek ukazující body rozšíření

Popisy pro anotace v textovém editoru

Anotace události při umístění myši se přesunula z textu JDT do textu platformy. Podpora událostí při umístění myši nad text, vertikální pravítko a pravítko přehledu je nainstalována v konfiguraci TextSourceViewerConfiguration, kterou používají textové editory:

Obrázek anotace popisu

Anotace navigace v textových editorech

Anotace navigace se přesunula z textu JDT do textu platformy a je nyní dostupná ve všech textových editorech:

Obrázek navigace ikon

Asistence pole modulu JFace

Modul JFace zavádí novou podporu pomoci uživateli s vyplněním polí v dialogových oknech a formulářích. Balíček org.eclipse.jface.fieldassist nabízí třídy, které vám umožní doplnit libovolný obslužný prvek obrázkem a odpovídajícím textem události při umístění myši. Toto je možné využít pro takové účely, jako je označení nezbytného pole v dialogu, zobrazení chybového stavu založeného na daném poli nebo zobrazení výzvy obsahové asistence. Balíček vám také umožňuje instalovat obsahové návrhy v obslužných prvcích, včetně rozevíracího dialogu s obsahovým návrhem, dalšího rozevíracího dialogu pro další informace a voleb pro vyvolání návrhů explicitně nebo v automatickém stylu (paměť stisknutých kláves).

Obrázek ukazující pole asistence

Vylepšení prohlížeče stromu JFace TreeViewer

Prohlížeč AbstractTreeViewer nyní podporuje více rovnocenných prvků ve stromu, každý s různým řetězem nadřízených prvků. Tato podpora vyžaduje, aby klient zpřístupnil mapu prvků voláním setUseHashLookup(true).

Prohlížeč TreeViewer nyní podporuje stromy SWT.VIRTUAL. Existuje odpovídající poskytovatel pomalého obsahu ILazyTreeContentProvider, který jen vrací obsah v okamžiku, kdy je potřeba.

Podpora dynamického obsahu nápovědy

Systém nápovědy nyní podporuje dynamickou kompozici obsahu nápovědy. Hesla napsaná v XHMTL mohou obsahovat další markup specifický pro Eclipse a určený pro filtrování obsahu za běhu na základě hodnot os/ws/arch, přítomnosti modulů plug-in, zpřístupněných schopností atd. Sdílený obsah je možné zahrnout do více dokumentů. Navíc mohou moduly plug-in přispívat fragmenty XHTML, které se zasunou do kotev v dalších dokumentech. Toto vše nyní umožňuje vývojářům poskytovat dynamické dokumenty, které se samy přizpůsobí kontextu v okamžiku zobrazení.

Vylepšení hledání v nápovědě

Pomoc uživatelům s indexací a hledáním se vylepšila různými způsoby. Je možné registrovat další účastníky hledání prostřednictvím bodu rozšíření, který může přidávat obsah do indexu Lucene. Nápověda nyní přispívá účastníkovi hledání XHTML, který může indexovat dokumenty dynamické nápovědy vytvořené v XHMTL (viz výše). Navíc se nyní objeví dokumenty, které nebyly předtím v indexu, (například, pohledy Cheat Sheet a uvítací stránky). Výsledky hledání mohou nyní mít různé ikony a akci 'otevřít' je možné delegovat na vyhledávač.

Obrázek znázorňující vylepšíní hledání

Problémy je možné seskupovat

Problémy v pohledu Problémy je nyní možné seskupovat. Existuje výchozí seskupování podle závažnosti a typu problému a další skupiny je možné nadefinovat prostřednictvím bodu rozšíření org.eclipse.ui.ide.markerSupport.

Vylepšená nápověda v dialogových oknech

Většina dialogových oken platformy Eclipse má nyní standardní tlačítko nápovědy v levém dolním rohu. Toto tlačítko vyvolává kontextovou nápovědu stejně jako stisknutí tlačítka F1 (ve Windows). Navíc se obsah nápovědy nyní objeví v paletě dialogového okna místo v samostatném okně. Uživatelská dialogová okna mohou tuto funkcionalitu dědit pomocí vytvoření podtřídy nové třídy TrayDialog místo třídy Dialog. Pohledy Cheat Sheet vás pro kroky, které zahrnují otevírání dialogového okna, také mohou následovat do dialogových oken (v paletě).

Vložit odkazy příkazů v obsahu pomoci uživatelům

Odkazy v Nápovědě, pohledech Cheat Sheet, a v obsahu úvodu nyní mohou po aktivaci uživatelem provádět příkazy. Příkazové odkazy je možné použít k otevírání stránek předvoleb, průvodce spuštěním, zobrazení pohledů, otevírání perspektiv a k mnoha dalším účelům. Rámcový systém příkazů je rozšiřitelný, takže je mnoho dalších možných využití příkazových odkazů. Průvodce uživatele pracovní plochou doznal vylepšení příkazovými odkazy na mnoha místech. Níže uvedený obrázek ukazuje dva příkazové odkazy v heslu nápovědy:

Příkazové odkazy v heslu nápovědy

Podpora pro příkazy spouštění z pohledů Cheat Sheet

Příkazy je nyní možné spouštět z pohledů Cheat Sheet. Níže uvedený soubor s obsahem obsahuje příkaz k otevření pohledu vyhledávání a průzkumníku balíčků.
<?xml version="1.0" encoding="UTF-8"?>
<cheatsheet title="Příklad příkazu v pohledu Cheat Sheet">
  <intro>

    <description>Pohled Cheat Sheet zobrazuje
průzkumník balíčků</description>
</intro>
  <item title="Zobrazit pohled vyhledávání">
     <description>Toto je krok s příkazem,
		který ukazuje pohled vyhledávání.</description>

     <command serialization=
		"org.eclipse.search.ui.views.SearchView"/>  
</item>
  <item title="Krok 2">
    <description>Toto je krok s příkazem a
parametry, který zobrazuje průzkumník balíčků.</description>

     <command serialization="org.eclipse.ui.views.showView(
		org.eclipse.ui.views.showView.viewId=
		org.eclipse.jdt.ui.PackageExplorer)"/> 
     <onCompletion>
         Příklad příkazu je dokončen.
     </onCompletion>
</item>
</cheatsheet>

Do kroku v pohledu Cheat Sheet je možné přidat zprávu o dokončení (completision message), která se zobrazí, když je tento krok dokončen.

Panel vpravo dole obsahuje individuální úlohy.

Obrázek ukazující zprávu o dokončení pohledu Cheat Sheet

Kompozitní pohledy Cheat Sheet

Kompozitní pohledy Cheat Sheet jsou v Eclipse 3.2. novinkou. Kompozitní pohled Cheat Sheet poskytuje asistenci v případě rozsáhlého problému tím, že ho rozdělí na menší úlohy, z nich každá má svůj vlastní pohled Cheat Sheet. Úlohy mohou být organizovány do skupin. Kompozitní pohledy Cheat Sheet se otevírají v pohledu Cheat Sheet a spouštějí se pomocí výběrového dialogového okna. Každá úloha má popis, hypertextové odkazy směrující uživatele sekvencí úloh.

Obrázek ukazující kompozitní pohled Cheat Sheet

Kompozitní pohledy Cheat Sheet mají strom, který ukazuje úlohy a jejich stav. Pravý spodní panel obsahuje individuální úlohy.

Obrázek ukazující kompozitní pohled Cheat Sheet

Obsah kompozitních pohledů Cheat Sheet je definovaný v souboru XML. Soubor s obsahem může uvést, jaké závislosti existují mezi úlohami, takže danou úlohu je možné spustit až poté, co se dokončí všechny určené úlohy.

Rejstřík klíčových slov nápovědy

Nápověda má nyní rejstřík klíčových slov, ve kterém můžete registrovat klíčová slova ze své dokumentace a přidávat odkaz na příslušný dokument nápovědy. Rejstřík je dostupný jak v pohledu nápovědy, tak i v okně nápovědy (pohled zobrazený níže).

Poznámka: Obsah rejstříku není dosud dostupný pro SDK (rejstřík se objeví jen tehdy, pokud je obsah dostupný).

Obrázek znázorňující pohled nápovědy

Konverzní nástroj dokumentace nápovědy XHTML

PDE má nový obslužný program pro rychlou konverzi dokumentace nápovědy modulu plug-in ve formátu HTML do formátu XHTML. Kromě konverze kódu HTML do platného kódu XHTML aktualizuje tento nástroj příponu souboru, tabulku obsahů a přidá nezbytné vazby, aby umožnil dynamický obsah a hledání obsahu XHTML. Po této konverzi se mohou uživatelé těšit z výhod nových rysů nápovědy verze 3.2, jako jsou dynamické filtrování obsahu, opakované použití obsahu a příspěvky dynamického obsahu, které všechny vyžadují XHTML jako svůj formát obsahu.

Tuto funkci je možné vyvolat prostřednictvím volby Nástroje PDE > Konvertovat soubory nápovědy do XHTML z kontextové nabídky modulů plug-in projektů.

Obrázek ukazující konverzní nástroj XHTML

Universal Welcome

Na základě naší zkušenosti s konkrétní implementací uvítání nyní nabízíme konfigurovatelné univerzální uvítání pro použití v libovolném produktu. Produkty mohou volit mezi sedmi předdefinovanými hlavními sekcemi: Přehled, První kroky, Výukové programy, Ukázky, Co je nového, Webové prostředky a Migrovat (platforma Eclipse SDK používá čtyři z nich). Univerzální uvítání má konfigurovatelné rozvržení stránek a úrovně důležitosti pro každý příspěvek a plně respektuje motivy. Nabízí také prezentace jak HTML, tak i SWT pro stoprocentní pokrytí platformy.

Stránka předvoleb uvítání poskytovaná univerzálním uvítáním otevírá přizpůsobení pro koncové uživatele a může ji obsahovat libovolný produkt, který ji chce nabízet. Více o tom se můžete dozvědět ve specifikaci Specifikace universálního uvítání.

Obrázek ukazující univerzální uvítání

Podpora pro konfiguraci a motivy ve Vítejte

Rámec intro má další podporu konfigurovatelnosti. Je možné dodat konfigurátor části intro, který nabízí jednorázový výpočet skupin podřízených prvků, podporu proměnných zástupných prvků a řešení cesty late anchor path. Tuto podporu často využívá modul plug-in Universal Welcome, ale mohou ji využít také další implementace Vítejte.

Motivy představují pojmenované kolekce souborů CSS, vlastností a obrázků, které souhrnně definují vzhled obsahu Vítejte. Universal Welcome využívá výhody této podpory poskytováním schopnosti výběru tématu a dvou konkrétních témat ve verzi 3.2: 'Kruhy' a 'Purpurová síť'.

Obrázek zobrazující motivy v uvítání

Podpora oboru názvů pro body rozšíření nástroje Ant

Body rozšíření org.eclipse.ant.core, antTasks a antTypes nyní umožňují určení URI, v kterém by se daná definice měla nacházet. Úplné podrobnosti všech těchto změn najdete v chyba 133190.

Týmová podpora pro integraci logických modelů

Bylo přidáno rozhraní API, které umožňuje logickým modelům účastnit se týmových operací. S tímto rozhraním API, mohou týmoví poskytovatelé:
  • Nahlédnout do modelů, aby se ujistili, že jsou všechny nezbytné zdroje zahrnuty v týmové operaci.
  • Použít sémantiku modelů jako pomůcku v řešení konfliktů sloučení.
  • Umožnit modelům účastnit se na zobrazování prostředků během týmových operací.

Synchronizace s platformou Java a modely Prostředků

Změny SWT

Indikátor třídění v tabulkách a stromech

Tabulky a stromy nyní podporují indikátor směru třídění v hlavičce sloupce.

Obrázek znázorňující indikátor směru třídění

Úseky kódu SWT zobrazujícítřídění podle sloupce (jednoduché) a třídění podle sloupců (virtuální tabulka).

Přeskupitelné sloupce ve stromech

V Eclipse 3.1 jsme přidali schopnost přeskupovat sloupce v tabulce. Tuto podporu jsme nyní přidali ke stromům.

Pořadí zobrazení sloupců ve stromu je možné měnit táhnutím záhlaví sloupce nebo je možné ho nastavit programově.

Obrázek ukazující přeskupitelné sloupce

Příklad úsek kódu.

Zlepšená podpora motivů XP

Na platformě Windows XP zobrazuje nyní SWT v kartách složek dekorativní pozadí. Skupiny, štítky, zaškrtávací políčky apod. jsou transparentní vzhledem k tomuto pozadí. Také uživatelské prvky widget, jako StyledText, nyní v převažujícím motivu zobrazují správné okraje.

Obrázek zobrazující podporu motivů XP

Instrukce o tom, jak používat vzhled Windows XP najdete v části SWT FAQ.

Animované soubory GIF

Animované obrázky GIF je možné ukládat do souboru.

Obrázek znázorňující podporu animovaného souboru GIF

Příklad použití najdete v části úsek kódu SWT.

Upozornění vzhledu pracovní plochy

Když se pro pracovní plochu změní nastavení vzhledu, jako je motiv, písmo nebo výchozí barvy, vydá se zpráva SWT.Settings pro Zobrazit.

Obrázek znázorňující upozornění vzhledu pracovní plochy

Upozornění na odstranění (Dispose)

Pokud byla dříve pro rodičovský kompozitní prvek přijata událost SWT.Dispose, byly odstraněny všechny podřízené prvky a nebylo tak možné se na ně odkazovat. Pro verzi 3.2 se událost Dispose přijímá před tím, než jsou uvolněny podřízené prvky v operačním systému.

Popisy pro sloupce

Text popisu je možné nastavit na záhlaví tabulky nebo stromu pomocí volbyTableColumn/TreeColumn.setTooltipText(String).

Vertikální CoolBar

Vertikální CoolBar je možné vytvořit pomocí stylu SWT.VERTICAL.

Obrázek ukazující vertikální CoolBar

Podpora OpenGL

Nyní můžete v aplikacích SWT používat OpenGL. Rozhraní OpenGL pracuje s knihovnami OpenGL od jiných dodavatelů, jako je například LWJGL.

Obrázek ukazující příklad OpenGL

Příklady najdete v úsecích kódu SWT

Virtuální strom

Strom nyní podporuje styl SWT.VIRTUAL. To vám umožňuje rychle vytvořit stromy s velkým množstvím dat. Pokud potřebujete položky TreeItems, vytvoří se na vyžádání.

Příklad použití najdete v úseku kódu SWT.

Tlačítka s obrázkem a textem

Tlačítka mohou nyní zobrazovat obrázky, stejně jako text. Tento rys je podporován na platformách Windows XP, Mac OS X a GTK.

Obrázek ukazující tlačítko s obrázkem

Pohled HIView na platformě Mac OS X

Na platformě Mac OS X se nyní využívá pohled HIView. Tím se řeší mnoho problémů s výstřižky a úpravou velikosti.

V textu vložené objekty

Za použití rozvržení TextLayout je nyní možné vložit do textu objekty jako jsou obrázky nebo prvky widget. Je možné zadat Metriku glyfu, jako například výstup, sestup a šířka. Objekty se zalamují s textem.

Obrázek ukazující obrázek vložený do textu

Příklad použití najdete v úseku kódu SWT.

Odsazení, zarovnání a vyrovnání textu

Rozvržení TextLayout nyní podporuje odsazení, zarovnání a vyrovnání textu.

Obrázek ukazující zarovnávaný text

Příklad použití najdete v úseku kódu SWT.

Zvýšení základní linky textu

Pomocí prvků TextLayout a TextStyle můžete nyní zvýšit základní linku pro určitý rozsah textu.

Obrázek ukazující text, kterému se zvyšuje základní linka

Příklad použití najdete v úseku kódu SWT.

Podpora barev HSB

Barvu je možné vytvořit určením odstínu, sytosti a jasu. Pro daný text je navíc možné odstín, sytost a jas zjistit.

Obrázek ukazující podporu HSB

Příklad použití najdete v úseku kódu SWT

Zarovnání, odsazení a vyrovnání prvku StyledText

Prvek StyledText nyní podporuje odsazení, zarovnání a vyrovnání textu.

Obrázek ukazující zarovnávání prvku StyledText

Příklad použití najdete v úseku kódu SWT

Objekty vložené do prvku StyledText

Prvek StyledText vám nyní umožňuje vložit do textu objekty jako jsou obrázky nebo prvky widget. Objekty se zalamují s textem.

Obrázek ukazující obrázek vložený do textu

Příklad použití najdete v úseku kódu SWT

Obraz pozadí

Obraz pozadí je možné nastavit do obslužného prvku. Pozadí navíc mohou zdědit podřízené prvky widget, jako například štítky.

Obrázek ukazující obraz pozadí v ovládacím prvku

Příklad použití najdete v úseku kódu SWT

Přirozené načítání obrázku

Konstruktor Image(Device 'zařízení', String 'jméno souboru') nyní načte obrázek pomocí přirozených volání operačního systému. Tím se zvýšila rychlost načítání obrázku a rozšířila maximální velikost obrázku, který je možné načíst.

Táhnutí textu

Pokud je událost SWT.DragDetect zapojena na prvku Text nebo StyledText, nevymaže se výběr, když uživatel táhne myší z vybrané oblasti textu. To umožňuje podporu táhnutí z prvků widget Text a StyledText.

Příklad použití najdete v úseku kódu SWT

Nový prvek widget ExpandBar

Prvek widget ExpandBar umožňuje uživateli zobrazit a skrýt kolekce prvků widget kliknutím na záhlaví. Prvek ExpandBar obsahuje více položek, z nichž každá může mít v záhlaví obrázek a titulek.

Obrázek znázorňující skrývání prvku widget

Příklad použití najdete v úseku kódu SWT.

Typografické tečky v prvku StyledText

Prvek StyledText může nyní zobrazit seznamy formátované v různých stylech, včetně typografických teček, číslování, velkých a malých písmen a uživatelsky definovaných stylů.

Obrázek ukazující typografické tečky v prvku StyledText

Příklad použití najdete v úseku kódu SWT.

Uživatelem kreslený strom

Prvek widget strom nyní podporuje uživatelské vykreslení pro jednotlivé buňky. Aplikace mohou rozšířit přirozený vzhled stromu uživatelským vykreslením dat. Aplikace mají kontrolu nad výškou řádku, takže je možné vykreslit více řádků textu. Navíc mohou zobrazovat v téže buňce více obrázků, opakovaně měnit font nebo barvu a měnit způsob, jímž se vykreslují výběry.

Obrázek znázorňující uživatelské vykreslení pro jednotlivé buňky stromu

Příklady najdete v následujících úsecích kódu:

Uživatelem nakreslená tabulka

Prvek widget tabulka nyní podporuje uživatelské vykreslení pro jednotlivé buňky. Při udržení přirozeného vzhledu tabulky mohou uživatelé přizpůsobovat způsob vykreslení buněk pro zobrazení dat v jiné formě, než je text s obrázkem. Dále mohou zobrazovat více řádek textu v jedné buňce, opakovaně měnit písmo a barvu v jedné buňce, přepisovat přirozeně vybranou kresbu atd.

Obrázek zobrazující uživatelské vykreslení individuální buňky tabulky

Příklady najdete v následujících úsecích kódu:

Táhnutí přes efekty pro tabulku a strom

Prvky widget tabulky a stromu nyní poskytují vizuální zpětnou vazbu toho, co je taženo.

Obrázek ukazující zpětnou vazbu tažení

Nové třídy popisů

Nové třídy popisů je možné použít k zobrazení popisů, které nejsou přímo svázané s obslužnými prvky. Tyto popisy je možné umístit kamkoli a mohou mít výchozí vzhled nebo balónový vzhled, jak je znázorněno níže.

Obrázek znázorňující popis v balónovém stylu