DE69427423T2 - Mehrstufiger Wiederherstellungs- und Wiederhol-Mechanismus - Google Patents
Mehrstufiger Wiederherstellungs- und Wiederhol-MechanismusInfo
- Publication number
- DE69427423T2 DE69427423T2 DE69427423T DE69427423T DE69427423T2 DE 69427423 T2 DE69427423 T2 DE 69427423T2 DE 69427423 T DE69427423 T DE 69427423T DE 69427423 T DE69427423 T DE 69427423T DE 69427423 T2 DE69427423 T2 DE 69427423T2
- Authority
- DE
- Germany
- Prior art keywords
- command
- undo
- redo
- user
- commands
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
- Stored Programmes (AREA)
- Document Processing Apparatus (AREA)
Description
- Die vorliegende Erfindung bezieht sich im allgemeinen auf Datenverarbeitungssysteme und insbesondere auf einen Mechanismus zum Bereitstellen einer mehrstufigen Fähigkeit zum Rückgängigmachen/Wiederholen in Betriebssystemen und Anwendungsprogrammen.
- Ein einstufiger Mechanismus zum Rückgängigmachen wird bereitgestellt von Softwarepaketen, wie dem Microsoft Word, Version 5.0, Wortverarbeitungspaket, das von der Microsoft Corporation von Redmond, Washington, verkauft wird. Der einstufige Mechanismus zum Rückgängigmachen ermöglicht es, einen Benutzerbefehl rückgängig zu machen (d. h. die Wirkungen des Befehls werden aufgehoben), nachdem der Befehl bereits ausgeführt wurde. Der Befehl zum Rückgängigmachen wird typischerweise ausgeführt durch Auswählen eines Menüeintrags, der den Befehl zum Rückgängigmachen als eine Option auflistet. Der Benutzer ist beschränkt auf eine einzelne Stufe des Rückgängigmachens von Befehlen und kann somit nur den unlängst ausgeführten Befehl aufheben.
- IEEE-Software, Vol. 1, Nr. 4, Oktober 1984, Seiten 39-52 beschreibt Befehle zum Rückgängigmachen und Wiederholen, die auf primitiven Befehlen arbeiten. Der Code macht ausgewählte Aktionen, die von einer Anwendung, wie einem Graphikschichtprogramm, ausgeführt wurden, rückgängig oder stellt diese wieder her. Die Implementierung besteht aus einer doppelt verbundenen Liste (doubly linked list) von primitiven Befehlen.
- 4th ANNUAL SYMPOSIUM ON USER INTERFACE SOFTWARE AND TECHNOLOGY, 11. November 1991, Hilton Head, US, Seiten 107-115, beschreibt eine Wiederherstellungsmöglichkeit, die es dem Benutzer erlaubt, die Wirkungen seines Zusammenspiels mit einem System aufzuheben unter Verwendung einer objekt-orientierten Methodik. Ein Wiederherstellungssystem ist aufgebaut aus einem Satz von Wiederherstellungsobjekten, die in den Benutzerschnittstellenobjekten verschachtelt sind und in einer hierarchischen Struktur organisiert sind, wobei jedes Wiederherstellungsobjekt seine eigene Liste von Wiederherstellungsinformationsobjekten aufweist und Wiederherstellungsbefehle akzeptiert. Vier Wiederherstellungsbefehle werden offenbart: Rückgängigmachen, Wiederholen, Rückwärtsspringen und Vorwärtsspringen. Die aufgezeichneten Wiederherstellungsinformationsobjekte werden in einer doppelt verbundenen Liste lokal zu ihrem Wiederherstellungsobjekt organisiert.
- Es ist die Aufgabe dieser Erfindung, ein Verfahren für einen verbesserten mehrstufigen Mechanismus zum Rückgängigmachen/Wiederholen (undo/redo mechanism) bereitzustellen.
- Diese Aufgabe wird erreicht durch ein Verfahren gemäß dem Anspruch 1. Bevorzugte Ausführungsformen dieser Erfindung sind die Gegenstände der abhängigen Patentansprüche.
- In Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung wird ein Verfahren in einem Datenverarbeitungssystem ausgeführt, das eine Speichereinrichtung und zumindest einen Prozessor aufweist, der auf Benutzerbefehle reagiert. In diesem Verfahren wird ein Protokoll von Benutzerbefehlen, die von dem Prozessor ausgeführt wurden, in der Speichereinrichtung gespeichert. Ein erster Benutzerbefehl, der in einem Protokoll gespeichert ist, wird rückgängig gemacht, um somit die Wirkung des ersten Benutzerbefehls aufzuheben. Danach wird ein nächster Benutzerbefehl, der in dem Protokoll gespeichert ist, rückgängig gemacht, um somit die Wirkung des nächsten sequentiellen Benutzerbefehls aufzuheben.
- In Übereinstimmung mit einer anderen Ausführungsform der vorliegenden Erfindung wird ein Protokoll von zumindest zwei Benutzerbefehlen in der Speichereinrichtung gespeichert. Benutzerbefehle, die in dem Protokoll gespeichert sind, werden rückgängig gemacht, um somit die Wirkungen von zumindest zwei Benutzerbefehlen aufzuheben. Zumindest zwei der rückgängig gemachten Benutzerbefehle werden dann wiederholt, um somit diese Befehle erneut auszuführen.
- In Übereinstimmung mit einer weiteren Ausführungsform der vorliegenden Erfindung wird eine Liste von einer Vielzahl von Benutzerbefehlen in der Speichereinrichtung in einer Sequenz gespeichert, die sich von einem ausgewählten Benutzerbefehl, der von dem Prozessor ausgeführt wurde, bis zu einem unlängst ausgeführten Benutzerbefehl erstreckt. Die Wirkungen von allen Benutzerbefehlen, die einer Sequenz der Liste gespeichert sind, werden rückgängig gemacht, um somit den Prozessor zurückzuführen, um die Wirkungen der Benutzerbefehle in der Sequenz aufzuheben.
- In Übereinstimmung mit noch einer anderen Ausführungsform der vorliegenden Erfindung wird eine Liste von einer Vielzahl von Benutzerbefehlen in der Speichereinrichtung gespeichert. Die Liste umfasst Benutzerbefehle, die rückgängig gemacht wurden. Die Benutzerbefehle, die rückgängig gemacht wurden, werden erneut von dem Prozessor ausgeführt.
- Fig. 1 zeigt ein Blockdiagramm eines Datenverarbeitungssystems zum Ausführen einer bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 2 zeigt ein Blockdiagramm, das ein Befehlselementobjekt illustriert, das in der bevorzugten Ausführungsform der vorliegenden Erfindung verwendet wird.
- Fig. 3a, 3b und 3c illustrieren Elemente einer Benutzerschnittstelle zum Implementieren des mehrstufigen Mechanismuses zum Rückgängigmachen/Wiederholen der bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 4a zeigt ein Flussdiagramm, das die Schritte illustriert, die ausgeführt werden wenn ein Benutzer einen Befehl gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung eingibt.
- Fig. 4b zeigt ein Diagramm, das den Zustand der Liste von Befehlselementobjekten illustriert, nachdem Befehle gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung hinzugefügt wurden.
- Fig. 4c zeigt ein Diagramm, das die Liste von Befehlselementobjekten illustriert wenn ein Löschen eines Elements der Liste ausgeführt wird gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 5a zeigt ein Flussdiagramm, das die Schritte illustriert, die ausgeführt werden in einem Verfahren zum Rückgängigmachen gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 5b zeigt ein Diagramm, das eine Liste von Befehlselementobjekten illustriert wenn Verfahren zum Rückgängigmachen ausgeführt werden gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 6a zeigt ein Flussdiagramm, das die Schritte illustriert, die ausgeführt werden wenn ein Verfahren zum Wiederholen ausgeführt wird gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 6b zeigt ein Diagramm, das die Liste von Befehlselementobjekten illustriert wenn ein Verfahren zum Wiederholen ausgeführt wird gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 7a zeigt ein Flussdiagramm, das die Schritte illustriert, die ausgeführt werden wenn ein Verfahren zum Rückgängigmachen "des ganzen Weges" ("All the way") ausgeführt wird gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 7b zeigt ein Diagramm, das die Liste von Befehlselementobjekten illustriert, wenn ein Verfahren zum Rückgängigmachen "des ganzen Weges" ausgeführt wird gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 8a zeigt ein Flussdiagramm, das die Schritte illustriert, die ausgeführt werden, wenn ein Verfahren zum Wiederholen "des ganzen Weges" ausgeführt wird gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
- Fig. 8b zeigt ein Diagramm, das die Liste von Befehlselementobjekten illustriert, wenn ein Verfahren zum Wiederholen "des ganzen Weges" ausgeführt wird gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
- Die bevorzugte Ausführungsform der vorliegenden Erfindung stellt einen Mechanismus zum Ausführen von mehrstufigen Verfahren zum Rückgängigmachen/Wiederholen in einem Anwendungsprogramm bereit. Der Mechanismus behält ein Protokoll von Benutzerbefehlen bei und erhält eine gegenwärtige Position in dem Protokoll aufrecht, um einen gegenwärtigen Zustand des Anwendungsprogramms zu überwachen. Das Protokoll wird von dem Mechanismus verwendet, um mehrstufige Verfahren zum Rückgängigmachen und mehrstufige Verfahren zum Wiederholen zu vereinfachen.
- Fig. 1 zeigt ein Blockdiagramm eines Datenverarbeitungssystems 10, das zum Implementieren der bevorzugten Ausführungsform der vorliegenden Erfindung geeignet ist. Das Datenverarbeitungssystem 10 umfasst eine zentrale Verarbeitungseinheit (CPU) 12 und einen Speicher 14. Der Speicher 14 hält Anwendungsprogramme 22 bereit, ein Betriebssystem 24 und andere Elemente. Das Datenverarbeitungssystem 10 umfasst ebenfalls eine Tastatur 16, eine Maus 18 und eine Bildausgabe 20. Das Datenverarbeitungssystem 10, das in Fig. 1 gezeigt wird, ist ein herkömmliches System mit einem einzelnen Prozessor. Nichtsdestotrotz sollte verstanden werden, dass die vorliegende Erfindung ebenfalls implementiert werden kann in einem verteilten System oder in anderen Umgebungen.
- Die bevorzugte Ausführungsform der vorliegenden Erfindung ist ausgebildet zum Verwenden in einer objekt-orientierten Programmierumgebung. Für Zwecke der unten stehenden Erläuterungen wird angenommen, dass das Betriebssystem 24 ein objekt-orientiertes Betriebssystem ist. Diejenigen, die mit der Technik vertraut sind, werden verstehen, dass die vorliegende Erfindung jedoch nicht beschränkt ist auf eine Verwendung innerhalb eines objekt-orientierten Betriebssystems. Statt dessen kann sie ebenso in anderen Umgebungen implementiert werden.
- Das objektorientierte Betriebssystem 24 unterstützt die Verwendung von "Objekten" in dem Datenverarbeitungssystem 10. Ein Objekt kann betrachtet werden als eine Kombination von abhängigen Datenelementen und abhängigen Funktionselementen. Die abhängigen Datenelemente sind Attribute, die in Datenstrukturen gespeichert sind, und die abhängigen Funktionselemente sind Funktionen, die nach diesen Attributen verfahren. Der Begriff eines Objekts wird in dem mehrstufigen Mechanismus zum Rückgängigmachen/Wiederholen der bevorzugten Ausführungsform der vorliegenden Erfindung dahingehend ausgenutzt, dass gewisse Aspekte dieses Mechanismuses als Objekte implementiert werden.
- Eine Schnittstelle ist eine Gruppe von semantisch miteinander in Beziehung stehenden Funktionen, die in einer benannten Einheit organisiert sind. Jede Schnittstelle kann eindeutig identifiziert werden anhand ihres Identifizierungsmerkmals. Schnittstellen haben keine Instanziierung, d. h. eine Schnittstellendefinition umfasst keinen Code zum Implementieren der Funktionen, die in der Schnittstelle spezifiziert sind. Schnittstellen spezifizieren einen Satz von Signaturen für Funktionen. Ein Objekt kann eine Schnittstelle "unterstützen". Wenn ein Objekt eine Schnittstelle unterstützt, stellt das Objekt Code für die Funktion bereit, die von der Schnittstelle spezifiziert wird. Der Code, der von dem Objekt gestellt wird, muss jedoch den Signaturen, die von der Schnittstelle spezifiziert werden, entsprechen.
- Der mehrstufige Mechanismus zum Rückgängigmachen/Wiederholen der bevorzugten Ausführungsform der vorliegenden Erfindung unterstützt die Fähigkeit für ein Anwendungsprogramm, ein Befehlsprotokoll von Benutzerbefehlen aufrecht zu erhalten. Die Daten, die in dem Befehlsprotokoll gehalten werden und Funktionen zum Aufrechterhalten der Daten werden in einem Befehlsprotokollobjekt verkapselt. Das Befehlsprotokollobjekt umfasst eine Liste 30 (siehe Fig. 4b) von Befehlselementobjekten und einen Positionsanzeiger 32. Die Liste 30 von Befehlselementobjekten ist eine sequentielle Liste von Befehlselementobjekten, die Benutzerbefehle spezifizieren. Der Positionsanzeiger 32 spezifiziert eine gegenwärtige Position, die dem letzten angewandten (d. h. dem letzten ausgeführten) Befehl in der Liste 30 von Befehlselementobjekten entspricht.
- Jeder Befehl, der von einem Benutzer während des Ablaufs der Ausführung eines Anwendungsprogramms 24 eingegeben wird, erzeugt ein zugeordnetes Befehlselementobjekt 40, wie das in Fig. 2 gezeigte. Das Befehlselementobjekt 40 umfasst ein Feld 44, das die Beschaffenheit des Befehls und einen V-Pointer 42 spezifiziert. Der V-Pointer 42 zeigt auf eine V-Tabelle 46 (d. h. aufweisend eine virtuelle Tabelle, wie sie beispielsweise in der C++ Programmiersprache gefunden werden kann), die Einträge für die Verfahren aufweist, die an dem Befehlselement 40 ausgeführt werden können. Diese Verfahren umfassen ein Verfahren zum Rückgängigmachen, ein Verfahren zum Wiederholen und ein Verfahren zum Zusammenfassen, für die entsprechende Einträge 48a, 48b und 48c bereitgestellt werden. Die Einträge 48a, 48b und 48c zeigen auf Abschnitte von Code 50a, 50b und 50c zum Implementieren ihrer zugeordneten Verfahren. Das Verfahren zum Rückgängigmachen macht den Befehl an der gegenwärtigen Positionsanzeigerposition rückgängig. Das Verfahren zum Wiederholen führt den nächsten Arbeitsablauf in der Liste 30 (Fig. 4b) aus. Das Verfahren zum Zusammenfassen fasst Befehlsprotokollelementobjekte zusammen, falls möglich.
- Das Befehlsprotokollobjekt muss nichts über die Implementierung des Codes 50a, 50b und 50c zum Implementieren von Arbeitsabläufen mit den Befehlselementobjekten 40 wissen. Die Details dieses Codes 50a, 50b und 50c sind das Anliegen der Befehlselementobjekte 40. Als solches kann das Befehlsprotokollobjekt einfacher implementiert werden, da es sich selbst nicht mit solchen Details befassen muss.
- Das Befehlsprotokollobjekt und das Befehlselementobjekt 40 werden von dem Anwendungsprogramm 22 (Fig. 1) erzeugt. Das Betriebssystem 24 stellt eine mehrstufige Fähigkeit zum Rückgängigmachen/Wiederholen bereit, um mehrstufige Verfahren zum Rückgängigmachen/Wiederholen für das Anwendungsprogramm zu unterstützen. Ein Teil dieses Mechanismuses ist eine Benutzerschnittstelle. Die Benutzerschnittstelle zeigt Tastenfelder 51 und 53 (Fig. 3a) an, die aktiviert werden können, um jeweils ein Ausführen von Befehlen zum Rückgängigmachen und Wiederholen zu bewirken. Das Tastenfeld 51 zum Rückgängigmachen und das Tastenfeld 53 zum Wiederholen können mehrfach aktiviert werden, um mehrfach hintereinander rückgängig zu machen oder zu wiederholen. Der Benutzer ist nicht darauf beschränkt, nur einen unlängst ausgeführten Befehl rückgängig zu machen oder einen unlängst rückgängig gemachten Befehl wieder auszuführen. Ein Kontextmenü 55 wird bereitgestellt für das Tastenfeld 51 zum Rückgängigmachen, wenn dieses aktiviert wird (siehe Fig. 3b). Ein ähnliches Kontextmenü 57 (siehe Fig. 3c) wird bereitgestellt für das Tastenfeld zum Wiederholen. Die Kontextmenüs 55 (Fig. 3b) und 57 (Fig. 3c) stellen zwei Optionen bereit: "zuletzt angewandt" und "den ganzen Weg". Diese Optionen bewirken entweder das Rückgängigmachen/Wiederholen eines einzelnen, zuletzt angewandten Befehls oder ein Rückgängigmachen/Wiederholen der Befehle.
- Die vier Verfahren, die von dem mehrstufigen Mechanismus zum Rückgängigmachen/Wiederholen der bevorzugten Ausführungsform der vorliegenden Erfindung bereitgestellt werden, werden vielleicht am besten anhand eines Beispiels erläutert. Als solches werden unten stehend Beispiele bereit gestellt in Verbindung mit den Schritten, die von der bevorzugten Ausführungsform für jeden der vier Verfahrenstypen ausgeführt werden.
- Fig. 4a zeigt ein Flussdiagramm, das die Schritte illustriert, die von der bevorzugten Ausführungsform der vorliegenden Erfindung ausgeführt werden, wenn ein Benutzer einen neuen Befehl eingibt. Fig. 4a wird beschrieben werden in Verbindung mit dem Diagramm von Fig. 4b. Fig. 4b stellt ein Beispiel der Liste 30 von Befehlselementobjekten dar. Anfänglich gibt ein Benutzer einen Befehl ein (Schritt S2 in Fig. 4a). In dem Beispiel der Fig. 4b ist die Liste 30 anfänglich leer. Es wird angenommen, dass der Benutzer dann den Befehl "a" eingibt. Der mehrstufige Mechanismus zum Rückgängigmachen/Wiederholen der bevorzugten Ausführungsform überprüft dann, ob irgendwelche Befehle in der Liste vor dem Positionsanzeiger 32 sind (Schritt S4 in Fig. 4a). Falls keine Befehle in der Liste vor dem Positionsanzeiger 32 sind, so wie in dem in Fig. 4b gezeigten Fall, wird der Befehl an den Beginn der Liste 30 (front of the list) hinzugefügt (Schritt S8 in Fig. 4a), und der Positionsanzeiger wird bewegt, um auf den Beginn der Liste zu zeigen (Schritt 60). Somit wird, wie in Fig. 4b gezeigt wird, nachdem der Befehl "a" eingegeben wird, ein Eintrag 64 (d. h. ein Eintrag für ein Befehlselementobjekt für den Befehl "a") an den Beginn der Liste 30 hinzugefügt, und der Positionsanzeiger 32 wird bewegt, um auf den Eintrag 64 zu zeigen. Es wird angenommen, dass der Benutzer nun einen anderen Befehl "b" eingibt (somit wiederholt er den Schritt S2 von Fig. 4a). Die Schritte 54, 58 und 60 von Fig. 4a werden dann wiederholt, so dass ein Eintrag 66 (Fig. 4b) an den Beginn der Liste 30 hinzugefügt wird vor den Eintrag 64 für den Befehl "a". Der Positionsanzeiger 32 wird aktualisiert, um auf den Eintrag 66 für den Befehl "b" zu zeigen.
- Auf die oben beschriebene Art und Weise wird die Liste 30 von Befehlselementobjekten ausgebildet. Im Sinne des oben beschriebenen Objektmodells wird jedes Mal, wenn ein Benutzer einen Befehl eingibt, eine Instanz eines Befehlselementobjekts 40 (Fig. 2) erzeugt; das neue Befehlselementobjekt wird an den Beginn der Liste angehängt; und die Positionsanzeigerposition wird aktualisiert.
- Falls in Schritt S4 von Fig. 4a bestimmt wird, dass Befehle in der Liste 30 vorliegen, die sich vor dem Positionsanzeiger 32 befinden, werden alle Befehle in der Liste, die vor dem Positionsanzeiger sind, gelöscht (Schritt S6 in Fig. 4a). Fig. 4c zeigt ein Beispiel eines solchen Löschens. Es wird angenommen, dass Liste 30 von Befehlsprotokollelementen anfänglich Einträge 68, 70 und 72, jeweils für Befehle "a", "b" und "c" umfasst, wie in Fig. 4c gezeigt wird. Der Positionsanzeiger 32 zeigt auf den Eintrag 70 für den Befehl "b". Anschließend gibt ein Benutzer einen Befehl "d" ein. In Schritt 54 von Fig. 4a wird bestimmt, dass der Eintrag 72 für den Befehl "c" sich vor dem Positionsanzeiger in der Liste 30 befindet. Infolgedessen wird Eintrag 72 in Schritt S6 von Fig. 4a gelöscht. Des weiteren wird ein Eintrag 73 für den Befehl "d" an den Beginn der Liste 30 hinzugefügt (siehe Schritt S8 in Fig. 4a), und der Positionsanzeiger 32 (Fig. 4c) wird aktualisiert, um auf den Eintrag 73 zu zeigen (siehe Schritt 60 in Fig. 4a).
- Nachdem ein Benutzer eine Liste 30 von Befehlselementobjekten ausgebildet hat, so wie oben stehend beschrieben, kann der Benutzer einen Befehl zum Rückgängigmachen ausführen. Fig. 5a zeigt ein Flussdiagramm des Schrittes, der ausgeführt wird wenn ein Befehl zum Rückgängigmachen verlangt wird. Fig. 5b zeigt ein Diagramm, das den Zustand der Liste 30 von Befehlselementobjekten illustriert, nachdem mehrfach Befehle zum Rückgängigmachen in der Liste ausgeführt wurden. Die Schritte von Fig. 5a werden beschrieben werden in Verbindung mit dem Diagramm von Fig. 5b. Anfänglich verlangt ein Benutzer ein Verfahren zum Rückgängigmachen durch Aktivieren des Tastenfeldes 51 zum Rückgängigmachen (Fig. 3b), das in der Benutzerschnittstelle bereitgestellt wird. Wie obenstehend beschrieben wurde, wird ein Kontextmenü 55 angezeigt, nachdem das Tastenfeld 51 aktiviert wurde, und das Kontextmenü stellt dem Benutzer die Option bereit, nur den unlängst ausgeführten Befehl rückgängig zu machen (d. h. die "zuletzt angewandt" Option). Es wird angenommen, dass der Benutzer die Option "zuletzt angewandt" auswählt aus dem Kontextmenü 55 (Schritt 74 in Fig. 5a). Der Befehl, auf den der Positionsanzeiger 32 zeigt, wird rückgängig gemacht durch Ausführen von Code 50a (Fig. 2), der bereitgestellt wird in dem Befehlselementobjekt (Schritt 76) zum Rückgängigmachen des Befehls. Zusätzlich wird der Positionsanzeiger 32 herabgesetzt, um auf den nächsten folgenden Eintrag in der Liste 30 von Befehlselementobjekten zu zeigen. Zum Ausführen von mehrstufigen Verfahren zum Rückgängigmachen aktiviert der Benutzer das Tastenfeld 51 zum Rückgängigmachen mehrere Male, um die oben beschriebenen Schritte zu wiederholen.
- Fig. 5b zeigt ein Beispiel von aufeinanderfolgenden Verfahren zum Rückgängigmachen. Es wird angenommen, dass anfänglich eine Liste von Befehlselementobjekten Einträge 80, 82 und 84 umfasst, jeweils für Befehle "a", "b" und "c". Des weiteren wird angenommen, dass der Positionsanzeiger 32 auf den Eintrag 84 zeigt. Wenn ein Benutzer anschließend ein Verfahren zum Rückgängigmachen verlangt, wird der Befehl "c" rückgängig gemacht und der Positionsanzeiger 32 wird bewegt, um auf den Eintrag 82 für den Befehl "b" zu zeigen. Falls der Benutzer eine zusätzliche Aufforderung für ein Verfahren zum Rückgängigmachen macht, wird der Befehl "b" ebenfalls rückgängig gemacht, und der Positionsanzeiger wird bewegt, um auf den Eintrag 80 für den Befehl "a" zu zeigen.
- Ein Benutzer kann ebenfalls ein einzelnes Verfahren zum Wiederholen verlangen. Fig. 6a zeigt ein Flussdiagramm der Schritte, die ausgeführt werden für ein einzelnes Verfahren zum Wiederholen eines unlängst rückgängig gemachten Befehls. Der Prozess beginnt mit einem Benutzer, der ein Verfahren zum Wiederholen des unlängst rückgängig gemachten Befehls verlangt. Der Benutzer aktiviert das Tastenfeld 53 (Fig. 3c) zum Wiederholen der Benutzerschnittstelle und wählt dann die Option "zuletzt angewandt" von dem Kontextmenü 57 (Schritt 86 in Fig. 6a). Der Befehl, der sich unmittelbar vor der gegenwärtigen Position des Positionsanzeigers in der Liste 30 befindet, wird dann ausgeführt (Schritt 88), und der Positionsanzeiger wird heraufgesetzt (Schritt 90). Im Sinne des oben in bezug auf Fig. 2 beschriebenen Objektmodells wird der Code 50b zum Wiederholen ausgeführt an dem Befehlselementobjekt 40, das unlängst rückgängig gemacht wurde. Um mehrstufige Verfahren zum Wiederholen auszuführen, aktiviert der User das Tastenfeld 53 zum Wiederholen mehrfach, um die Schritte der Fig. 6a zu wiederholen.
- Fig. 6b zeigt ein Beispiel der Wirkung eines Befehls zum Wiederholen. Anfänglich umfasst eine Liste 30 Einträge 92 und 94, jeweils für Befehls "a" und "b". Ein Positionsanzeiger 32 zeigt auf den Eintrag 92 für den Befehl "a". Wenn der Benutzer einen Befehl zum Wiederholen eingibt, wird der Befehl "b" erneut ausgeführt, und der Positionsanzeiger 32 wird heraufgesetzt, um auf den Eintrag 94 für den Befehl "b" zu zeigen.
- Der Benutzer hat die zusätzliche Option des Rückgängigmachens aller Befehle in der Liste 30 von Befehlselementobjekten. Fig. 7a zeigt ein Flussdiagramm der Schritte, die ausgeführt werden für ein Verfahren, um "den ganzen Weg" rückgängig zu machen. Anfänglich verlangt ein Benutzer, dass ein Verfahren ausgeführt wird, um "den ganzen Weg" rückgängig zu machen (Schritt 96 in Fig. 7a). Der Benutzer verlangt solch einen Befehl durch Aktivieren des Tastenfeldes 51 zum Rückgängigmachen (Fig. 3b) und dann durch Auswählen der Option "den ganzen Weg" des Kontextmenüs 55. Alle Benutzerbefehle von dem gegenwärtigen Befehl bis zu dem anfänglichen Befehl werden aufgehoben (Schritt 98 in Fig. 7a). Zusätzlich wird der Positionsanzeiger bewegt, um vor den anfänglichen Befehl in Liste 30 zu zeigen (Schritt 100).
- Fig. 7b zeigt ein Beispiel der Wirkung eines Verfahrens zum Rückgängigmachen "des ganzen Weges". Anfänglich umfasst eine Liste 30 von Befehlselementobjekten 30 Einträge 102, 104 und 106 jeweils für Befehle "a", "b" und "c". Der Positionsanzeiger 32 zeigt auf den Eintrag 106 für den Befehl "c". Nachdem der Benutzer das Verfahren zum Rückgängigmachen "des ganzen Weges" verlangt hat, werden nacheinander die Befehle "c", "b" und "a" rückgängig gemacht, und der Positionsanzeiger 32 wird herabgesetzt, um vor den ersten Eintrag in der Liste 30 zu zeigen.
- Ein Benutzer kann ebenfalls verlangen, dass das Verfahren zum Wiederholen ausgeführt wird für "den ganzen Weg", um alle Befehle in der Liste zu wiederholen, die sich vor der gegenwärtigen Position des Positionsanzeigers befinden. Fig. 8a zeigt ein Flussdiagramm der Schritte, die für solch ein Verfahren ausgeführt werden. Anfänglich verlangt der Benutzer, dass das Verfahren zum Wiederholen "des ganzen Weges" ausgeführt wird (Schritt 108 in Fig. 8a). So wie bei den anderen Verfahren wählt der Benutzer das Verfahren mittels der Benutzerschnittstelle aus. Insbesondere aktiviert der Benutzer das Tastenfeld 53 zum Wiederholen und wählt dann die Option "den ganzen Weg" von dem Kontextmenü 57 (Fig. 3c) aus. Nachdem die Auswahl vorgenommen wurde, werden die Befehle ausgeführt, die vor dem Positionsanzeiger 32 in der Liste positioniert sind (Schritt 110 in Fig. 8a). Zusätzlich wird die Position des Positionsanzeigers heraufgesetzt, um auf den Beginn der Liste zu zeigen (Schritt 112).
- Fig. 8b zeigt ein Beispiel, das die Wirkung des Verfahrens zum Wiederholen "des ganzen Weges" illustriert. Anfänglich umfasst eine Liste 30 von Befehlselementobjekten Einträge 114, 116 und 118, jeweils für Befehle "a", "b" und "c". Der Positionsanzeiger 32 zeigt auf den Eintrag 114 für den Befehl "a". Nachdem das Verfahren zum Wiederholen "des ganzen Weges" ausgeführt wurde, wurden die Befehle "b" und "c" nacheinander ausgeführt und die Position des Positionsanzeigers wird heraufgesetzt, um auf den Eintrag 118 für den Befehl "c" zu zeigen.
Claims (9)
1. Verfahren zur Verwendung in einem Computersystem (10) aufweisend eine
Bildausgabeeinrichtung (20), das Verfahren umfassend die computer-implementierten
Schritte:
Bereitstellen einer mehrstufigen Fähigkeit zum Rückgängigmachen/Wiederholen (46;
51, 53) in einem Betriebssystem (24);
Speichern einer Liste von Befehlen, die von einem Anwendungsprogramm (22)
ausgeführt werden;
mit der Fähigkeit zum Rückgängigmachen/Wiederholen, Anzeigen eines
aktivierbaren Benutzerschnittstellenelements zum Rückgängigmachen/Wiederholen (51, 53,
55, 57) in einem Fenster auf der Bildausgabeeinrichtung, wobei das Fenster von dem
Anwendungsprogramm (22) bereitgestellt wird; und
in Antwort auf ein Aktivieren des Elements der Fähigkeit zum
Rückgängigmachen/Wiederholen durch einen Benutzer, Aufrufen, mit der Fähigkeit zum
Rückgängigmachen/Wiederholen, eines Codes in dem Anwendungsprogramm, um einen oder
mehrere Befehle, die mit dem aktivierbaren Benutzerschnittstellenelement zum
Rückgängigmachen/Wiederholen verbunden sind, rückgängig zu machen oder zu
wiederholen.
2. Verfahren nach Anspruch 1, des weiteren aufweisend die Schritte:
Erzeugen eines Befehlselementobjekts (40) durch das Anwendungsprogramm (22)
für jeden Befehl, der in dem Anwendungsprogramm (22) ausgeführt wird, wobei
jedes Befehlselementobjekt Code bestimmt zum Rückgängigmachen (50a) oder zum
Ausführen (50b) des Befehls, der mit dem Befehlselementobjekt (40) verbunden ist,
Verbinden der Befehlselementobjekte miteinander in der Liste (30), die geordnet wird
gemäß den Zeitpunkten, zu denen die zugeordneten Befehle ausgeführt wurden;
Verkapseln der Liste (30) von verbundenen Befehlselementobjekten in einem
Befehlsprotokollobjekt, das von dem Anwendungsprogramm bereitgestellt wird;
wenn die Fähigkeit zum Rückgängigmachen/Wiederholen durch den Benutzer
aktiviert wird, Aufrufen des Codes, der von einem ausgewählten Befehlselementobjekt
der Befehlselementobjekte in der Liste bestimmt wird, um den Befehl, der mit dem
ausgewählten Befehlselementobjekt verbunden ist, rückgängig zu machen oder zu
wiederholen.
3. Verfahren nach Anspruch 2, wobei das Benutzerschnittstellenelement zum
Rückgängigmachen/Wiederholen ein Benutzerschnittstellenelement zum
Rückgängigmachen (51) ist und der Code (50a) bewirkt, dass der Befehl, der mit dem ausgewählten
Befehlselementobjekt verbunden ist, rückgängig gemacht wird.
4. Verfahren nach Anspruch 2 oder 3, wobei das Benutzerschnittstellenelement zum
Rückgängigmachen/Wiederholen ein Benutzerschnittstellenelement zum
Wiederholen (53) ist und der Code (50b) bewirkt, dass der Befehl, der mit dem ausgewählten
Befehlselementobjekt verbunden ist, wiederholt wird.
5. Verfahren nach einem der Ansprüche 2 bis 3, wobei das Befehlselementobjekt
(40) einen Positionsanzeiger (42) zu einer V-Tabelle (46) umfasst, die zumindest
einen Eintrag aufweist, der einen Positionsanzeiger (48a, 48b, 48c) aufweist zu dem
Code zum Rückgängigmachen oder Wiederholen des Befehls, der mit dem
Befehlselementobjekt verbunden ist.
6. Verfahren nach einem der Ansprüche 1 bis 5, in dem ein Benutzer bewirkt hat,
dass mehrere Befehle des Anwendungsprogramms ausgeführt wurden und in
Antwort auf ein Aktivieren eines Benutzerschnittstellenelements (55), um alles
rückgängig zu machen, durch den Benutzer, Rückgängigmachen von Wirkungen des
Ausführens der Befehle durch die Fähigkeit zum Rückgängigmachen/Wiederholen, die
Code in dem Anwendungsprogramm aufruft zum Rückgängigmachen der Befehle.
7. Verfahren nach einem der Ansprüche 1 bis 6, in dem ein Benutzer mehrere
Befehle rückgängig gemacht hat und in Antwort auf ein Aktivieren des Benutzerschnitt-
Stellenelements (57), um alles zu wiederholen, durch den Benutzer, Ausführen der
rückgängig gemachten Befehle durch die Fähigkeit zum
Rückgängigmachen/Wiederholen, die Code aufruft zum Ausführen der Befehle in dem
Anwendungsprogramm.
8. Verfahren nach einem der Ansprüche 2 bis 7, wobei jedes Befehlselementobjekt
einen Positionsanzeiger (42) zu einer V-Tabelle (46) umfasst, die zumindest einen
Eintrag aufweist, der einen Positionsanzeiger (48a, 48b, 48c) aufweist zu Code zum
Rückgängigmachen (50a) oder Wiederholen (50b) des Befehls, der mit dem
Befehlselementobjekt (40) verbunden ist, und des weiteren aufweisend Instruktionen, um
zu bewirken, dass der Computer den folgenden Schritt ausführt:
in Antwort auf ein Aktivieren des Schnittstellenelements zum
Rückgängigmachen/Wiederholen durch einen Benutzer, Aufrufen mit der Fähigkeit zum
Rückgängigmachen/Wiederholen des Codes, auf den von dem Eintrag in der V-Tabelle
gezeigt wird, auf den durch den Positionsanzeiger gezeigt wird in einem ausgewählten
Befehlselementobjekt der Befehlselementobjekte in der Liste (30), zum
Rückgängigmachen oder Wiederholen des zugeordneten Befehls.
9. Verfahren nach Anspruch 1 und des weiteren aufweisend Instruktionen, um zu
bewirken, dass der Computer den folgenden Schritt ausführt:
Anzeigen von aktivierbaren Benutzerschnittstellenelementen zum
Rückgängigmachen/Wiederholen (51, 53, 55, 57) in dem Fenster auf einer Bildausgabeeinrichtung
des Computersystems, wobei die Benutzerschnittstellenelemente zum
Rückgängigmachen/Wiederholen aufweisen:
ein erstes Benutzerschnittstellenelement, das, wenn ausgewählt von einen Benutzer,
bewirkt, dass ein einzelner Befehl rückgängig gemacht wird oder wiederholt wird; und
ein zweites Benutzerschnittstellenelement, das, wenn ausgewählt von einem
Benutzer, bewirkt, dass alle Befehle rückgängig gemacht werden oder wiederholt werden.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/052,036 US5659747A (en) | 1993-04-22 | 1993-04-22 | Multiple level undo/redo mechanism |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69427423D1 DE69427423D1 (de) | 2001-07-19 |
| DE69427423T2 true DE69427423T2 (de) | 2001-09-27 |
Family
ID=21975015
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69427423T Expired - Lifetime DE69427423T2 (de) | 1993-04-22 | 1994-04-20 | Mehrstufiger Wiederherstellungs- und Wiederhol-Mechanismus |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US5659747A (de) |
| EP (1) | EP0621528B1 (de) |
| JP (2) | JP3723236B2 (de) |
| CA (1) | CA2121107C (de) |
| DE (1) | DE69427423T2 (de) |
Families Citing this family (96)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5659747A (en) * | 1993-04-22 | 1997-08-19 | Microsoft Corporation | Multiple level undo/redo mechanism |
| US5692143A (en) * | 1994-12-30 | 1997-11-25 | International Business Machines Corporation | Method and system for recalling desktop states in a data processing system |
| US6167455A (en) * | 1995-05-05 | 2000-12-26 | Apple Computer, Inc. | Method and system for synchronous operation of linked command objects |
| US6178464B1 (en) * | 1996-05-10 | 2001-01-23 | Apple Computer, Inc. | System and method for canceling a computer request |
| US5890181A (en) * | 1996-11-14 | 1999-03-30 | Kurzwell Applied Intelligence, Inc. | System and method for remotely grouping contents of an action history stack |
| JPH10254719A (ja) | 1997-03-14 | 1998-09-25 | Canon Inc | 情報処理装置及びその方法 |
| US6748524B1 (en) * | 1997-04-30 | 2004-06-08 | Gateway, Inc. | Display and recordation of non-volatile memory changes |
| US6016553A (en) * | 1997-09-05 | 2000-01-18 | Wild File, Inc. | Method, software and apparatus for saving, using and recovering data |
| US7062497B2 (en) * | 1998-01-22 | 2006-06-13 | Adobe Systems Incorporated | Maintaining document state history |
| US6505212B2 (en) * | 1998-02-04 | 2003-01-07 | Interwoven Inc | System and method for website development |
| US6732293B1 (en) | 1998-03-16 | 2004-05-04 | Symantec Corporation | Method, software and apparatus for recovering and recycling data in conjunction with an operating system |
| US6731309B1 (en) | 1998-08-28 | 2004-05-04 | Corel Corporation | Real time preview |
| US6523134B2 (en) * | 1998-09-18 | 2003-02-18 | International Business Machines Corporation | Selective undo |
| US7055055B1 (en) | 1999-04-23 | 2006-05-30 | Symantec Corporation | Write cache flushing method for reducing data corruption |
| US7051055B1 (en) | 1999-07-09 | 2006-05-23 | Symantec Corporation | Optimized disk storage defragmentation with swapping capabilities |
| AU6081200A (en) * | 1999-07-09 | 2001-01-30 | Eric D. Schneider | Optimized disk storage defragmentation with swapping capabilities |
| WO2001006359A1 (fr) * | 1999-07-15 | 2001-01-25 | Alcatel | Systeme de recouvrement transactionnel |
| US6711715B1 (en) * | 1999-08-27 | 2004-03-23 | Microsoft Corporation | Method and system for efficient storage and restoration of display state data |
| US6901582B1 (en) * | 1999-11-24 | 2005-05-31 | Quest Software, Inc. | Monitoring system for monitoring the performance of an application |
| US6704730B2 (en) | 2000-02-18 | 2004-03-09 | Avamar Technologies, Inc. | Hash file system and method for use in a commonality factoring system |
| US7194504B2 (en) * | 2000-02-18 | 2007-03-20 | Avamar Technologies, Inc. | System and method for representing and maintaining redundant data sets utilizing DNA transmission and transcription techniques |
| US6826711B2 (en) | 2000-02-18 | 2004-11-30 | Avamar Technologies, Inc. | System and method for data protection with multidimensional parity |
| US7509420B2 (en) | 2000-02-18 | 2009-03-24 | Emc Corporation | System and method for intelligent, globally distributed network storage |
| US7062648B2 (en) * | 2000-02-18 | 2006-06-13 | Avamar Technologies, Inc. | System and method for redundant array network storage |
| US7657887B2 (en) | 2000-05-17 | 2010-02-02 | Interwoven, Inc. | System for transactionally deploying content across multiple machines |
| US6810398B2 (en) | 2000-11-06 | 2004-10-26 | Avamar Technologies, Inc. | System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences |
| FR2819959A1 (fr) * | 2001-01-22 | 2002-07-26 | Canon Kk | Procede d'annulation d'une operation executee a distance sur une station serveur |
| US7734958B1 (en) | 2001-07-05 | 2010-06-08 | At&T Intellectual Property Ii, L.P. | Method and apparatus for a programming language having fully undoable, timed reactive instructions |
| US7203866B2 (en) | 2001-07-05 | 2007-04-10 | At & T Corp. | Method and apparatus for a programming language having fully undoable, timed reactive instructions |
| KR100447398B1 (ko) * | 2002-03-22 | 2004-09-04 | 엘지전자 주식회사 | 지역적 실행취소 편집방법 |
| US20040267823A1 (en) * | 2003-06-24 | 2004-12-30 | Microsoft Corporation | Reconcilable and undoable file system |
| US7827362B2 (en) | 2004-08-24 | 2010-11-02 | Symantec Corporation | Systems, apparatus, and methods for processing I/O requests |
| US7409587B2 (en) | 2004-08-24 | 2008-08-05 | Symantec Operating Corporation | Recovering from storage transaction failures using checkpoints |
| US7631120B2 (en) | 2004-08-24 | 2009-12-08 | Symantec Operating Corporation | Methods and apparatus for optimally selecting a storage buffer for the storage of data |
| US7991748B2 (en) | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
| US7296008B2 (en) | 2004-08-24 | 2007-11-13 | Symantec Operating Corporation | Generation and use of a time map for accessing a prior image of a storage device |
| US7287133B2 (en) | 2004-08-24 | 2007-10-23 | Symantec Operating Corporation | Systems and methods for providing a modification history for a location within a data store |
| US7239581B2 (en) | 2004-08-24 | 2007-07-03 | Symantec Operating Corporation | Systems and methods for synchronizing the internal clocks of a plurality of processor modules |
| US7725760B2 (en) | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
| US7577807B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Methods and devices for restoring a portion of a data store |
| US7577806B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Systems and methods for time dependent data storage and recovery |
| US7904428B2 (en) | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
| US7730222B2 (en) | 2004-08-24 | 2010-06-01 | Symantec Operating System | Processing storage-related I/O requests using binary tree data structures |
| US7818718B2 (en) * | 2003-09-30 | 2010-10-19 | Sap Ag | Undoing user actions in a client program |
| US7081093B2 (en) * | 2003-12-05 | 2006-07-25 | Vermon | Array transducer for 3D tilting probes |
| US20050138306A1 (en) * | 2003-12-19 | 2005-06-23 | Panchbudhe Ankur P. | Performance of operations on selected data in a storage area |
| US20080046809A1 (en) * | 2004-11-12 | 2008-02-21 | Justsystems Corporation | Data Processing Device and Data Processing Method |
| US7949665B1 (en) | 2004-11-19 | 2011-05-24 | Symantec Corporation | Rapidly traversing disc volumes during file content examination |
| US7580954B1 (en) * | 2005-04-12 | 2009-08-25 | Apple Inc. | Random access action list for digital signal data editing |
| US7321372B2 (en) * | 2005-09-19 | 2008-01-22 | Lexmark International, Inc. | Method for performing image editing |
| US20070088729A1 (en) * | 2005-10-14 | 2007-04-19 | International Business Machines Corporation | Flexible history manager for manipulating data and user actions |
| CN103927238B (zh) | 2005-10-14 | 2017-04-12 | 塞门铁克操作公司 | 一种在数据存储器中用于时间线压缩的技术 |
| EP1780637A1 (de) * | 2005-10-25 | 2007-05-02 | Siemens Aktiengesellschaft | Verfahren zur Zurücknahme ausgeführter Aktionen mittels einer grafischen Benutzeroberfläche |
| US20070192383A1 (en) * | 2006-01-31 | 2007-08-16 | Microsoft Corporation | Extension specified undo transactions |
| US8051043B2 (en) | 2006-05-05 | 2011-11-01 | Hybir Inc. | Group based complete and incremental computer file backup system, process and apparatus |
| US7979245B1 (en) | 2006-05-17 | 2011-07-12 | Quest Software, Inc. | Model-based systems and methods for monitoring computing resource performance |
| US8127278B2 (en) * | 2006-09-28 | 2012-02-28 | Sap Ag | System and method for extending legacy applications with undo/redo functionality |
| US7979494B1 (en) | 2006-11-03 | 2011-07-12 | Quest Software, Inc. | Systems and methods for monitoring messaging systems |
| US8627268B2 (en) * | 2006-11-06 | 2014-01-07 | International Business Machines Corporation | System and method for a non-sequential undo mechanism |
| US8191052B2 (en) | 2006-12-01 | 2012-05-29 | Murex S.A.S. | Producer graph oriented programming and execution |
| US8307337B2 (en) | 2006-12-01 | 2012-11-06 | Murex S.A.S. | Parallelization and instrumentation in a producer graph oriented programming framework |
| US7865872B2 (en) * | 2006-12-01 | 2011-01-04 | Murex S.A.S. | Producer graph oriented programming framework with undo, redo, and abort execution support |
| US8332827B2 (en) * | 2006-12-01 | 2012-12-11 | Murex S.A.S. | Produce graph oriented programming framework with scenario support |
| US8701084B1 (en) * | 2006-12-29 | 2014-04-15 | The Mathworks, Inc. | Preview of auto-fix changes to software code |
| US7900142B2 (en) * | 2007-01-15 | 2011-03-01 | Microsoft Corporation | Selective undo of editing operations performed on data objects |
| JP2008269281A (ja) * | 2007-04-20 | 2008-11-06 | Meidensha Corp | ソフトウェア開発支援システム、開発支援方法およびプログラム |
| US8175863B1 (en) | 2008-02-13 | 2012-05-08 | Quest Software, Inc. | Systems and methods for analyzing performance of virtual environments |
| US9898173B2 (en) * | 2008-10-07 | 2018-02-20 | Adobe Systems Incorporated | User selection history |
| US20110106776A1 (en) * | 2009-11-03 | 2011-05-05 | Schlumberger Technology Corporation | Incremental implementation of undo/redo support in legacy applications |
| US20110107246A1 (en) * | 2009-11-03 | 2011-05-05 | Schlumberger Technology Corporation | Undo/redo operations for multi-object data |
| CA2684540A1 (en) | 2009-11-05 | 2011-05-05 | Ibm Canada Limited - Ibm Canada Limitee | Navigation through historical stored interactions associated with a multi-user view |
| WO2011123924A1 (en) * | 2010-04-08 | 2011-10-13 | Robert Alexander Mccarter | A personal financial planning system and method with a novel undo system and method |
| JP5459031B2 (ja) * | 2010-04-13 | 2014-04-02 | ソニー株式会社 | 情報処理装置、情報処理方法及びプログラム |
| JP5694686B2 (ja) | 2010-05-24 | 2015-04-01 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
| US8533595B2 (en) * | 2011-04-19 | 2013-09-10 | Autodesk, Inc | Hierarchical display and navigation of document revision histories |
| US8533593B2 (en) * | 2011-04-19 | 2013-09-10 | Autodesk, Inc | Hierarchical display and navigation of document revision histories |
| US8533594B2 (en) * | 2011-04-19 | 2013-09-10 | Autodesk, Inc. | Hierarchical display and navigation of document revision histories |
| US8874525B2 (en) | 2011-04-19 | 2014-10-28 | Autodesk, Inc. | Hierarchical display and navigation of document revision histories |
| US9215142B1 (en) | 2011-04-20 | 2015-12-15 | Dell Software Inc. | Community analysis of computing performance |
| US9146914B1 (en) * | 2012-02-17 | 2015-09-29 | Google Inc. | System and method for providing a context sensitive undo function |
| EP2631760A1 (de) | 2012-02-24 | 2013-08-28 | Research In Motion Limited | Verfahren und Vorrichtung zur Bereitstellung einer Benutzerschnittstelle auf einer Vorrichtung zur Ermöglichung der Auswahl von durchzuführenden Vorgängen im Zusammenhang mit Inhalt |
| EP2631747B1 (de) | 2012-02-24 | 2016-03-30 | BlackBerry Limited | Verfahren und Vorrichtung zur Bereitstellung einer Benutzerschnittstelle auf einer Vorrichtung zur Angabe von Inhaltsbetreibern |
| US9348512B2 (en) * | 2012-08-08 | 2016-05-24 | Nuance Communications, Inc. | Methods for facilitating text entry |
| US10333820B1 (en) | 2012-10-23 | 2019-06-25 | Quest Software Inc. | System for inferring dependencies among computing systems |
| US9557879B1 (en) | 2012-10-23 | 2017-01-31 | Dell Software Inc. | System for inferring dependencies among computing systems |
| US11005738B1 (en) | 2014-04-09 | 2021-05-11 | Quest Software Inc. | System and method for end-to-end response-time analysis |
| US9479414B1 (en) | 2014-05-30 | 2016-10-25 | Dell Software Inc. | System and method for analyzing computing performance |
| US10291493B1 (en) | 2014-12-05 | 2019-05-14 | Quest Software Inc. | System and method for determining relevant computer performance events |
| US9274758B1 (en) | 2015-01-28 | 2016-03-01 | Dell Software Inc. | System and method for creating customized performance-monitoring applications |
| US9996577B1 (en) | 2015-02-11 | 2018-06-12 | Quest Software Inc. | Systems and methods for graphically filtering code call trees |
| US10187260B1 (en) | 2015-05-29 | 2019-01-22 | Quest Software Inc. | Systems and methods for multilayer monitoring of network function virtualization architectures |
| US10200252B1 (en) | 2015-09-18 | 2019-02-05 | Quest Software Inc. | Systems and methods for integrated modeling of monitored virtual desktop infrastructure systems |
| US10230601B1 (en) | 2016-07-05 | 2019-03-12 | Quest Software Inc. | Systems and methods for integrated modeling and performance measurements of monitored virtual desktop infrastructure systems |
| US10698561B2 (en) | 2017-06-12 | 2020-06-30 | Google Llc | Intelligent command batching in an augmented and/or virtual reality environment |
| EP4439299A1 (de) | 2023-03-31 | 2024-10-02 | Siemens Aktiengesellschaft | Verfahren und vorrichtung zur kopplung einer software-applikation mit einem dienst, insbesondere einem datenbank-dienst |
| JP7728932B1 (ja) * | 2024-07-25 | 2025-08-25 | 鉄道情報システム株式会社 | Undo処理実行プログラム、undo処理実行プログラムが記録された記録媒体、及び、undo処理実行方法 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62249271A (ja) * | 1986-04-23 | 1987-10-30 | Ricoh Co Ltd | 文書編集装置 |
| US4905181A (en) * | 1987-04-20 | 1990-02-27 | Wang Laboratories, Inc. | Interactive system with state manager subsystem |
| JPH02240762A (ja) * | 1989-03-14 | 1990-09-25 | Canon Inc | 情報処理装置 |
| US5095421A (en) * | 1989-08-17 | 1992-03-10 | International Business Machines Corporation | Transaction processing facility within an operating system environment |
| JPH03294960A (ja) * | 1990-04-13 | 1991-12-26 | Casio Comput Co Ltd | データ編集装置 |
| JPH04290161A (ja) * | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | 編集方式 |
| JP2993528B2 (ja) * | 1991-05-18 | 1999-12-20 | 富士通株式会社 | テキスト管理・復元方式 |
| US5287501A (en) * | 1991-07-11 | 1994-02-15 | Digital Equipment Corporation | Multilevel transaction recovery in a database system which loss parent transaction undo operation upon commit of child transaction |
| JPH05324555A (ja) * | 1992-05-20 | 1993-12-07 | Mutoh Ind Ltd | 既実行オペレーションの取消装置 |
| JPH05324556A (ja) * | 1992-05-20 | 1993-12-07 | Mutoh Ind Ltd | 既実行オペレーションの取消装置 |
| US5481710A (en) * | 1992-09-16 | 1996-01-02 | International Business Machines Corporation | Method of and system for providing application programs with an undo/redo function |
| US5530864A (en) * | 1992-12-23 | 1996-06-25 | Taligent | Command object system for an object-oriented software platform |
| US5519862A (en) * | 1993-02-26 | 1996-05-21 | Taligent, Inc. | Concurrent processing apparatus with incremental command objects |
| US5659747A (en) * | 1993-04-22 | 1997-08-19 | Microsoft Corporation | Multiple level undo/redo mechanism |
-
1993
- 1993-04-22 US US08/052,036 patent/US5659747A/en not_active Ceased
-
1994
- 1994-04-12 CA CA002121107A patent/CA2121107C/en not_active Expired - Lifetime
- 1994-04-20 DE DE69427423T patent/DE69427423T2/de not_active Expired - Lifetime
- 1994-04-20 EP EP94106131A patent/EP0621528B1/de not_active Expired - Lifetime
- 1994-04-21 JP JP08319694A patent/JP3723236B2/ja not_active Expired - Lifetime
-
1999
- 1999-08-18 US US09/376,933 patent/USRE38270E1/en not_active Expired - Lifetime
-
2005
- 2005-03-09 JP JP2005066314A patent/JP2005310116A/ja not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| EP0621528B1 (de) | 2001-06-13 |
| JP2005310116A (ja) | 2005-11-04 |
| CA2121107C (en) | 2004-06-15 |
| USRE38270E1 (en) | 2003-10-07 |
| DE69427423D1 (de) | 2001-07-19 |
| JP3723236B2 (ja) | 2005-12-07 |
| EP0621528A1 (de) | 1994-10-26 |
| JPH076135A (ja) | 1995-01-10 |
| US5659747A (en) | 1997-08-19 |
| CA2121107A1 (en) | 1994-10-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69427423T2 (de) | Mehrstufiger Wiederherstellungs- und Wiederhol-Mechanismus | |
| DE69032389T2 (de) | Prozess und Gerät zur Erhaltung der Datenintegrität einer Datenbank | |
| DE3855756T2 (de) | Schnittstelle für Materialliste für CAD/CAM-Umgebung | |
| DE69428279T2 (de) | Produktstrukturverwaltung | |
| DE60319229T2 (de) | Verfahren und system zur erweiterung der api eines dateisystems | |
| DE69519904T2 (de) | Verfahren und Vorrichtung zur Bereitstellung einer zusammenhängenden Navigation in historischen Daten | |
| DE69329265T2 (de) | Graphischer Datenbankzugriff | |
| DE69402540T2 (de) | Rahmen-system für dokumente | |
| DE3855696T2 (de) | Relationelles Datenbanksystem | |
| DE69425699T2 (de) | Integrierung von Systemverwaltungsdiensten mit einem unterliegenden Systemobjektmodell | |
| DE69333408T2 (de) | Ein Computer-System und Verfahren zum interaktiven Verwalten eines verteilten Datenbanksystems | |
| DE69030862T2 (de) | Automatisches Ikonerzeugungssystem | |
| DE3855706T2 (de) | Automatisierte Rechnung von Materialien | |
| DE69326226T2 (de) | Verfahren zum Strukturieren von in einem industriellen Prozess verwendeten Informationen und Anwendung als Flugzeugführungshilfe | |
| DE69128958T2 (de) | Schneide- und Klebefilterung von unbegrenzten, dynamischen, unmodifizierbaren Datenströmen | |
| DE69228230T2 (de) | Softwarestruktur für Fernmeldevermittlungssystem | |
| DE69425548T2 (de) | Verfahren und Vorrichtung zur dynamischen Objektverbindungserzeugung | |
| DE69426446T2 (de) | Modellsystem zur informationskontrolle | |
| DE69609866T2 (de) | Flexibles system und verfahren zum verknüpfen von hyperlinks | |
| DE69225566T2 (de) | Rechnersystem | |
| DE69231176T2 (de) | Verfahren zum Integrieren eines diskreten Unterprogramms in ein Hauptprogramm | |
| DE19922796A1 (de) | Bestimmen der tatsächlichen Klasse eines Objekts zur Laufzeit | |
| DE29623701U1 (de) | Grafik Browser | |
| DE69428144T2 (de) | Menuabfragesystem | |
| DE10218212A1 (de) | Verfahren zum Testen von Software |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition |