Exempel - Fälthjälp
Introduktion
I fälthjälpsexemplet visas hur du använder de funktioner som är tillgängliga via org.eclipse.jface.fieldassist
till att ge uppgiftshjälp i textfält. I en exempeldialogruta visas hur du konfigurerar fältdekorationer för att ange obligatoriska fält, fält med fel och varningar och fält med innehållshjälp. I exemplet ingår också en inställningssida där du kan konfigurera dekorationerna och funktionerna för innehållshjälp.
Köra exemplet
När insticksprogrammet är installerat ska åtgärden FieldAssist visas i åtgärdsfältet. Välj menyalternativet "Öppna dialogrutan för fälthjälp"
Dialogrutan för fälthjälp öppnas. Du kan konfigurera dialogrutan med hjälp av följande exempelinställningar.
Ange inställningar för fälthjälp
Det finns två inställningssidor för konfiguration av hur dialogrutefunktionerna. På sidan Exempelinställningar för fälthjälp kan du konfigurera hur kommentarer för fält med fel och varningar, obligatoriska fält och fält med innehållshjälp visas i dialogrutan. En kombination av färger och dekorationer kan användas till att lägga till kommentarer till fälten. Syftet med den här inställningssidan är att visa vilka möjligheter som finns vid konfiguration av dekorationer.
Den är främst avsedd för programmerare som provar på fälthjälp och ska inte ses som ett exempel på en bra inställningssida som slutanvändare kan använda till att kontrollera kommentarer.
På sidan Inställningar för innehållshjälp kan du konfigurera hur innehållshjälp installeras för textfältet i dialogrutan. De flesta av de alternativ som visas i fälthjälps-API:t (ContentProposalAdapter) kan konfigureras på den här sidan.
Lägg märke till att det går att konfigurera innehållshjälpen för en oönskad användarupplevelse. Till exempel är det inte önskvärt att ange att innehållshjälpen ska aktiveras automatiskt med lång fördröjning för tecken. Det kan vara förvirrande att använda filtrering för ackumulerade förslag när filternycklarna inte propageras tillbaka till kontrollen. Syftet med att visa API:t på inställningssidan är att göra det möjligt för fälthjälpsprogrammerare att prova sig fram med alla möjliga kombinationer.
Det är inte meningen att någon av de här inställningarna någonsin ska visas för slutanvändare utan tanken är att utvecklaren ska välj den bästa kombinationen av de här värdena för en viss typ av innehållshjälp.
Använda dialogrutan
I exempeldialogrutan visas flera olika typer av fält:
- Fältet Användarnamn är konfigurerat som ett obligatoriskt fält med innehållshjälp. Det här fältet anses vara felaktigt när ett tecken som inte är en bokstav anges i fältet. Det anses vara i varningsläge när namnet "bob"
anges i fältet.
- Fältet Kombinationsanvändarnamn är konfigurerat på liknande sätt men en kombinationsruta används i stället för ett textfält.
- I fältet Ålder demonstreras användningen av ett Spinner-gränssnittskontroll med dekorationer.
Det är konfigurerat som ett obligatoriskt fält men har inget felläge. Det anses vara i varningsläge när en ålder högre än 65 anges.
- I fältet Lösenord används inte dekorationer eller innehållshjälp.
Det används bara till att demonstrera hur fält utan dekorationer kan justeras mot dekorerade fält.
Exempelkällkod
Exempeldialogrutan är inte särskilt komplex men avsikten med den är att demonstrera hur fälthjälp programmeras. Här följer några kommentarer om källkoden:
- Fält utan dekorationer kan placeras så att de är justerade mot dekorerade fält med hjälp av protokollet
FieldDecorationRegistry.getMaximumDecorationWidth()
.
- Exempelinsticksprogrammet registrerar standarddekorationsfunktioner för fält som används till att ange att innehållshjälp är tillgänglig, markera fält som obligatoriska eller markera fält som har ett fel eller en varning. I de fall när en standarddekorationsbeskrivning används i alla fält används de faktiska dekorationerna från registret. I de fall när det finns en unik beskrivning av ett fel eller en varning i fältet hanteras en unik dekoration som innehåller texten av fältet.
- SmartField och underklasserna till det används till att tillhandahålla fältspecifik validering, fel- och varningsmeddelanden och hämtning av innehåll för de olika fälten i dialogrutan. Vi antar att tillämpningar tillhandahåller liknande ramverk (till exempel databindning) för att uppnå det här målet. Aviskten med SmartField är att visa en enkel teknik för validering av olika fält i en dialogruta. Det ska inte ses som ett exempel på ett ramverk för semantisk fältdefinition.