Eksempel - Feltassistance
Introduktion
Eksemplet på feltassistance viser, hvordan understøttelsen, der stilles til rådighed i org.eclipse.jface.fieldassist
for at levere opgaveassistance i tekstfelter, bruges. En eksempeldialogboks viser, hvordan feltdekorationer skal opsættes for at angive påkrævede felter, felter med fejl og advarsler og felter, der leverer indholdsassistance. Eksemplet indeholder også en indstillingsside, hvor du kan konfigurere dekorationerne og understøttelse af indholdsassistance.
Udfør eksemplet
Når plugin'en er installeret, kan du se en FieldAssist-funktion på funktionslinjen. Vælg menuelementet, der åbner dialogboksen for feltassistance.
Derved åbnes dialogboksen. Dialogboksen kan konfigureres ved at anvende eksempelindstillingerne.
Angiv indstillinger for feltassistance
Der stilles to indstillingssider til rådighed til opsætning af funktionsmåden for dialogboksen. Siden for indstillinger for Eksempel på feltassistance tillader dig at konfigurere, hvordan dialogbokse annoterer felter med fejl og advarsler, påkrævede felter og indholdsassistance.
En kombination af farver og dekorationer kan anvendes til at annotere felterne. Denne indstillingsside er beregnet på at vise, hvad der er muligt, når der konfigureres dekorationer. Dette er mere beregnet på programmøren, der efterprøver feltassistance og ikke beregnet til at være en velegnetindstillingsside for slutbrugens styring af annoteringer.
På siden for indstillinger for indholdsassistance kan du konfigurere, hvordan indholdsassistancen installeres på tekstfelter i dialogbokse.
De fleste af de indstillinger, der stilles til rådighed i feltassistance-API'et (ContentProposalAdapter) kan konfigureres på denne side. Bemærk, at det er muligt at konfigurere indholdsassistance mod en uønsket brugeroplevelse. F.eks. er det ikke ønskværdig at angive indholdsassistance, der anvender en lang forsinkelse for tegn. Det kan være forvirrende at anvende kumulativ forslagsfiltrering, når filternøglerne ikke formidles tilbage til kontrollen.
Formålet med at eksponere API'et på indstillingssiden er at tillade feltassistanceprogrammøren at prøve alle mulige kombinationer. Det forventes ikke, at nogen af disse indstillinger nogen sinde eksponeres for en slutbruger, men at udvikleren vælger den bedste kombination af disse værdier for at stille en bestemt udformning af indholdsassistance til rådighed.
Brug af dialogboksen
Eksempeldialogboksen viser forskellige typer felter:
- Feltet Brugernavn er konfigureret som et påkrævet felt med indholdsassistance. Feltet betragtes som værende med fejl, når et ikke-alfabetisk tegn skrives i feltet. Det betragtes som værende i advarselstilstand når navnet "bob" skrives i feltet.
- Feltet for Combo-brugernavn er konfigureret tilsvarende, men anvender en kombinationsboks i stedet for et tekstfelt.
- Feltet for alder demonstrerer brugen af en spinner-widget med dekorationer. Det er konfigureret som et påkrævet felt, men stiller ikke en fejltilstand til rådighed. Det betragtes som værende i advarselstilstand, når alderen er mere end 65.
- Feltet Kodeord anvender ikke nogen dekorationer eller indholdsassistance. Det er blot stillet til rådighed for at vise, hvordan ikke-dekorerede felter kan justere sammen med dekorerede felter.
Eksempel på kildekode
Eksempeldialogboksen er ikke særlig kompleks, men er beregnet på at demonstrere, hvordan indholdsassistance skal programmeres.
Der er nogle noter om kildekoden:
- Der kan foretages layout af ikke dekorerede felter, der justeres med dekorerede felter, vha. protokollen
FieldDecorationRegistry.getMaximumDecorationWidth()
.
- Eksempelplugin'en registrerer standardfeltdekoratører for at angive tilgængeligheden af indholdsassistance og vælge et felt som påkrævet eller et felt, der har en fejl eller advarsel. I tilfælde, hvor en standarddekoratørbeskrivelse anvendes i alle felter, anvendes de aktuelle dekorationer fra registreringsdatabasen. I tilfælde, hvor feltet indeholder en entydig beskrivelse af en fejl eller advarsel, administreres en entydig dekoration, der indeholder teksten, i feltet.
- SmartField og dens underklasser anvendes til at stille feltspecifik validering, fejl- og advarselsmeddelelser og indholdshentning til forskellige felter i dialogboksen til rådighed. Vi forventer, at programmer stiller tilsvarende strukturer (f.eks. databinding) til rådighed for at opnå sine mål.
SmartField er beregnet på at vise en enkelt teknik til validering af forskellige felter i en dialogboks. Det er ikke et eksempel på en semantisk feltdefinitionsstruktur.