Nyheter i 3.2

Her finner plugin-utviklere opplysninger om interessante og viktige endringer som er gjort i utgave 3.2 av Eclipse-plattformen og SWT.

Det kan også være nye funksjoner rettet mot sluttbrukere av plattformen som kan ses i seksjonen Nyheter for Brukerhåndbok for arbeidsbenken.

Plattformendringer

Refaktorisering ved kjøring

For å få Eclipse-kjøringen med fleksibel og muliggjøre uavhengig bruk av kjøretidskomponenter er plugin-modulen org.eclipse.core.runtime delt i flere plugin-moduler:

  • org.eclipse.equinox.common - vanlig kode som brukes av flere enn en del av den tidligere kjøretids-plugin-modulen (f.eks. IPath, IStatus, IProgressMonitor).
  • org.eclipse.equinox.registry - utvidelsesregister
  • org.eclipse.equinox.preferences - preferansemekanisme
  • org.eclipse.core.jobs - jobbmekanisme
  • org.eclipse.core.contenttype - innholdsmekanisme
  • org.eclipse.equinox.supplement - en tilleggs-"plugin"-modul som brukes for å støtte kjøring uten OSGi.

Nye APIer er lagt til for å lette kontrollen med deling i kjøretidsdeler.

Kjøretidsrefaktoriseringen bør være gjennomsiktig for andre plugin-moduler. Du finner flere opplysninger i veiledningen for migrering til Eclipse 3.2.

Felles navigator

En ny plugin-modul, org.eclipse.ui.navigator, introduserer en ramme for bygging av visningsprogrammer som kombinerer innhold fra flere domenemodeller. Rammen gjør det også mulig med deklarativt bidrag av innhold, etiketter, handlinger, filtre og annen funksjonalitet. Plugin-modulen org.eclipse.ui.navigator.resources gjør konkret bruk av denne rammen i form av en Prosjektutforsker-visning, og deklarative visningsprogramutvidelser for modellen IResource.

Bilde som viser Prosjektutforsker-visningen

Ramme for egenskaper med flipper

Det er lagt til en ramme for egenskaper med flipper. Rammen for egenskaper med flipper erstatter egenskapsarksiden, slik at egenskaper kan vises i Egenskaper-visningen ved hjelp av vilkårlige kontroller ordnet på flipper og i seksjoner som leveres via utvidelsesregisteret.

Bilde som viser en ramme for egenskaper med flipper

Se artikkelen The Eclipse Tabbed Properties View for nærmere opplysninger.

API for filsystemer

En ny plugin-modul, org.eclipse.core.filesystem, introduserer et nytt generisk API for interaksjon med filsystemer. Plattformen er migrert for å bruke dette filsystem-APIet snarere enn java.io-APIer. Det betyr at ressurser kan opprettes i vilkårlige støttefilsystemer, og plugin-moduler kan støtte nye typer filsystemer.

Støtte er lagt til prosjektet og veivisere for linkede ressurser for opprettelse av ressurser som er linket til andre filsystemer. Plugin-moduler som definerer alternative filsystemer, kan bindes til denne veiviserstøtten ved hjelp av utvidelsespunktet org.eclipse.ui.ide.filesystemSupport.

Bilde som viser et ikke-lokalt filsystem

Kategorisering lagt til import og eksport

Utvidelsespunktene org.eclipse.ui.importWizards og org.eclipse.ui.exportWizards støtter nå kategorisering.

Bilde som viser utvidelsespunkter

Verktøytips for annotasjoner i tekstredigeringsprogrammer

Annotasjonspeking er trykket ned fra JDT-tekst til plattformtekst. Pekerstøtte for tekstlinjal, loddrett linjal og oversiktslinjal installeres av TextSourceViewerConfiguration, som brukes av tekstredigeringsprogrammer:

Bilde av annotasjonsverktøytips

Annotasjonsnavigering i tekstredigeringsprogrammer

Annotasjonsnavigering er trykket ned fra JDT-tekst til plattformtekst, og er nå tilgjengelig i alle tekstredigeringsprogrammer:

Bilde av navigeringsikoner

JFace-feltstøtte

JFace introduserer ny støtte for hjelp til brukeren med å fullføre felt i dialogbokser og skjemaer. Pakken org.eclipse.jface.fieldassist har klasser som du kan bruke til å dekorere vilkårlige kontroller med bilder og tilsvarende peketekst. Disse kan brukes for formål som å merke nødvendige felt i en dialogboks, vise feltbaserte feiltilstander eller vise innholdshjelpmeldinger. Pakken lar deg også installere innholdsforslag på en kontroll, inkludert en hurtigmeny med innholdsforslag, sekundære hurtigmenyer for ytterligere opplysninger og alternativer for å aktivere forslag eksplisitt eller i en autentisk stil (fortløpende skriving).

Bilde som viser felthjelp

JFace TreeViewer-utvidelser

AbstractTreeViewer støtter nå flere like elementer i treet, hvert med forskjellig overordnet kjede. Denne støtten krever at klienter aktiverer elementkonverteringen ved å kalle opp setUseHashLookup(true).

TreeViewer støtter nå SWT.VIRTUAL-trær. Det er en tilsvarende langsom innholdsleverandør, ILazyTreeContentProvider, som bare returnerer innholdet ved behov.

Støtte for dynamisk hjelpeinnhold

Hjelpesystemet støtter nå dynamisk komposisjon av hjelpeinnhold. Emner forfattet i XHMTL kan inneholde ytterligere Eclipse-spesifikke formateringskoder for umiddelbar filtrering av innhold ut fra os/ws/arch-verdier, nærvær av plugin-moduler, aktivert funksjonalitet m.m. Delt innhold kan inkluderes i flere dokumenter. Endelig kan plugin-moduler bidra med XHTML-fragmenter som plugges til ankre i andre dokumenter. Alt dette gjør det nå mulig for informasjonsutviklere å tilpasse seg innholdet på visningstidspunktet.

Søkeforbedringer i hjelp

Brukerassistansens indeksering og søking er forbedret på forskjellige måter. Flere søkedeltakere kan registreres via utvidelsespunktet om kan legge til innhold i Lucene-indeksen. Hjelpen bidrar nå med en XHTML-søkedeltaker som kan indeksere dynamiske hjelpedokumenter forfattet i XHMTL (se over). Dessuten kan dokumenter som tidligere ikke var i indeksen, vises (for eksempel jukselapper og velkomstsider). Søketreff kan nå ha forskjellige ikoner, og åpnehandlingen kan delegeres til søkemotoren.

Bilde som viser søkeforbedringer

Problemer kan grupperes

Problemer i Problemer-visningen kan nå grupperes. Det finnes standardgrupperinger etter alvorsgrad og problemtype, og ytterligere grupperinger kan defineres via utvidelsespunktet org.eclipse.ui.ide.markerSupport.

Forbedret hjelp i dialogbokser

De fleste dialogbokser har nå en standard hjelpeknapp nederst til venstre. Denne knappen oppsummerer konteksthjelp, akkurat som når man trykker på F1 (i Windows). Dessuten vil hjelpeinnholdet nå bli vist i dialogboksens skuff snarere enn i et eget vindu. Tilpasningsdialogbokser arver denne funksjonaliteten ved å subklassifisere den nye TrayDialog-klassen snarere enn Dialogboks. Jukselapper kan også følge deg inn i dialogbokser (i skuffen) for trinn som innebærer åpning av dialogbokser.

Innfelte kommandolinker i brukerassistanseinnhold

Linker i hjelp, jukselapper og innledningsinnhold kan nå utføre kommandoer når de aktiveres av brukeren. Kommandolinker kan brukes til å åpne preferansesider, starte veivisere, vise visninger, åpne perspektiver og mange andre formål. Kommandorammen er utvidbar, så mange flere bruksmåter er mulige for kommandolinker. Brukerhåndbok for arbeidsbenken er utvidet med kommandolinker mange steder. Bildet nedenfor viser to kommandolinker i et hjelpeemne:

Kommandolinker i hjelpeemne

Støtte for åpning av kommandoer fra jukselapper

Kommandoer kan nå startes fra jukselapper. Innholdsfilen nedenfor inneholder kommandoer for å åpne Søk-visningen og Pakkeutforsker.
<?xml version="1.0" encoding="UTF-8"?>
<cheatsheet title="Eksempel på kommandoer i en jukselapp">
  <intro>

    <description>En jukselapp viser
pakkeutforskeren</description>
  </intro>
  <item title="Vis søkevisning">
     <description>Dette er et trinn med en kommando
som viser søkevisningen.</description>

     <command serialization=
		"org.eclipse.search.ui.views.SearchView"/>  
</item>
  <item title="Trinn 2">
    <description>Dette er et trinn med en kommando og
		parametere som viser pakkeutforskeren.</description>

     <command serialization="org.eclipse.ui.views.showView(
		org.eclipse.ui.views.showView.viewId=
		org.eclipse.jdt.ui.PackageExplorer)"/> 
     <onCompletion>
         Kommandoeksempel fullført.
     </onCompletion>
</item>
</cheatsheet>

Ferdigmelding

Det kan legges til en ferdigmelding i et trinn i en jukselapp for visning når trinnet er fullført.

Bilde som viser ferdigmelding for jukselapp

Sammensatte jukselapper

Sammensatte jukselapper er nytt i Eclipse 3.2. En sammensatt jukselapp viser vei gjennom et stort problem ved å dele det opp i mindre oppgaver som hver har sin egen jukselapp. Oppgavene kan ordnes i grupper. Sammensatte jukselapper åpnes i jukselappvisningen og aktiveres ved hjelp av dialogboksen for valg av jukselapp. Hver oppgave har en beskrivelse, og hyperlinker fører brukeren gjennomen serie med oppgaver.

Bilde som viser en sammensatt jukselapp

Sammensatte jukselapper har et tre som viser oppgavene og deres status. Den høyre/nedre ruten viser de enkelte oppgavene.

Bilde som viser en sammensatt jukselapp

Innholdet i en sammensatt jukselapp er definert i en XML-fil. Innholdsfilen kan spesifisere hvilke avhengigheter som finnes mellom oppgaver, slik at en oppgave bare kan startes etter at eventuelle nødvendige oppgaver er utført.

Register for hjelp

Hjelpen har nå et register over nøkkelord fra dokumentasjonen og har en link til riktig hjelpedokument. Indeksen er tilgjengelig både i hjelpevisningen og hjelpevinduet (visningen er vist nedenfor).

Merk: Innholdet i registeret (indeksen) er ennå ikke tilgjengelig for SDK (registeret blir vist bare hvis innhold er tilgjengelig).

Bilde som viser Hjelp-visning

Konverteringsverktøy for XHTML-hjelp

PDE har et nytt verktøy for rask konvertering av en plugin-moduls HTML-hjelpedokumenter til XHTML. I tillegg til å konvertere HTML til gyldig XHTML oppdaterer verktøyet filtypen og innholdsfortegnelsen, og legger til nødvendige bindinger for å aktivere dynamisk innhold og søk etter XHTML-innhold. Etter denne konverteringen kan brukere dra nytte av de nye 3.2-hjelpefunksjonene som dynamisk innholdsfiltrering, gjenbruk av innhold og dynamisk innholdslevering, som alle krever XHTML som innholdsformat.

Denne funksjonen kan aktiveres via PDE-verktøy > Konverter hjelpefiler til XHTML fra hurtigmenyen for plugin-prosjekter.

Bilde som viser XHTML-konverteringsverktøyet

Universell velkomst

Ut fra vår erfaring med konkrete velkomstimplementeringer kan vi nå tilby en konfigurerbar universell velkomst som kan brukes i ethvert produkt. Produktene kan velge mellom 7 forhåndsdefinerte hovedseksjoner: Oversikt, Første trinn, Opplæring, Eksempler, Nyheter, Web-ressurser og Migrering (Eclipse SDK bruker 4 av dem). Den universelle velkomsten har konfigurerbar sidelayout og viktighetsnivåer for hvert bidrag, og er fullstendig temabevisst. Den tilbyr både HTML- og SWT-presentasjoner for 100 % plattformdekning.

En velkomstside fra Universell velkomst åpner opp Velkomsttilpasning for sluttbrukere, og kan inkluderes i ethvert produkt som vil tilby den. Du kan lese mer om dette i Universal Welcome specification.

Bilde som viser universell velkomst

Støtte for konfigurering og temaer i velkomsten

Introduksjonsrammen har mer konfigureringsstøtte. Det kan leveres en introkonfigurerer som tilbyr engangsberegning av gruppers underordnede, variabelerstatningstøtte og sen ankerbanetolkning. Denne støtten brukes mye av den universelle velkomsten, men kan også brukes av andre velkomstimplementeringer.

Temaene representerer navngitte samlinger av CSS-filer, egenskaper og bilder som kollektivt kan definere utseendet til velkomstinnholdet. Den universelle velkomsten drar nytte av denne støtten til å tilby samme temavalgmuligheter og to konkrete temaer i 3.2: 'Sirkler' og 'Purpur nett'.

Bilde som viser temaer i velkomst

Navneområdestøtte for Ant-utvidelsespunkter

org.eclipse.ant.core-utvidelsespunktene antTasks og antTypes gjør det nå mulig å betegne en URI som definisjonen kan bo i. Se programfeil 133190 for fullstendige detaljer om alle endringene.

Gruppestøtte for integrering av logiske modeller

Det er lagt til et API som gjør det mulig for logiske modeller å delta i gruppeoperasjoner. Med dette APIet kan gruppeleverandører
  • konsultere modeller for å sikre at alle nødvendige ressurser er inkludert i en gruppeoperasjon
  • bruke modellsemantikk til hjelp ved løsning av sammenslåingskonflikter
  • gjøre det mulig for modeller å delta i visningen av ressurser under gruppeoperasjoner

Synkronisering med Java og ressursmodeller

SWT-endringer

Sorteringsindikator i tabeller og trær

Tabeller og trær støtter nå en sorteringsretningsindikator i toppteksten i kolonnen.

Bilde som viser sorteringsretningsindikator

SWT-snutter som viser sortering etter kolonne (enkelt) og sortering etter kolonne (virtuell tabell).

Omorganiserbare kolonner i trær

I Eclipse 3.1 la vi til mulighet for å omorganisere kolonnene i en tabell. Denne støtten er nå lagt til i Tre.

Du kan endre visningsrekkefølgen for kolonner i et tre ved å dra kolonneoveskriften til en annen plassering, og dette kan også defineres ved hjelp av et program.

Bilde som viser omorganiserbare kolonner

Eksempelsnutt.

Forbedret XP-temastøtte

I Windows XP viser SWT nå teksturbakgrunnen i flippmapper. Gruppene, etikettene, avmerkingsboksene osv. er alle transparente for denne bakgrunnen. Dessuten viser tilpassede widgeter, f.eks. StyledText, nå riktig ramme for gjeldende Windows XP-tema.

Bilde som viser XP-temastøtte

Se Spørsmål og svar om SWT for informasjon om hvordan du kjører med et Windows XP-skall.

Animerte GIF-bilder

Animerte GIF-bilder kan lagres i filer.

Bilde som viser støtte for animert GIF

Du finner et eksempel i SWT-snutten.

Varsling om skrivebordutseende

Når utseendeinnstillinger som f.eks. tema, font eller standardfarger endres for skrivebordet, utstedes en SWT.Settings-hendelse for skjermen.

Bilde som viser varsel om skrivebordsutseende

Avhendingsvarsel

Tidligere når en SWT.Dispose-hendelse ble mottatt for en overordnet kompositt, ble alle underordnede avhendet og kunne dermed ikke refereres til. For 3.2 mottas avhendingshendelsen før de underordnede er frigitt i operativsystemet.

Verktøytips for kolonner

Verktøytipsteksten kan defineres på en tabell eller trekolonneoverskrift ved hjelp av TableColumn/TreeColumn.setTooltipText(String).

Loddrett CoolBar

En loddrett CoolBar kan opprettes ved hjelp av stilen SWT.VERTICAL.

Bilde som viser loddrett CoolBar

OpenGL-støtte

Du kan nå bruke OpenGL i SWT-applikasjoner. OpenGL-grensesnittet virker med tredjeparts OpenGL-biblioteker som LWJGL.

Bilde som viser et OpenGL-eksempel

Se for eksempel SWT-snuttene

Virtuelt tre

Treet støtter nå stilen SWT.VIRTUAL. Dette gjør det mulig for deg å opprette trær med store mengder data raskt. Når TreeItems trengs, opprettes de på bestilling.

Du finner et eksempel i SWT-snutten.

Knapper med bilde og tekst

Knapper kan vise et bilde og en tekst. Denne funksjonen støttes nå i Windows XP, Mac OS X og GTK.

Bilde som viser en knapp med et bilde

HIView på Mac OS X

SWT bruker nå HIView på Mac OS X. Dette løser mange problemer med klipping og størrelse.

Innfelle objekter i tekst

Med TextLayout er det nå mulig å innfelle objekter som f.eks. bilder eller widgeter i teksten. Figurmetrikk som stigning, senkning og bredde kan spesifiseres. Objektene justeres i forhold til teksten.

Bilde som viser et bilde innfelt i teksten

Du finner et eksempel i SWT-snutten.

Innrykke og justere tekst

TextLayout støtter nå innrykk og justering av tekst.

Bilde som viser tekst som justeres

Du finner et eksempel i SWT-snutten.

Grunnlinjestigning for tekst

Med TextLayout og TextStyle er det nå mulig å spesifisere grunnlinjestigning for et tekstområde.

Bilde som viser tekst gitt en grunnlinjestigning

Du finner et eksempel i SWT-snutten.

HSB-fargestøtte

Det er mulig å opprette en farge ved å spesifisere nyanse, metning og lysstyrke. Dessuten kan det for en gitt farge spørres om verdiene for nyanse, metning og lysstyrke.

Bilde som viser HSB-støtte

Du finner et eksempel i SWT-snutten

StyledText-justering og -innrykk

StyledText støtter nå innrykk og justering av tekst.

Bilde som viser justert StyledText

Du finner et eksempel i SWT-snutten

Innfelte objekter i StyledText

StyledText gjør det nå mulig for deg å innfelle objekter som bilder og widgeter i teksten. Objektene justeres i forhold til teksten.

Bilde som viser innfelt bilde i tekst

Du finner et eksempel i SWT-snutten

Bakgrunnsbilde

Et bakgrunnsbilde kan defineres i en kontroll. I tillegg kan bakgrunnen arves av underordnede widgeter som etiketter.

Bilde som viser et bakgrunnsbilde i en kontroll

Du finner et eksempel i SWT-snutten

Intern bildelasting

Konstruktøren Image(Device device, String filename) vil nå laste inn bilder ved hjelp av interne operativsystemkall. Dette har bedret ytelsen ved bildelasting og økt maksimal størrelse for bildet som kan lastes inn.

Dra tekst

Hvis SWT.DragDetect-hendelsen er bundet til Text eller StyledText, vil valget ikke fjernes når brukeren drar fra inne i et valgt tekstområde. Dette gjør det mulig å støtte draing fra widgetene Text og StyledText.

Du finner et eksempel i denne SWT-snutten

Ny ExpandBar-widget

ExpandBar-widgeten gjør det mulig for brukeren å få vist og skjult samlinger av widgeter ved å klikke på en topptekst. ExpandBar inneholder flere elementer som hver kan ha et bilde og en tittel i toppteksten.

Bilde som viser widgeter som skjules

Se for eksempel denne SWT-snutten.

Punktmerking i StyledText

StyledText kan nå vise lister formatert i en rekke stiler, inkludert punktlister, nummererte lister, små eller store bokstaver og tilpassede stiler.

Bilde som viser punktliste i StyledText

Se for eksempel denne SWT-snutten.

Tre med tilpasset tegning

Tree-widgeten støtter nå tilpasset tegning for enkeltceller. Applikasjoner kan forbedre utseende og virkemåte for treet ved å tilpasse gjengivelsen av data. Applikasjonen har kontroll over radhøyde, så flere tekstlinjer kan tegnes. I tillegg kan den presentere flere bilder i samme celle, endre font eller farge flere ganger og endre måten valg tegnes på.

Bilde som viser tilpasset tegning for individuelle treceller

Se for eksempel følgende snutter:

Tilpasset tegning i tabell

Tabellwidgeten støtter nå tilpasset tegning for enkeltceller. Samtidig som tabellens interne utseende og virkemåte bevares, kan brukerne tilpasse hvordan cellene tegnes for å vise data i en annen form enn tekst med bilde, vise flere linjer med tekst i en celle, endre font og farge flere ganger i samme celle, overstyre valgtegning osv.

Bilde som viser tilpasset tegning for individuelle tabellceller

Se for eksempel følgende snutter:

Draeffekter for Table og Tree

Table- og Tree-widgetene tilbyr nå visuell tilbakemelding av det som dras

Bilde som viser tilbakemelding for draing

Ny verktøytipsklasse

Den nye ToolTip-klassen kan brukes til å vise verktøytips som ikke er direkte forbundet med en kontroll. Disse verktøytipsene kan plasseres hvor som helst, og kan enten ha plattformens standardutseende eller et BALLOON-utseende som vist nedenfor.

Bilde som viser verktøytips med stilen BALLOON