Hallo zusammen,
ich habe mehrere Probleme mit dem oben genannten UndoManager. Folgende Situation: Es gibt eine Klasse die ein JFace Document() + einen DocumentUndoManager enthält. Davon gibt es mehrere Instanzen, welche ich in einem TextViewer darstelle.
Das wechseln der im TextViewer angezeigten JFace Dokumente funktioniert auch. Jedoch scheint der jeweile UndoManager der Dokumente seine History zu verlieren, wenn ich im TextViewer mittels setDocument ein anderes Document setze.
Zudem kann ich nur die Undo-Operation der Manager nutzen. Bei der Redo passiert nichts, obwohl ich wenn ich mit redoable() abfrage ein "true" zurückbekomme.
Hat jemand Erfahrung mit diesen UndoManagern und kann mir weiterhelfen? Ich weiß nicht mehr wo ich ansetzen soll.
Danke.
Gruß, Denis
ich habe mehrere Probleme mit dem oben genannten UndoManager. Folgende Situation: Es gibt eine Klasse die ein JFace Document() + einen DocumentUndoManager enthält. Davon gibt es mehrere Instanzen, welche ich in einem TextViewer darstelle.
Das wechseln der im TextViewer angezeigten JFace Dokumente funktioniert auch. Jedoch scheint der jeweile UndoManager der Dokumente seine History zu verlieren, wenn ich im TextViewer mittels setDocument ein anderes Document setze.
Zudem kann ich nur die Undo-Operation der Manager nutzen. Bei der Redo passiert nichts, obwohl ich wenn ich mit redoable() abfrage ein "true" zurückbekomme.
Code:
import org.eclipse.text.undo.DocumentUndoManager;
public class TestDocument
{
private org.eclipse.jface.text.Document jFaceDoc = new org.eclipse.jface.text.Document();
private DocumentUndoManager undoManager = new DocumentUndoManager(jFaceDoc);
public TestDocument(String path)
{
undoManager.setMaximalUndoLevel(50);
...
}
}
Code:
...
public void run()
{
System.out.println("EditRedoAction");
try
{
// mit der folgenden Zeile bekomme ich Zugriff auf den richtigen Manager. Dies funktioniert auch beim Undo
....getUndoManager().redo();
}
catch (ExecutionException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
...
Hat jemand Erfahrung mit diesen UndoManagern und kann mir weiterhelfen? Ich weiß nicht mehr wo ich ansetzen soll.
Danke.
Gruß, Denis