Hier worden een aantal wijzigingen in het Eclipse-platform en de SWT beschreven die zijn aangebracht voor release 3.2 van Eclipse.
Er zijn ook veel nieuwe features toegevoegd voor eindgebruikers van het platform. Een overzicht van deze features vindt u in het gedeelte met nieuwe mogelijkheden in de gebruikershandleiding van de workbench.
Platformwijzigingen
|
|
Runtime-herstructurering |
Voor meer flexibiliteit in de Eclipse-runtime en onafhankelijk gebruik van runtimecomponenten mogelijk te maken, is de plugin org.eclipse.core.runtime opgesplitst in verschillende plugins:
Er zijn nieuwe API's toegevoegd om het beheer van de opgesplitste runtime-onderdelen te vergemakkelijken. De runtime-herstructurering moet herkenbaar zijn voor andere plugins. Zie de migratiehandleiding van Eclipse 3.2 voor meer informatie. |
Algemene navigator |
Er is een nieuwe plugin, org.eclipse.ui.navigator, met een framework voor
het bouwen van viewers waarin content uit meerdere domeinmodellen wordt gecombineerd.
Het framework bevat onder meer voorzieningen voor declaratieve aanlevering van content, labels, acties
en filters. De plugin org.eclipse.ui.navigator.resources is een concreet voorbeeld
van het gebruik van dit framework in de vorm van de view Projectverkenner en
declaratieve viewerextensies voor het model IResource.
|
Framework met eigenschappen in tabbladindeling |
Er is een framework met eigenschappen in tabbladindeling toegevoegd. Dit framework
levert een alternatieve pagina met eigenschappenbladen, zodat eigenschappen in de
view Eigenschappen kunnen worden afgebeeld met willekeurige besturingselementen. Deze view
is ingedeeld in tabbladen en secties die worden aangeleverd via het extensieregister.
Zie het artikel De view Eigenschappen in tabbladindeling voor meer informatie. |
Bestandssysteem-API |
De nieuwe plugin org.eclipse.core.filesystem vormt een nieuwe algemene API voor interactie met bestandssystemen. Het platform is geconfigureerd om deze bestandssysteem-API te gebruiken in plaats van java.io-API's. Hierdoor kunnen resources worden gemaakt in willekeurige onderliggende bestandssystemen en kunt u plugins met ondersteuning voor nieuwe soorten bestandssystemen leveren. Er is functionaliteit toegevoegd aan de project- en gekoppelde-resourcewizards voor het maken van resources die zijn gekoppeld aan andere bestandssystemen. Plugins die alternatieve bestandssystemen definiëren kunnen inhaken op deze uitgebreide wizards via het extensiepunt org.eclipse.ui.ide.filesystemSupport. |
Ondersteuning voor categorisatie bij importeren en exporteren |
Categorisatie wordt nu ondersteund door de extensiepunten |
Voorgrondinfo-annotaties in teksteditors |
Het voorgrondinfo-niveau is verlaagd van JDT-tekst naar platformtekst. De voorgrondinfo-ondersteuning voor tekst, de verticale liniaal en de
overzichtsliniaal wordt geïnstalleerd via TextSourceViewerConfiguration , die wordt gebruikt door teksteditors:
|
Annotatienavigatie in teksteditors |
Het annotatienavigatieniveau is verlaagd van JDT-tekst naar platformtekst en is nu beschikbaar in alle editors:
|
JFace-veldhulp |
JFace is voorzien van nieuwe ondersteuning om gebruikers te helpen bij het invullen van velden in dialoogvensters en formulieren. Het pakket org.eclipse.jface.fieldassist levert klassen waarmee u willekeurige besturingsfuncties kunt decoreren met afbeeldingen en bijbehorende voorgrondinfotekst. Deze kunnen bijvoorbeeld worden gebruikt voor het markeren van verplichte velden in een dialoogvenster of het afbeelden van veldfoutcondities of contenthulpaanwijzingen. Het pakket stelt u ook in staat content voor besturingsfuncties voor te stellen, bijvoorbeeld in de vorm van een voorgrondvenster met contentvoorstellen of secundaire voorgrondvensters voor meer informatie en opties voor het expliciet (handmatig) of impliciet (door middel van automatische aanvulling) oproepen van voorstellen.
|
Verbeteringen in JFace-TreeViewer |
AbstractTreeViewer ondersteunt nu meerdere gelijkwaardige elementen in de structuur, die elk een andere bovenliggende keten hebben. Voor deze ondersteuning moeten clients de elementkoppeling inschakelen door setUseHashLookup(true) aan te roepen. TreeViewer ondersteunt nu ook SWT.VIRTUAL-structuren. De bijbehorende lazy-contentprovider ILazyTreeContentProvider retourneert alleen de benodigde inhoud. |
Ondersteuning voor dynamische Help-content |
Het Help-systeem biedt nu ondersteuning voor het dynamisch samenstellen van Help-content. Onderwerpen die zijn samengesteld in de XHMTL-indeling kunnen worden voorzien van extra markup die specifiek is voor Eclipse om content te filteren op basis van de waarden os/ws/arch, de aanwezigheid van plug-ins, ingeschakelde voorzieningen, enzovoort. Gemeenschappelijke content kan in meerdere documenten worden opgenomen. Ten slotte kunnen plugins XHTML-fragmenten aanleveren die worden ingevoegd op ankers in andere documenten. Dit alles biedt informatie-ontwikkelaars de gelegenheid dynamische documenten te maken die zijn toegesneden op de omgeving waarin ze worden bekeken. |
Uitgebreide Help-zoekfuncties |
De Help-indexerings- en zoekfuncties zijn op verschillende punten verbeterd. Er kunnen aanvullende zoekdeelnemers worden geregistreerd via een extensiepunt waarmee Help-content kan worden toegevoegd aan de Lucene-index. Help bevat nu een XHTML-zoekdeelnemer waarmee dynamische Help-documenten in XHTML-indeling (zie boven) kunnen worden geïndexeerd. Daarnaast worden sommige documenten die eerder NIET in de index werden weergegeven, nu WEL weergegeven (bijvoorbeeld hulpbladen en welkomstpagina's). Zoekresultaten kunnen nu worden weergegeven met verschillende pictogrammen en de actie 'openen' kan worden overgedragen aan de zoekengine. |
Problemen kunnen worden gegroepeerd |
Problemen in de view Problemen kunnen voortaan worden gegroepeerd. Standaard kunt u problemen groeperen op severity en probleemtype. Aanvullende groepen kunnen worden gedefinieerd via het extensiepunt org.eclipse.ui.ide.markerSupport. |
Verbeterde Help in dialoogvensters |
De meeste dialoogvensters in Eclipse zijn nu voorzien van een standaardknop voor Help linksonder in het venster. Met deze knop wordt specifieke Help opgeroepen, zoals wanneer u op F1 drukt (in Windows). Bovendien wordt de Help voortaan weergegeven in een hulpvak in hetzelfde dialoogvenster, in plaats van in een apart venster. Aangepaste dialoogvensters kunnen deze functionaliteit overnemen door een subklasse te maken van de nieuwe klasse TrayDialog in plaats van de klasse Dialog. Daarnaast kunnen er hulpbladen zijn opgenomen in dialoogvensters (in het hulpvak) voor procedures waarbij u dialoogvensters moet openen. |
Opdrachtlinks inbedden in Help-informatie voor gebruikers |
Met links in Help, hulpbladen en inleidingscontent kunnen nu opdrachten
worden uitgevoerd als deze worden geactiveerd door de gebruiker. Opdrachtlinks kunnen
voor tal van doeleinden worden gebruikt, bijvoorbeeld om voorkeurenpagina's te openen, wizards te starten, views af te beelden of perspectieven
te openen. Het opdrachtframework is uitbreidbaar, dus opdrachtlinks bieden nog veel meer
gebruiksmogelijkheden. De handleiding van de workbench
is op veel plaatsen uitgebreid met opdrachtlinks. In de onderstaande afbeelding ziet u
twee opdrachtlinks in een Help-onderwerp:
|
Ondersteuning voor het starten van opdrachten vanuit hulpbladen |
Opdrachten kunnen nu worden gestart vanuit hulpbladen. Het onderstaande contentbestand bevat opdrachten om de view Zoeken en de Pakketverkenner te openen.
<?xml version="1.0" encoding="UTF-8"?> <cheatsheet title="Voorbeeld van opdrachten in een hulpblad"> <intro> <description>Een hulpblad toont de Pakketverkenner</description> </intro> <item title="De view Zoeken afbeelden"> <description>Dit is een stap met een opdracht die de view Zoeken afbeeldt.</description> <command serialization= "org.eclipse.search.ui.views.SearchView"/> </item> <item title="Stap 2"> <description>Dit is een stap met een opdracht en parameters waarmee de Pakketverkenner wordt afgebeeld.</description> <command serialization="org.eclipse.ui.views.showView( org.eclipse.ui.views.showView.viewId= org.eclipse.jdt.ui.PackageExplorer)"/> <onCompletion> Opdrachtvoorbeeld voltooid. </onCompletion> </item> </cheatsheet> |
Voltooiingsbericht |
U kunt aan een stap in een hulpblad een voltooiingsbericht toevoegen dat wordt weergegeven wanneer de betreffende stap is voltooid.
|
Samengestelde hulpbladen |
Samengestelde hulpbladen zijn nieuw in Eclipse 3.2. Een samengesteld
hulpblad bevat hulp voor een omvangrijk probleem en is onderverdeeld in een aantal
kleinere taken met elk een eigen hulpblad. Deze taken kunnen zijn ingedeeld
in groepen. Samengestelde hulpbladen worden geopend in de view voor hulpbladen
en worden gestart met behulp van het hulpbladselectievenster. Elke taak heeft
een beschrijving en de gebruiker wordt door een reeks taken geloodst via hyperlinks.
Samengestelde hulpbladen hebben een boomstructuur van taken en hun status. Het venster rechts onderin bevat de afzonderlijk taken. De content van een samengesteld hulpblad wordt gedefinieerd in een XML-bestand. In het contentbestand kan zijn opgegeven welke dependency's er tussen taken bestaan zodat een bepaalde taak bijvoorbeeld pas kan worden gestart nadat de voorgaande taken voltooid zijn. |
Help-trefwoordenindex |
Help bevat nu een trefwoordenindex waarin u trefwoorden uit uw documentatie
en een link naar het bijbehorende Help-document kunt opnemen. Deze index is zowel beschikbaar
in de Help-view als het Help-venster (hieronder is de view afgebeeld).
Opmerking: de indexcontent is nog niet beschikbaar voor de SDK (de index wordt alleen afgebeeld als er content beschikbaar is). |
XHTML-conversietool voor Help-documenten |
PDE bevat een nieuw hulpprogramma waarmee u de Help-documenten van een plugin
in een handomdraai kunt converteren van HTML naar XHTML. Naast de conversie van HTML naar
geldige XHTML, wordt door de tool ook de bestandsnaamextensie en de inhoudsopgave bijgewerkt
en de nodige koppelingen toegevoegd om dynamische content te activeren en in de XHTML-content
te kunnen zoeken. Na deze conversie kunnen gebruikers genieten van alle nieuwe Help-features
van release 3.2, zoals dynamische contentfilters, hergebruik van content en aanlevering
van dynamische content. Voor al deze features is immers XHTML-content vereist.
Deze functie kan worden opgeroepen via PDE Tools > Help-bestanden converteren naar XHTML vanuit het voorgrondmenu van pluginprojecten. |
Universele welkomstpagina |
Naar aanleiding van onze ervaringen met concrete implementaties van welkomstpagina's,
bieden we nu een configureerbare universele welkomstpagina aan die kan worden gebruikt voor
elk product. Voor elk product kunt u kiezen uit zeven vooraf gedefinieerde hoofdonderdelen:
Overzicht, Eerste stappen, Zelfstudies, Voorbeelden, Nieuw, Webresources en
Migreren (in de Eclipse SDK worden vier van deze onderdelen gebruikt). Universele welkomstpagina heeft configureerbare
pagina-indelingen en belangrijkheidsniveaus voor elk onderdeel, en biedt alle mogelijkheden voor het gebruik
van thema's. Het biedt ook HTML- en SWT-presentaties voor 100% platformdekking.
Op de voorkeurenpagina Welkom die door Universele welkomstpagina wordt geleverd, kan de welkomstpagina door eindgebruikers worden aangepast en vervolgens worden opgenomen in elk gewenst product. Zie Specificatie van universele welkomstpagina voor meer informatie hierover. |
Ondersteuning voor configuratie en thema's in welkomstpagina |
Het introframework is beter configureerbaar dan ooit tevoren. Er kan een intro-configuratieprogramma
worden aangeleverd voor eenmalige berekening van de groep onderliggende items, ondersteuning
voor vervanging van variabelen en late omzetting van ankerpaden. Deze ondersteuning wordt
intensief gebruikt door Universele welkomstpagina, maar kan ook worden gebruikt voor
andere implementaties van welkomstpagina's.
Thema's vertegenwoordigen benoemde collecties CSS-bestanden, eigenschappen en afbeeldingen die gezamenlijk het uiterlijk van de content van de welkomstpagina bepalen. Universele welkomstpagina maakt gebruik van deze functionaliteit door de gebruiker de keuze te bieden tussen twee concrete thema's in Eclipse 3.2: 'Cirkels' en 'Paarse streek'. |
Naamruimte-ondersteuning voor de Ant-extensiepunten |
De extensiepunten antTasks en antTypes van org.eclipse.ant.core bieden nu de mogelijkheid een URI aan te wijzen waarin de definitie moet worden opgenomen. Zie bug 133190 voor een volledige beschrijving van alle wijzigingen. |
Teamondersteuning voor de integratie van logische modellen |
Er is een API toegevoegd waarmee logische modellen kunnen deelnemen in teambewerkingen. Met deze
API kunnen teamproviders het volgende doen:
|
Wijzigingen in SWT
|
|
Sorteerindicator in tabellen en boomstructuren |
Tabellen en boomstructuren bevatten nu een sorteerrichtingindicator in de kolomkop. SWT-snippets met sortering op kolom (eenvoudig) en sortering op kolom (virtuele tabel). |
Opnieuw te ordenen kolommen in boomstructuren |
In Eclipse 3.1 is een functie toegevoegd om kolommen in een tabel opnieuw te ordenen. Dezelfde functie is nu ook beschikbaar in boomstructuren. De weergavevolgorde van kolommen in een boomstructuur kan worden gewijzigd door de kolomkop te verslepen of kan programmatisch worden ingesteld. Voorbeeldsnippet. |
Verbeterde ondersteuning voor Windows XP-thema |
In Windows XP wordt de SWT nu afgebeeld met achtergrondpatronen in tabbladmappen. De groepen, labels, selectievakjes, enzovoort worden allemaal transparant afgebeeld met deze achtergrond. Ook aangepaste widgets, zoals StyledText, worden nu afgebeeld met de juiste rand van het actieve Windows XP-thema. Zie de veelgestelde vragen over SWT voor instructies over het gebruik van een Windows XP-uiterlijk. |
Geanimeerde GIF's |
Geanimeerde GIF-afbeeldingen kunnen worden opgeslagen als bestand. Zie de SWT-snippet voor een voorbeeld hiervan. |
Melding van wijziging in bureaubladpresentatie |
Steeds als presentatie-instellingen zoals het thema, het lettertype of de standaardkleuren worden
gewijzigd, wordt een |
Melding voor verwijdering |
In eerdere versies werden bij ontvangst van een |
Knopinfo voor kolommen |
Met behulp van |
Verticale dynamische balk |
Met de stijl |
Ondersteuning voor OpenGL |
U kunt nu OpenGL in SWT-toepassingen gebruiken. De OpenGL-interface werkt met OpenGL-bibliotheken van andere leveranciers, bijvoorbeeld LWJGL. Zie de SWT-snippets voor een aantal voorbeelden. |
Virtuele boomstructuur |
In boomstructuren wordt nu de stijl SWT.VIRTUAL ondersteund. Zo kunt u snel boomstructuren met veel gegevens maken. Als er TreeItem-elementen nodig zijn, worden deze op aanvraag gemaakt. Zie de SWT-snippet voor een voorbeeld hiervan. |
Knoppen met afbeeldingen en tekst |
U kunt nu zowel een afbeelding als tekst op een knop afbeelden. Deze feature wordt ondersteund in Windows XP, Mac OS X en GTK. |
HIView op Mac OS X |
SWT maakt nu gebruik van HIView op Mac OS X. Hiermee zijn veel clipping- en formaatproblemen opgelost. |
Ingebedde objecten in tekst |
Met TextLayout is het nu mogelijk om objecten als afbeeldingen of widgets in te bedden in tekst. Hierbij kunnen grafische symbolen zoals een stijging, daling of breedte worden opgegeven. De objecten worden verpakt met de tekst. Zie de SWT-snippet voor een voorbeeld hiervan. |
Tekst inspringen, uitlijnen en uitvullen |
TextLayout ondersteunt nu het inspringen, uitlijnen en uitvullen van tekst. Zie de SWT-snippet voor een voorbeeld hiervan. |
Basislijn van tekst verhogen |
Met TextLayout en TextStyle is het nu mogelijk om de basislijn van een bepaald stuk tekst te verhogen. Zie de SWT-snippet voor een voorbeeld hiervan. |
Ondersteuning voor de tint, intensiteit en helderheid van een kleur |
Een kleur kan worden gemaakt door de tint, intensiteit en helderheid op te geven. Daarnaast kunt u de tint, intensiteit en helderheid van bestaande kleuren opvragen. Zie de SWT-snippet voor een voorbeeld hiervan. |
StyledText: uitlijnen, inspringen, uitvullen |
StyledText ondersteunt nu het inspringen, uitlijnen en uitvullen van tekst. Zie de SWT-snippet voor een voorbeeld hiervan. |
Ingebedde objecten in StyledText |
Met StyledText is het nu mogelijk om objecten als afbeeldingen of widgets in te bedden in tekst. De objecten worden verpakt met de tekst. Zie de SWT-snippet voor een voorbeeld hiervan. |
Achtergrondafbeelding |
U kunt een achtergrondafbeelding instellen voor een besturingselement. Daarnaast kan de achtergrond worden overgenomen in onderliggende widgets, bijvoorbeeld in labels. Zie de SWT-snippet voor een voorbeeld hiervan. |
Afbeeldingen laden met native opdrachten |
De constructor |
Tekst verslepen |
Als de event Zie deze SWT-snippet voor een voorbeeld hiervan. |
Nieuwe widget: ExpandBar |
Met de widget ExpandBar kan de gebruiker verzamelingen widgets afbeelden of verbergen door op een koptekst te klikken. De widget ExpandBar bevat meerdere items die ieder een afbeelding en titel kunnen hebben in de koptekst. Zie deze SWT-snippet voor een voorbeeld hiervan. |
Opsommingstekens in StyledText |
StyledText kan nu lijsten in tal van stijlen afbeelden, bijvoorbeeld met opsommingstekens, nummers, hoofdletters of kleine letters. U kunt ook aangepaste stijlen definiëren. Zie deze SWT-snippet voor een voorbeeld hiervan. |
Aangepaste opgebouwde boomstructuur |
De widget Tree (boomstructuur) ondersteunt nu een aangepaste opbouw van afzonderlijke cellen. Toepassingen kunnen de oorspronkelijke vormgeving en werking van de boomstructuur wijzigen door de opbouw van de gegevens aan te passen. De toepassing heeft het beheer over de rijhoogte, dus er kunnen meerdere regels tekst worden opgebouwd. Daarnaast kunnen meerdere afbeeldingen in een en dezelfde cel worden weergegeven, meerdere lettertypen en/of kleuren worden gebruikt, en kan de manier waarop selecties worden opgebouwd worden gewijzigd. Zie de volgende snippets voor een aantal voorbeelden: |
Aangepaste opgebouwde tabel |
De widget Table (tabel) ondersteunt nu een aangepaste opbouw van afzonderlijke cellen. Hoewel de oorspronkelijke vormgeving en werking van de tabel hetzelfde blijven, kunnen gebruikers aanpassen hoe cellen worden opgebouwd om gegevens af te beelden in een andere vorm dan tekst met een afbeelding, bijvoorbeeld om meerdere regels tekst in één cel af te beelden, meerdere lettertypen en/of kleuren in dezelfde cel te gebruiken, de oorspronkelijke opbouw van de selectie te overschrijven, enzovoort. Zie de volgende snippets voor een aantal voorbeelden: |
Sleepeffecten voor tabel en boomstructuur |
In de widgets Table (tabel) en Tree (boomstructuur) wordt nu visuele feedback geleverd over de gegevens die worden versleept. |
Nieuwe klasse: Tooltip (knopinfo) |
De nieuwe klasse ToolTip kan worden gebruikt om knopinfo weer te geven die niet rechtstreeks aan een besturingsfunctie gekoppeld is. Deze knopinfo kan overal worden geplaatst en wordt afgebeeld in de standaardpresentatie van het platform óf als tekstballon, zoals in de onderstaande afbeelding. |