I formulär för användargränssnitt finns grundstöd för flersidig redigerare som du kan bygga med.
Du börjar din uppbyggnad av en flersidig redigerare genom att utöka FormEditor
:
public class SimpleFormEditor extends FormEditor { public SimpleFormEditor() { } protected FormToolkit createToolkit(Display display) { // Skapa en verktygssats som delar färger mellan redigerare. return new FormToolkit(ExamplesPlugin.getDefault().getFormColors( display)); } protected void addPages() { try { addPage(new FreeFormPage(this)); addPage(new SecondPage(this)); addPage(new ThirdPage(this)); addPage(new MasterDetailsPage(this)); addPage(new PageWithSubPages(this)); } catch (PartInitException e) { // } } public void doSave(IProgressMonitor monitor) { } public void doSaveAs() { } public boolean isSaveAsAllowed() { return false; }
Ett mycket enkelt sätt att komma igång är att skapa sidor och lägga till dem enligt ovan. Varje sida måste implementera FormPage
och åsidosätta metoden createFormContent(IManagedForm managedForm)
. Tydligen så har redan ett hanterat formulär skapats på sidan, och du ska skapa innehåll i det ingående formuläret samt registrera alla formulärdelar som måste ingå i den hanterade livscykeln.
Utöver formulärsidorna kan du lägga till en eller flera textredigerare som obehandlade källkodsalternativ på sidorna i det grafiska användargränssnittet. I så fall anropar du metoden 'addPage(IEditorPart,IEditorInput input)
' i superklassen.
Det finns många sätt att skriva en formulärbaserad flersidig regigerare. Sättet du väljer beror främst på den typ av innehåll du redigerar och användarnas färdighet. Det finns två sätt att göra detta:
Om användarna inte arbetar med redigeraren regelbundet, är obehandlad källkod svår att redigera för hand eller för komplicerad eller om användarna inte är speciellt tekniskt inriktade etc, bör du göra KOMPLETTA sidor med alla funktioner som krävs för innehållsredigering utan att de behöver gå in i källkoden. På detta sätt finns källkodssidan där för sporadisk validering istället för regelbundet arbete. I så fall klarar du dig med en grundläggande textredigerare. Schemaredigeraren för PDE-utökningspunkter hamnar i denna grupp.
Om användarna är mer tekniskt lagda och inte har några problem med att redigera filen för hand men skulle uppskatta hjälp då och då, kan kanske en blandad lösning passa fint. Gör en bra källkodsredigerare med alla insticksprogram som t.ex. stegvis disposition, sammanhangsberoende hjälp, syntaxmarkering etc.Lägg även till komplexa, värdefulla funktioner på formulärsidorna som är svåra att erhålla från källkoden. Vi har lärt oss av erfarenhet att det är svårt att övertyga tillfälliga användare att växla från källkodsredigering om värdetillägget är marginellt eller diskutabelt. Men funktionen som enbart är tillgängligt på sidorna i det grafiska användargränssnittet är av hög kvalitet och kan användas med lätthet.
Att skapa en flersidig redigerare i hög kvalitet med en blandning av grafiskt användargränssitt och källkodssidor har sina utmaningar. För att användarna regelbundet ska kunna växla mellan sidorna krävs en bra modell av det underliggande innehållet. Modellen bör vara direkt knuten till underliggande dokument så att de ligger i synk när användare skriver direkt i texten och när de ändrar det strukturellt via det grafiska användargränssnittet (glöm inte de indirekta ändringarna som orsakas av andra arbetsmiljöåtgärder när redigeraren är igång).