Mehrseitige Formulareditoren

Benutzerschnittstellenformulare bieten Basisunterstützung für mehrseitige Editoren, auf denen Sie aufbauen können.

Für den Aufbau eines mehrseitigen Editors über Benutzerschnittstellenformulare sollten Sie mit einer Erweiterung von FormEditor beginnen:

public class SimpleFormEditor extends FormEditor {

	public SimpleFormEditor() {
	}

	protected FormToolkit createToolkit(Display display) {
		// Toolkit erstellen, das Editoren gemeinsam nutzen können.
		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;
	}

Eine sehr einfache Art, um zu beginnen, besteht darin, Seiten zu erstellen und wie oben dargestellt hinzuzufügen. Jede Seite muss FormPage implementieren und die Methode createFormContent(IManagedForm managedForm) überschreiben. Offensichtlich wird in der Seite bereits ein verwaltetes Formular erstellt, und sie sollten im eingeschlossenen Formular Inhalte erstellen und jedes Formularteil registrieren, dass Teil des verwalteten Lebenszyklus sein muss.

Zusätzlich zu den Formularseiten können Sie einen oder mehrere Texteditoren als unformatierte Alternativquelle für die Seiten der GUI hinzufügen. Hierfür sollten Sie die Methode 'addPage(IEditorPart, IEditorInput input)'in der Superklasse aufrufen.

Empfohlene Praxis für mehrseitige Editoren mit Eclipse-Formularen

Es gibt viele Arten, wie Sie formularbasierte mehrseitige Editoren schreiben können. Ihre Vorgehensweise hängt vor allem von der Art der Inhalte hab, die Sie bearbeiten, sowie von den Kenntnissen Ihrer Benutzer. Es gibt zwei grundsätzliche Ansätze:

  1. Wenn die typischen Benutzer den Editor nur selten verwenden, der reine Quellcode schwer manuell zu bearbeiten oder komplex ist, ihre Benutzer nicht sehr technisch versiert sind, etc., sollten Sie VOLLSTÄNDIGE Seiten erstellen, die in der Lage sind, sämtliche Aspekte des Inhalts vollständig zu bearbeiten, ohne dass auf den reinen Quellcode zugegriffen werden muss. Bei diesem Ansatz wird die Quellseite nur zur gelegentlichen Überprüfung verwendet anstatt für den regelmäßigen Einsatz. In dieser Hinsicht kann ein einfacher Texteditor vollkommen ausreichend sein. Der Editor für das PDE-Erweiterungspunktschema gehört beispielsweise zu dieser Gruppe.

  2. Wenn Ihre Benutzer technisch versierter sind, kein Problem dabei haben, die Datei manuell zu bearbeiten, aber gelegentlich ein wenig Hilfe begrüßen würden, sollten Sie einen gemischten Ansatz in Erwägung ziehen. Erstellen Sie einen guten Quellcodeeditor mit allen Zusatzprodukten, wie z.B. inkrementelle Gliederung, Kontext-Unterstützung, Syntax-Hervorhebung, etc.Für die Formularseiten, die von der Quelle aus schwer zu bearbeiten sind, fügen Sie hingegen komplexe Mehrwertfunktionalität hinzu. Die Erfahrung hat gezeigt, dass es sehr schwer ist, erfahrene Benutzer zu einem Wechsel von der Quellbearbeitung zu bewegen, wenn der Mehrwert nur marginal oder fraglich ist. Funktionen, die nur über GUI-Seiten verfügbar waren und qualitativ hochwertig waren, wurden gerne verwendet.

Die Erstellung eines qualitativ hochwertigen mehrseitigen Editors mit gemischter GUI und Quellseiten ist nicht ganz einfach. Die Annahme, dass Benutzer häufig zwischen Seiten hin- und herschalten werden, erfordert ein gutes Modell des zugrundliegenden Inhalts. Das Modell sollte direkt mit dem/den zugrundeliegenden Dokument(en) verbunden sein, so dass es synchronisiert bleibt, wenn Benutzer sowohl den Text direkt eingeben, als auch wenn Sie ihn strukturell über die GUI-Seiten ändern (vergessen Sie hierbei nicht die indirekten Änderungen, die von anderen Workbench-Aktionen ausgelöst werden, während der Editor noch läuft).