Formuliereditors met meerdere pagina's

Gebruikersinterfaceformulieren bevatten enkele basisvoorzieningen die u kunt uitbreiden tot meervoudige-paginaeditors.

U kunt het beste een meervoudige-paginaeditor voor gebruikersinterfaceformulieren maken door FormEditor uit te breiden:

public class SimpleFormEditor extends FormEditor {

	public SimpleFormEditor() {
	}

	protected FormToolkit createToolkit(Display display) {
		// Toolkit voor gemeenschappelijk gebruik van kleuren in editors maken.
		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;
	}

U kunt gemakkelijk pagina's maken en deze toevoegen volgens de hierboven weergegeven methode. Voor elke pagina moet u FormPage implementeren en de methode createFormContent(IManagedForm managedForm) overschrijven. Natuurlijk is er al een beheerd formulier voor de pagina gemaakt, en dient u content te definiëren in het meegeleverde formulier. Daarnaast moet u elk formuliergedeelte registreren dat deel moet uitmaken van de beheerde levenscyclus.

Naast formulierpagina's kunt u een of meer teksteditors toevoegen als alternatief voor de 'ruwe' broncode van de GUI-pagina's. Hiertoe roept u de methode 'addPage(IEditorPart, IEditorInput input)' in de superklasse aan.

Aanbevolen procedures voor meervoudige-paginaeditors voor Eclipse-formulieren

U kunt op meerdere manieren een op formulieren gebaseerde meervoudige-paginaeditor ontwikkelen. Welke methode u kiest, hangt vooral af van het type content dat wordt bewerkt en de vakbekwaamheid van de gebruikers. Dit zijn de twee basisprocedures:

  1. Als de standaardgebruikers de editor slechts zelden gebruiken, de 'ruwe' broncode moeilijk handmatig te bewerken of erg ingewikkeld is, de gebruikers niet erg technisch zijn ingesteld, enzovoort, is het raadzaam KANT-EN-KLARE pagina's te maken waarmee elk aspect van de content gemakkelijk kan worden bewerkt zonder daarbij de broncode te hoeven raadplegen. Bij dit scenario dient de bronpagina slechts voor incidentele validatie in plaats van veelvuldig gebruik. In dit geval kunt u volstaan met een eenvoudige teksteditor. De PDE-extensiepuntschemaeditor behoort tot deze categorie.

  2. Als de gebruikers wel technisch aangelegd zijn, het geen probleem vinden om het bestand handmatig te bewerken maar af en toe wat hulp kunnen gebruiken, kunt u overwegen een combinatie van beide toe te passen: maak een geavanceerde broneditor met alle toeters en bellen zoals een incrementeel overzicht, contexthulp, syntaxismarkering, enzovoort. Voeg vervolgens functionaliteiten met toegevoegde waarde aan de formulierpagina's toe voor bewerkingen die niet mogelijk zijn vanuit de broncode. Uit onze ervaringen blijkt dat het moeilijk is om gevorderde gebruikers te bewegen om af te stappen van bronbewerking als de toegevoegde waarde slechts marginaal of discutabel is. Maar hoogwaardige voorzieningen die alleen in de GUI-pagina's beschikbaar zijn, worden snel door gebruikers omarmd.

Het is een uitdaging een hoogwaardige meervoudige-paginaeditor met zowel GUI- als bronpagina's te maken. Om gebruikers gemakkelijk kunnen laten overschakelen tussen beide soorten pagina's is een degelijk model van de onderliggende content noodzakelijk. Dit model moet rechtstreeks aan de onderliggende documenten gekoppeld zijn om de synchroniciteit te bewaren tussen de tekst die gebruikers rechtstreeks intypen en de tekst die wordt bewerkt via de GUI-pagina's. (Houd ook rekening met de indirecte wijzigingen die het gevolg zijn van andere acties in de workbench terwijl de editor actief is).