DE69707070T2 - Verfahren und Vorrichtung zur Organisation eines Arbeitsraums für ein rechnergesteuertes Anzeigesystem mit Anwendung von Rändern und Regionen - Google Patents

Verfahren und Vorrichtung zur Organisation eines Arbeitsraums für ein rechnergesteuertes Anzeigesystem mit Anwendung von Rändern und Regionen

Info

Publication number
DE69707070T2
DE69707070T2 DE69707070T DE69707070T DE69707070T2 DE 69707070 T2 DE69707070 T2 DE 69707070T2 DE 69707070 T DE69707070 T DE 69707070T DE 69707070 T DE69707070 T DE 69707070T DE 69707070 T2 DE69707070 T2 DE 69707070T2
Authority
DE
Germany
Prior art keywords
boundaries
boundary
operations
region
list
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
Application number
DE69707070T
Other languages
English (en)
Other versions
DE69707070D1 (de
Inventor
Patrick Chiu
Thomas P Moran
Melle William J Van
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of DE69707070D1 publication Critical patent/DE69707070D1/de
Application granted granted Critical
Publication of DE69707070T2 publication Critical patent/DE69707070T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

  • Die vorliegende Erfindung betrifft das Gebiet von Benutzeroberflächen für Computergesteuerte Anzeigesysteme und insbesondere das effizientere Organisieren eines Arbeitsraums der Benutzeroberfläche.
  • Computer-basierte Systeme wie etwa Stift-basierte Systeme und "elektronische Tafeln" (z. B. das LiveBoardTM von LiveWorks, einer Unterteilung der Xerox Corporation) umfassen graphische Benutzeroberflächen, die auf der Nutzung einer Eingabeeinrichtung wie etwa einem Stift, einem Griffel oder einer Cursorsteuereinrichtung basieren. In derartigen Systemen zeigt die "Anzeige" einen Arbeitsraum an, der sowohl als Einrichtung zum Anzeigen von Daten als auch als Eingabemedium dient. Graphische Objekte können auf der Anzeige mit Hilfe von unter Verwendung der Eingabeeinrichtung erstellten Stiftstrichen "gezeichnet" werden. Die graphischen Objekte können beispielsweise Wörter, Zahlen oder andere anzeigbare Einheiten sein. Dann können verschiedene Operationen auf den graphischen Objekten unter Verwendung einer Eingabetechnik durchgeführt werden, die als "Gesten" bezeichnet wird. Gesten sind selbst Stiftstriche, die als Befehle interpretiert werden. Manchmal umfassen derartige Systeme einen Zeichenbetriebsmodus und einen Gestenbetriebsmodus, um zu unterscheiden, wann ein Stiftstrich ein graphisches Objekt erzeugt oder wann der Stiftstrich als Geste zu behandeln ist.
  • Um Benutzerinteraktionen zu vereinfachen, sieht das LiveBoard-System das Konzept von Strukturen vor. Verschiedene Typen von Strukturen, die durch das LiveBoard-System verwendet werden, sind in EPA 0 667 567 A2 beschrieben. Konzeptuell ist eine Struktur eine Sammlung von graphischen Objekten, die eine bestimmte Beziehung aufweisen, z. B. eine Liste von Elementen, die auf dem Liveßoard geschrieben werden. Wenn eine Strukturoperation auftritt, wird die Beziehung zwischen den Elementen aufrechterhalten. Wenn beispielsweise ein Element in der Mitte einer Liste eingegeben wird, werden die Elemente unter dem Eingabepunkt nach unten bewegt, um Raum für das eingefügte Element zu machen.
  • Wenn eine elektronische Tafel verwendet wird, werden Listen und andere Strukturen in distinkten Bereichen geclustert. Dies kann bewusst vorgenommen werden, wenn die Objekte erstellt werden, oder indem die graphischen Objekte mit Hilfe von Standard-Editierfunktionen verschoben werden. Wegen der engen Nachbarschaft, in der Objekte und Strukturen positioniert werden, können Probleme entstehen, wenn der Benutzer möchte, dass eine Operation nur auf bestimmte Objekte oder Strukturen angewendet werden soll.
  • Ein einfaches Beispiel hierfür ist die Arbeit mit Listen. Um Listenoperationen wie etwa das Neuordnen einer Liste durch das Verschieben eines Elements zu einer anderen Position in der Liste zu unterstützen, muss das System in der Lage sein, den Bereich zu berechnen, der die Liste enthält. Die Operation zum Neuordnen der Liste wird dann nur auf die Objekte im Bereich der Liste angewandt, wobei die Objekte in anderen Bereichen unverändert gelassen werden. Wenn die Elemente und Strukturen jedoch eng geclustert werden, kann es schwierig sein, den Bereich zu bestimmen. Und auch wenn der Bereich korrekt bestimmt wird, kann die Durchführung der Operation verursachen, dass die Listenelemente andere Objekte überschreiben.
  • Eine Möglichkeit zur Lösung dieses Problems besteht darin, die Elemente zu wählen, zu gruppieren und zu einer anderen Position im Arbeitsraum zu verschieben. Dies ist jedoch umständlich und etwas kontraproduktiv. Eine andere Technik zur Bestimmung des Bereichs ist in der zuvor genannten EP 0 667 567 A2 beschrieben, in der eine durch den Benutzer gezeichnete Randlinie verwendet wird, um die räumliche Erstreckung einer Auswahloperation zu begrenzen. Die Randlinie ist an der Position fixiert, wo sie gezeichnet wird. Wenn beispielsweise eine Grenze am unteren Ende einer Liste gesetzt wird, wird die Auswahl der Liste an der Grenze beendet. Wenn jedoch Elemente zu der Liste hinzugefügt werden, muss die Liste manuell verschoben werden, so dass folgende Auswahlen der Liste nicht durch die Grenze behindert werden. Während dies nützlich ist, um den Umfang der Auswahloperationen zu begrenzen, kann es umständlich sein, wenn Listen aktualisiert werden sollen.
  • Es wäre deshalb vorteilhaft, dem Benutzer eine Möglichkeit zu geben, Strukturen, graphische Objekte und Raum auf der Arbeitsoberfläche auf einfache und natürliche Weise zu organisieren, wobei das System die Organisation auch einfach erkennen kann.
  • Ein zu der vorliegenden Erfindung verwandtes Gebiet betrifft Fenstersysteme und insbesondere Fenstersysteme, die "gekachelte Fenster" vorsehen. In einem "gekachelten" Fenstersystem ist jedes Fenster immer sichtbar. Im Gegensatz dazu stehen "überlappende" Fenstersysteme, in denen Fenster einander überlappen können. Microsoft Windows (Handelsname) ist ein Beispiel für ein überlappendes Fenstersystem. Das System Globalview (Handelsname), das für die Verwendung auf Workstations der Xerox Corporation in Stamford, Connecticut entwickelt wurde, ist ein Beispiel für ein System, das einen Modus für ein gekacheltes Fenstersystem vorsieht.
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung anzugeben, die einem System das einfache Bestimmen der Organisation von Informationen auf einer Arbeitsoberfläche erlauben, um Editieroperationen auf den Informationen vorzunehmen. Diese Aufgabe wird durch das Verfahren nach Anspruch 1 und das Computergesteuerte Anzeigesystem nach Anspruch 10 gelöst. Bevorzugte Ausführungsformen sind Gegenstand der abhängigen Ansprüche.
  • Die vorliegende Erfindung ermöglicht es einem Benutzer, die Arbeitsoberfläche eines graphischen Anzeigesystems in rechteckige Bereiche (wie etwa bei einem Mosaik) zu kacheln. Die Arbeitsoberfläche wird unter Verwendung von strukturierten Grenzen gekachelt. Eine strukturierte Grenze wird dynamisch durch einen Benutzer während der Interaktion mit der elektronischen Tafel erstellt. Eine strukturierte Grenze wird als Begrenzung für die Definition eines Bereichs verwendet. Die durch die strukturierten Grenzen begrenzten Bereiche definieren den Umfang für die Strukturoperation. Der Effekt der Strukturoperationen wird auf den Bereich begrenzt.
  • Es sind verschiedene Typen von strukturierten Grenzen möglich, die wiederum verschiedene Typen von Bereichen definieren. Es kann ein Bereich definiert werden, der in allen oder einigen Richtungen erweitert werden kann. Schließlich kann ein Bereich als ein "Flussbereich" definiert werden, so dass die darin enthaltenen Listenelemente zwischen benachbarten Flussbereichen fließen können. Eine strukturierte Grenze wird visuell als eine gerade Linie wiedergegeben. Die verschiedenen Typen von Bereichen weisen strukturierte Grenzen auf, die als verschiedene Typen von Linien wiedergegeben werden (z. B. als Standardlinie, dicke Linie und gestrichelte Linie).
  • Auf strukturierten Grenzen können verschiedene graphische Operationen durchgeführt werden, z. B. ein Dehnen, Schrumpfen oder Löschen von Grenzen. Das System wird jedoch immer betrieben, um eine vollständige und rechteckige Kachelung der Arbeitsoberfläche aufrechtzuerhalten. Es können also "abhängige" Grenzen gelöscht oder gedehnt oder geschrumpft werden, um die rechteckige Kachelung aufrechtzuerhalten.
  • Fig. 1 ist ein Blockdiagramm eines Graphik-basierten Computersystems, das in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 2 ist eine Wiedergabe einer grundlegenden graphischen Benutzeroberfläche, die auf der Anzeige angezeigt und über das berührungsempfindliche Panel von Fig. 2 gesteuert werden kann.
  • Fig. 3 ist eine Darstellung eines X-Y-Koordinatensystems, welches das Mapping einer Arbeitsoberfläche darstellt, das in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 4 ist ein Zustandsdiagramm, das die Basisoperation der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung darstellt.
  • Fig. 5 ist eine Darstellung von strukturierten Grenzen, die eine Arbeitsoberfläche kacheln.
  • Fig. 6 und 7 stellen die Erstellung einer strukturierten Grenze unter Verwendung einer Geste dar.
  • Fig. 8 und 9 stellen die Erstellung einer strukturierten Grenze dar, was deine Anpassung der räumlichen Position von graphischen Objekten auf der Arbeitsoberfläche erfordert.
  • Fig. 10 stellt das Auswählen einer strukturierten Grenze mittels einer Tippgeste dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 11 stellt das Auswählen einer strukturierten Grenze und ihrer Erweiterungen mittels einer Doppeltippgeste dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 12 stellt das Auswählen einer strukturierten Grenze mit abhängigen Grenzen dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 13 stellt die Beschränkungen für das Verschieben von strukturierten Grenzen in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung dar.
  • Fig. 14 stellt das Verschieben einer strukturierten Grenze und die resultierenden Anpassungen der abhängigen Grenzen dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 15-16 stellen das Verschieben von Listenelementen innerhalb eines Bereichs dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 17-18 stellen das Verschieben eines Listenelements von einem ersten Bereich zu einem zweiten Bereich dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 19 stellt einen komplexen Bereich dar, wobei eine Auswahl gemacht wird, die sich über eine "umgebende" Grenze erstreckt, wie sie in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 20 stellt einen Flussbereich in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung dar.
  • Fig. 21-22 stellen das Verschieben eines Listenelements innerhalb eines einzelnen Flussbereichs dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 23-24 stellen das Verschieben eines Listenelements von einem ersten Flussbereich zu einem zweiten Flussbereich dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 25-26 stellen das Umformatieren einer langen Liste zu einem Flussbereich dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 27-29 stellen das Quetschen eines Bereichs in einen Flussbereich dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 30 ist ein Flussdiagramm, das die Schritte zum Formatieren einer Liste zu einem Flussbereich darstellt, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 31-32 stellen das Auswählen eines strukturierten Bereichs mit einer Klammergeste dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 33-34 stellen das Auswählen eines strukturierten Bereichs mit einer L-Klammergeste dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 35-36 stellen das Verschieben eines strukturierten Bereichs in einer vertikalen Richtung dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 37-38 stellen das Verschieben eines strukturierten Bereichs in einer horizontalen Richtung dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 39-40 stellen die Beschränkungen für das Verschieben eines strukturierten Bereichs in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung dar.
  • Fig. 41-42 stellen eine automatische Bereichserweiterung dar, wenn ein Listenelement verschoben wird, wie sie in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 43-44 stellen eine automatische Bereichserweiterung bei einer Skalierung dar, wie sie in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 45-46 stellen eine automatische Bereichserweiterung bei der Anzeige des Inhalts einer Fußnote dar, wie sie in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 47-49 stellen das Quetschen eines Bereichs dar, wie es in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung verwendet werden kann.
  • Fig. 50 ist ein Flussdiagramm, das die Grundschritte zeigt, mit denen bestimmt wird, ob eine Strukturoperation in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführt werden kann.
  • Ein wird ein System zum Organisieren des Arbeitsraums in einem Graphik-basierten Computersystem angegeben. Die gegenwärtig bevorzugte Ausführungsform der vorliegenden Erfindung wird in einer Technik zum Erstellen und Verwalten eines gekachelten Arbeitsraums unter Verwendung von strukturierten Grenzen realisiert. Ein gekachelter Arbeitsraum unterteilt den Arbeitsraum in nicht-überlappende Bereiche, wobei Operationen auf graphischen Objekten auf den Bereich beschränkt sind, in dem er enthalten ist. Derartige Operationen sind besonders vorteilhaft, wenn mit Listen von geschriebenen Elementen auf dem Arbeitsraum gearbeitet wird und diese manipuliert werden.
  • Die vorliegende Erfindung operiert, um eine vollständige rechteckige Kachelung aufrechtzuerhalten. Wenn also Grenzen gelöscht oder geändert werden, werden auch entsprechend "abhängige" Grenzen gelöscht oder geändert. Eine vollständige rechteckige Kachelung ist erforderlich, um geordnete und intuitive Ergebnisse aufrechtzuerhalten, wenn Strukturoperationen durchgeführt werden. Weiterhin müssen strukturierte Grenzen nicht festgelegt sein. Grenzen können in Reaktion auf eine Strukturoperation verschoben werden.
  • Die vorliegende Erfindung ist vorzugsweise auf einem System implementiert, das kollaborative Aktivitäten unterstützt, wie etwa eine elektronische Tafel, wobei die vorliegende Erfindung jedoch auch gut für andere Typen von Systemen wie etwa Stift-basierte Systeme, Laptops, Palmtops, elektronische Desktops und ähnliches geeignet ist. Ein beliebiges System, das eine graphische Benutzeroberfläche auf einem Arbeitsraum verwendet, kann die vorliegende Erfindung verwenden.
  • Im Folgenden werden die Bedeutungen der folgenden in dieser Beschreibung verwendeten Begriffe erläutert:
  • Graphikobjekt:
  • Ein beliebiges in einem zweidimensionalen Raum angezeigtes Objekt.
  • Arbeitsraum:
  • Ein scrollbarer zweidimensionaler Raum, auf dem graphische Objekte geschrieben werden und der vollständig oder teilweise auf einer Anzeige angezeigt werden kann.
  • Kurve:
  • Ein eindimensionales graphisches Objekt, das manuell durch den Benutzer erstellt (z. B. ein Stiftstrich) oder auf andere Weise erzeugt wird, wie etwa durch eine Geste (z. B. ein Rechteck, das aus einer "["-Geste resultiert), oder das durch das System erzeugt wird (z. B. Grenzen).
  • Stiftstrich:
  • Eine Aktion mit einem Stift, die ein Tintenstrich oder eine Geste wird.
  • Tintenstrich:
  • Eine mit einem dauerhaften Stiftstrich erstellte Kurve.
  • Geste:
  • Eine mit einem kurzlebigen Stiftstrich erstellte Kurve, die als eine Aktion interpretiert wird.
  • Auswahl:
  • Ein Satz von graphischen Objekten, die als ausgewählt etikettiert werden.
  • Rechteckige Kachelung: Unterteilung des Arbeitsraums in rechteckige Bereiche, so dass jeder Punkt auf dem Arbeitsraum innerhalb eines Bereichs liegt.
  • Struktur:
  • Eine Struktur bezeichnet einen Satz von graphischen Objekten mit einer vorbestimmten Beziehung. Auf graphischen Objekten in der Struktur durchgeführte Operationen behalten die vorbestimmte Beziehung aufrecht. Strukturen können in der vorliegenden Erfindung wie in der gleichzeitig anhängigen Patentanmeldung mit der Seriennummer 08/176,150 und dem Titel "Apparatus and Method For Supporting The Implicit Structure of Freeform Lists, Outlines, Text, Tables, and Diagrams in a Gesture-Based Input System and Editing System" des Anmelders der vorliegenden Anmeldung genutzt werden.
  • Das Graphik-basierte, Computer-basierte System, das in der vorliegenden Erfindung verwendet werden kann, wird mit Bezug auf Fig. 1 dargestellt. Das Computer-basierte System von Fig. 1 umfasst eine Vielzahl von Komponenten, die über einen Bus 101 verbunden sind. Der hier dargestellte Bus 101 ist vereinfacht, um die vorliegende Erfindung deutlicher zu machen. Der Bus 101 kann aus einer Vielzahl von parallelen Bussen bestehen (z. B. Adress-, Daten und Statusbusse) sowie aus einer Hierarchie von Bussen (z. B. einem Prozessorbus, lokaler Bus und E/A-Bus). In jedem Fall umfasst das Computersystem weiterhin einen Prozessor 102 zum Ausführen von Befehlen, die über den Bus 101 von einem internen Speicher 103 vorgesehen werden (der interne Speicher 103 ist gewöhnlich eine Kombination aus RAMs oder ROMs). Während des Betriebs werden Programmbefehle zum Ausführen der verschiedenen Funktionskomponenten der vorliegenden Erfindung in dem internen Speicher 103 gespeichert. Der Prozessor 102 und der interne Speicher 103 können diskrete Komponenten eines einzelnen integrierten Geräts sein. Der Prozessor 102 und der interne Speicher 103 umfassen eine Schaltung zum Ausführen der verschiedenen hier beschriebenen Verarbeitungsfunktionen. Weiterhin ist mit dem Bus 101 ein externer Speicher 107 verbunden. Der externe Speicher 107 ist gewöhnlich ein Hochkapazitätsspeichermedium wie ein magnetischer oder optischer Plattenspeicher.
  • Ebenfalls mit dem Bus 101 verbunden sind eine Anzeige 104 und eine Zeigeeinrichtung 105. In der gegenwärtig bevorzugten Ausführungsform ist die Zeigeeinrichtung 105 ein mit einem Stift gesteuertes berührungsempfindliches Panel, das mit der Anzeige integriert ist, wie etwa ein Berührungsbildschirm. Derartige Berührungsbildschirme sind aus dem Stand der Technik bekannt und werden in Systemen wie etwa Stift-basierten Systemen und für elektronische Tafelsysteme verwendet. Die Zeigeeinrichtung 104 und die Anzeige 105 müssen jedoch nicht integriert sein, so dass die Zeigeeinrichtung 105 auch ein Griffel, eine Maus, ein Trackball oder eine andere Cursor-Steuereinrichtung sein kann.
  • Fig. 2 stellt eine besondere Implementierung einer graphischen Benutzeroberfläche dar, die durch die vorliegende Erfindung verwendet werden kann. Wie in Fig. 2 gezeigt, wird die graphische Benutzeroberfläche auf der Anzeige 104 angezeigt und über das Berührungspanel 105 bedient. Die graphische Benutzeroberfläche verwendet eine Arbeitsoberfläche 202 und kann wie gezeigt eine Vielzahl von zugreifbaren Funktionen 201 verwenden. Die Arbeitsoberfläche 202 ist dort, wo ein Benutzer verschiedene Kurven zeichnen kann und wo andere Grafikobjekte angezeigt werden. Die zugreifbaren Funktionen 201 sind im Schaltflächenbereiche 203 der Anzeige positioniert. Die Funktionen 201 können Operationen zum Editieren von graphischen Objekten (Erstellen, Löschen, Verschieben, Verkleinern. usw.) oder zum Ändern des Betriebsmodus des Berührungspanels 103 (Wechseln zwischen Zeichen- und Gestenmodus) umfassen.
  • Diese Funktionen können alternativ hierzu auch mittels Pulldown-Menüs gewählt werden, wie sie gewöhnlich in Windows (Handelsname)-orientierten Anwendungen zu finden sind. Diese Funktionen weisen optionale Bezeichnungen auf, wobei sie hauptsächlich dazu dienen, Operationen zu definieren, die im Betrieb des Systems inhärent sind. Diese Funktionen können dieselben Funktionen ausführen, die durch Gesten aufgerufen werden.
  • Fig. 3 stellt konzeptuell die Bemessungen und Grenzen einer Arbeitsoberfläche in der gegenwärtig bevorzugten Ausführungsform dar. Dabei ist zu beachten, dass eine Arbeitsoberfläche unter Verwendung der vorliegenden Erfindung nicht durch eine derartige Implementierung begrenzt sein muss und dass eine derartige Implementierung nicht vom Umfang der vorliegenden Erfindung abweicht. Wie in Fig. 3 gezeigt, kann die Arbeitsoberfläche als im unteren rechten Quadranten 301 eines X-Y-Koordinatensystems 302 liegend betrachtet werden. Die Arbeitsoberfläche ist durch die Koordinatenachsen 303 und 304 begrenzt, so dass die Arbeitsoberfläche in den Richtungen nach rechts und nach unten unbegrenzt ist und in den Richtungen nach links und nach oben begrenzt ist. Auf diese Weise dient jede der Koordinatenachsen 303 und 304 als eine Grenze.
  • Die gegenwärtig bevorzugte Ausführungsform der vorliegenden Erfindung ist auf einem Computer-gesteuerten Anzeigesystem mit einem graphischen Benutzeroberfläche (GUI = Graphical User Interface) implementiert. Eine derartige GUI unterstützt gewöhnlich Operationen wie etwa ein "Zeigen und Klicken" oder ein "Ziehen und Ablegen". Bei einer "Zeigen und Klicken"-Operation wird ein Cursor oder eine Zeicheneinrichtung über einem gewünschten graphischen Objekt auf der Anzeige positioniert. Nach der entsprechenden Positionierung wird eine Taste/ein Schalter der Cursor-Steuereinrichtung oder Zeicheneinrichtung schnell gedrückt und losgelassen. Dadurch wird ein Signal erzeugt, das die Auswahl des graphischen Objekts veranlasst. Andere Operationen können einen "Doppelklick" erfordern, wobei die Taste/der Schalter zwei Mal hintereinander gedrückt und schnell losgelassen wird. Bei einer "Ziehen und Ablegen"-Operation wird der Cursor oder die Zeicheneinrichtung auf einem graphischen Objekt positioniert, wobei dann die mit der Cursor-Steuereinrichtung oder Zeicheneinrichtung assoziierte Taste gehalten wird, und das Objekt verschoben oder gern, gestreckt wird, bis die Taste losgelassen wird (oder die Bewegung eine vorbestimmte Grenze überschreitet).
  • Die gegenwärtig bevorzugte Ausführungsform der vorliegenden Erfindung ist auf einem Liveßoard (Handlesname)-System implementiert, das unter der Steuerung eines Tafelemulations-Steuerprogramm wie etwa der Anwendung Meeting BoardTM betrieben wird (sowohl das Liveßoard als auch die Anwendung Meeting Board (Handelsname) werden von LiveWorks, einer Unterteilung der Xerox Corporation, hergestellt). Dabei ist zu beachten, dass eine Version der Meeting Board-Anwendung kommerziell bei LiveWorks unter der Bezeichnung Meeting Desk erhältlich ist und auf einem System der Personal Computer- Klasse betrieben werden kann.
  • Fig. 4 ist ein Zustandsdiagramm, das auf sehr hoher Ebene den allgemeinen Betrieb eines Grafik-basierten Computersystems zeigt, das die gegenwärtig bevorzugte Ausführungsform der vorliegenden Erfindung betreibt. Die Absicht dabei ist, eine Arbeitsoberfläche vorzusehen, in der die Ergebnisse von Editieroperationen auf graphischen Objekten in dem gekachelten Arbeitsraum auf intuitive und stimmige Weise ausgeführt werden. Aus der vorstehenden Beschreibung wird deutlich, dass in der gegenwärtig bevorzugten Ausführungsform derartige Editieroperationen strukturierte Operationen sind. Es ist jedoch auch die Implementierung von anderen Typen von Editieroperationen auf graphischen Objekten möglich, welche die gekachelte Arbeitsoberfläche in vorteilhafter Weise nutzen. Wie in Fig. 4 gezeigt, befindet sich das System 401 in einem Zustand, in dem es Aktionen vom Benutzer feststellt. In diesem Zustand führt der Benutzer Editieroperationen in dem Arbeitsraum wie etwa das Hinzufügen, Löschen oder andersartige Manipulieren von graphischen Objekten durch. Allgemein sind für den Benutzerinteraktionszustand 401 vier breite Kategorien von Gesten oder Aktionen relevant: eine Grenzenauswahlaktion 402, eine Grenzen-Erstellungsaktion 403, eine Strukturoperationsaktion 404 oder eine Bereichsauswahlaktion 405.
  • Wenn eine Grenzenauswahlaktion 402 festgestellt wird, wird in einen Strukturierte-Grenze- Aktualisierungszustand 406 eingetreten. Aus dem Strukturierte-Grenze-Zustand 406 kann eine Grenze gelöscht (Grenze-Löschen-Zustand 407) oder geändert werden (Grenze- Ändern-Zustand 408). In den Grenze-Löschen-Zustand 407 wird in Folge einer Löschaktion 415 oder in Folge des Löschens eines Bereichs (weiter unten beschrieben) eingetreten. In den Grenze-Ändern-Zustand 408 wird in Folge einer Grenze-Ändern-Aktion 416 oder in Folge des Verschiebens eines Bereichs (weiter unten beschrieben) eingetreten. Das Ändern einer Grenze kann das Verschieben, Dehnen oder Kontaktieren derselben umfassen: Die Effekte des Löschens und Änderns werden weiter unten ausführlicher beschrieben.
  • Wenn eine Grenze-Hinzufügen-Aktion 403 festgestellt wird, wird in einen Strukturierte- Grenze-Erstellen-Zustand 409 eingetreten, in dem eine Grenze erstellt und zu der Arbeitsoberfläche hinzugefügt wird.
  • Wenn eine Strukturoperation-Aktion 404 festgestellt wird, wird in einen Strukturoperation-in- Bereich-Zustand 410 eingetreten. Dabei ist zu beachten, dass eine Strukturoperation eine Operation ist, die eine Gruppe von graphischen Objekten mit einer inhärenten Beziehung betrifft. Die Strukturoperation ist 1) eine Operation, die für die Struktur "natürlich" ist und 2) die inhärente Beziehung der Struktur aufrechterhält. Eine Operation kann beispielsweise darin bestehen, ein Element in einer Liste einzufügen oder zu verschieben. Wenn das Element eingefügt wird, werden die Elemente unter der Einfügeposition erwartungsgemäß "nach unten verschoben". Während des Verlaufs der Strukturoperation können verschiedene Nebeneffekte 411 auftreten, z. B. das Verschieben von Elementen in einer Liste, wodurch veranlasst werden kann, dass sich der Bereich erweitert oder kontrahiert. Deshalb wird in einen Erweiterungs-oder-Kontraktions-Zustand 415 eingetreten. Eine derartige Erweiterung oder Kontraktion kann eine Änderung einer Grenze veranlassen. Deshalb wird in einen Grenze-Ändern-Zustand 408 eingetreten.
  • Wenn eine Bereich-Auswahl-Aktion 405 festgestellt wird, wird in einem Bereichoperations- Zustand 412 eingetreten. In dem Bereichsoperations-Zustand 412 kann ein Bereich verschoben (Bereich-Verschieben-Zustand 413) oder gelöscht werden (Bereich-Löschen- Zustand 414). In den Bereich-Verschieben-Zustand 413 wird eingetreten, wenn eine Verschiebungsaktion 418 durchgeführt wird. Wenn ein Bereich verschoben oder geändert wird, erfordert dies gewöhnlich, dass eine Grenze verschoben wird, so dass in den Grenze- Ändern-Zustand 408 eingetreten wird. Wenn ein Bereich gelöscht wird, erfordert dies gewöhnlich, dass eine oder mehrere Grenzen gelöscht werden, so dass in den Grenze- Löschen-Zustand 407 eingetreten wird.
  • Die Effekte dieser Operationen auf die Arbeitsoberfläche und die in den verschiedenen Bereichen enthaltenen graphischen Objekte werden durch die folgende Beschreibung verdeutlicht.
  • Eine strukturierte Grenze ist ein Tintenstrich, der visuelle als ein gerades horizontales oder vertikales Liniensegment dargestellt wird, das an einem Ende begrenzt und am anderen Ende entweder begrenzt oder unbegrenzt ist. Dabei ist zu beachten, dass die Arbeitsoberfläche der gegenwärtig bevorzugten Ausführungsform als der untere rechte Quadrant eines X-Y-Koordinatensystems definiert ist. Eine horizontale Grenze ist immer wenigstens links durch die Y-Achse begrenzt und kann an ihrem rechten Ende unbegrenzt sein, wenn keine vertikale Grenze dazwischen liegt. Entsprechend ist eine vertikale Grenze immer wenigstens oben durch die X-Achse begrenzt und kann unten unbegrenzt sein, wenn keine horizontale Grenze dazwischen liegt.
  • Fig. 5 stellt eine Arbeitsoberfläche dar, die durch eine Vielzahl von strukturierten Grenzen gekachelt ist. In Fig. 5 können drei Typen von Grenzen definiert werden: Standard, Verankert und Durchfluss. Diese werden als unterschiedliche Linientypen angezeigt. Eine Standardgrenze ist an der Grenze 501 dargestellt. Standardgrenze werden mit einer Standard-Linienbreite angezeigt. Eine wie oben beschriebene gerade Linien-Geste erstellt eine Standardgrenze. Standardgrenzen können ausgewählt und verschoben werden und sie können als Nebeneffekt von bestimmten Operationen (z. B. in Folge der weiter unten beschriebenen automatischen Bereichserweiterung) automatisch verschoben werden.
  • Eine Ankergrenze ist an der Grenze 502 dargestellt. Ankergrenzen werden als "dicke" Linien angezeigt. Ankergrenzen bewegen sich nicht in Folge einer Strukturoperation (sie können jedoch ausgewählt und dann durch den Benutzer verschoben werden). Ankergrenzen stellen ein "absolutes" Hindernis für eine automatische Anpassung der Kachelung der Arbeitsoberfläche dar.
  • Flussgrenzen sind an der Grenze 503 dargestellt. Flussgrenzen werden als gestrichelte Linien angezeigt. Gestrichelte Grenzen grenzen Spalten in einem Flussbereich ab (weiter unten beschrieben).
  • Grenzen weisen auch untereinander Beziehungen auf. Derartige Beziehungen sind in Fig. 5 dargestellt. Wie in Fig. 5 gezeigt, weist die Grenze 504 eine abhängige Grenze 505 auf. Die Grenze 505 ist von der Grenze 504 abhängig, denn wenn die Grenze 504 geändert oder gelöscht werden würde, dann müsste auch die Grenze 505 geändert oder gelöscht werden, um eine rechteckige Kachelung aufrechtzuerhalten. Das Ändern und Löschen von Grenzen wird weiter unten ausführlicher beschrieben.
  • Die Grenze 506 weist eine lineare Beziehung zu der Grenze 507 auf. Diese werden jeweils als lineare Erweiterungen voneinander bezeichnet.
  • Es ist nützlich, strukturierte Grenztypen ändern zu können. In der gegenwärtig bevorzugten Ausführungsform werden die bestehende Liniendicken- und Typensteuerungen verwendet, um Grenztypen zu ändern.
  • Es ist jedoch nützlich, dass strukturierte Grenzen andere Eigenschaften aufweisen als gewöhnliche Linien (die gewöhnlich in einem Systemzeichen-Betriebsmodus erstellt werden). Beispielsweise kann eine strukturierte Grenze nicht einfach unter Verwendung eines Löschwerkzeugs gelöscht werden (dies ist im Gegensatz zu einem durchführbaren Löschen zu sehen). Wie weiter unten beschrieben, kann das Löschen einer strukturierten Grenze ungewünschte Folgen wie das Löschen von abhängigen Grenzen haben. Weiterhin müssen strukturierte Grenzen einfach erkannt werden können, damit Operationen schneller identifiziert und durchgeführt werden können. Deshalb weist eine strukturierte Grenze eine interne Wiedergabe auf, die Information enthält, um anzugeben, dass es sich tatsächlich um eine Grenze handelt.
  • Eine strukturierte Grenze kann auf verschiedene Weise erstellt werden. Eine erste Möglichkeit besteht darin, eine Freihand-Geradlinien-Geste zu machen. Die neu erstellte Grenze wird an der Position der Geste platziert, wobei ihre Endpunkte sich erstrecken, bis sie die nächste Grenze (oder eine Seite des Arbeitsraums) auf den zu der Geste senkrechten Seiten kontaktieren. Wenn keine zu verbindenden Grenzen bestehen, ist die Grenze unbegrenzt (zum Beispiel wurde eine vertikale Grenze ohne horizontale Grenze definiert). Das Erstellen mittels einer Geste ist in Fig. 6-7 dargestellt.
  • Wie in Fig. 6 gezeigt, definieren die bestehenden vertikalen Grenzen 601 und 602 Spalten, wobei eine Geste 603 gemacht wurde, um eine horizontale Grenze innerhalb der zweiten Spalte der Arbeitsoberfläche zu erstellen. Fig. 7 zeigt die resultierende horizontale Grenze 701.
  • In dem oben dargestellten Verfahren muss ein freier horizontaler Raum für die neue Grenze vorhanden sein. Manchmal möchten Benutzer, dass eine Grenze Objekte unterteilt, wo kein freier horizontaler oder vertikaler Raum für eine horizontale oder vertikale Grenze vorhanden ist. Deshalb besteht ein zweites Verfahren zum Erstellen einer Grenze darin, eine willkürliche Kurvengeste von einer Grenze zu einer anderen Grenze (oder zu der Kante der sichtbaren Anzeige) zu zeichnen. In diesem Fall werden die Objekte verschoben, um einen freien horizontalen oder vertikalen Raum für die neue Grenze zu schaffen. Das Ergebnis ist eine gerade Grenze, wobei die Objekte automatisch angepasst werden, so dass sie in die durch die Gesten angegebenen Bereiche gehören. Dies wird in Fig. 8-9 dargestellt.
  • In Fig. 8 ist eine Linie 803 zwischen den vertikalen Grenzen 801 und 802 gezeichnet. Die Linie 803 ist nicht gerade und unterteilt den sichtbaren Inhalt des Bereichs in zwei distinkte Teile, von denen der eine Tokyo, Shanghai und Toronto und der andere Vancouver und Moskau enthält.
  • Fig. 9 zeigt das Ergebnis des Zeichnens der Linie, die die zwei Grenzen verbindet. Die Linie 901 ist gerade und hat die Marken Vancouver und Moskau unter die Linie 901 "geschoben".
  • Eine dritte Möglichkeit zum Erstellen einer strukturierten Grenze wird verwendet, um Flussbereiche und damit Flussgrenzen zu erzeugen. Dies wird im Folgenden ausführlicher beschrieben.
  • Grenzen können wie jedes andere graphische Objekt manipuliert werden. Um manipuliert werden zu können, muss eine Grenze "ausgewählt" werden. In der gegenwärtig bevorzugten Ausführungsform kann eine Grenze durch eine Tippgeste (durch das Tippen auf dieselbe) ausgewählt werden. Die Auswahl einer Grenze veranlasst deren Hervorhebung.
  • In der gegenwärtig bevorzugten Ausführungsform können eine strukturierte Grenze und ihre geradlinigen Erweiterungen durch ein doppelten Tippen auf dieselbe ausgewählt werden.
  • Dies ist in Fig. 10-11 dargestellt. In Fig. 10 wurde eine strukturierte Grenze 1001 über ein einfaches Tippen ausgewählt. In Fig. 11 wurde doppelt auf die Grenze 1001 getippt, so dass die Grenze 1001 und auch die geradlinigen Erweiterungen 1101 und 1102 ausgewählt wurden.
  • Um dem Benutzer beim Ausrichten von Grenzen behilflich zu sein, wenn Grenzen erstellt oder verschoben werden, können diese auf einem unsichtbaren Hintergrundgitter mit einer kleinen und fixen Gittergröße einschnappen.
  • Die Auswahl einer strukturierten Grenze hebt auch die von dieser Grenze abhängigen Grenzen hervor. Für eine bestimmte Grenze sind die abhängigen Grenzen als diejenigen Grenzen definiert, die entfernt werden müssen, um eine rechteckige Kachelung der Arbeitsoberfläche auch dann zu erhalten, wenn die "übergeordnete" Grenze entfernt wird. Abhängige Grenzen können auch gestreckt oder kontrahiert werden, wenn die übergeordnete Grenze verschoben wird. Abhängige Grenzen einer ausgewählten Grenze sind in Fig. 12 dargestellt. In Fig. 12 ist die Grenze 1202 von der Grenze 1201 abhängig. Wenn nämlich die Grenze 1201 gelöscht wird, würde die Grenze 1202 die rechteckige Kachelung der Arbeitsoberfläche verletzen. Wie in Fig. 12 dargestellt, entsteht eine Situation einer abhängigen Grenze, wenn zwei Grenzen einander schneiden und eine "T"-Form bilden. Die abhängige Grenze ist die Grenze, die den Querbalken der "T"-Form bildet.
  • Ausgewählte Grenzen können gelöscht werden (z. B. unter Verwendung einer Löschgeste wie etwa einer "Pigtail"-Geste). Bei strukturierten Grenzen werden mit dem Löschen auch die abhängigen Grenzen gelöscht.
  • Ausgewählte Grenzen können mittels einer Zeichenoperation verschoben werden. Bei strukturierten Grenzen wird die Verschiebung durch andere Grenzen und Objekte behindert (so als ob diese physikalische Objekte wären, welche die Bewegung stoppen). Dies ist in Fig. 13 dargestellt. In Fig. 13 wird die ausgewählte Grenze 1301 durch die Grenze 1302 und durch das Objekt 1303 behindert. Der Bewegungsbereich für die ausgewählte Grenze 1301 ist zwischen diesen beiden Objekten. Weiterhin können sich abhängige Grenzen strecken oder kontrahieren, um die rechteckige Kachelstruktur aufrechtzuerhalten. Dies ist in Fig. 14 dargestellt. In Fig. 14 wurde die ausgewählte Grenze 1401 zu einer neuen Position verschoben, während die abhängige Grenze 1402 gestreckt wurde, um in Übereinstimmung mit einer rechteckigen Kachelstruktur in Kontakt mit der Grenze 1401 zu bleiben.
  • Ein Bereich ist eine durch Grenzen begrenzte Fläche des Arbeitsraums. Wenn die Grenzen strukturierte Grenzen sind, ist der Bereich rechteckig.
  • Dabei ist zu beachten, dass Bereiche und die damit assoziierten Grenzen auf der Basis der ausgewählten graphischen Objekte definiert werden. Dies wird weiter unten bei der Erläuterung von komplexen Bereichen deutlich.
  • In der gegenwärtig bevorzugten Ausführungsform sind strukturierte Operationen zum Gruppieren und Manipulieren von Listenelementen verfügbar. Die vorliegende Erfindung begrenzt diese Operationen auf das Innere von Bereichen. Im einfachsten Fall betrifft eine Listenoperation nur die Objekte in einem einzigen Bereich, ohne dass das Layout der Objekte im Rest der Arbeitsoberfläche gestört wird. Dies ist in Fig. 15-16 dargestellt. Wie in Fig. 15 gezeigt, muss in Bereich 1501 ein Element 1503 in der Liste 1502 neu positioniert werden. Diese Neupositionierung ist in Fig. 16 dargestellt. Dabei ist zu beachten, dass keine Objekte außerhalb des Bereichs 1501 betroffen werden.
  • Ein anderer einfacher Fall besteht in der Durchführung einer Listenoperation zwischen zwei Bereichen. Dies ist in Fig. 17-18 dargestellt. Wie in Fig. 17 dargestellt, wird ein Element 1702 aus dem Bereich 1701 zu einer Liste 1704 im Bereich 1703 verschoben. Das Ergebnis ist in Fig. 18 gezeigt. Dabei ist zu beachten, dass keine Objekte außerhalb der Bereiche 1701 und 1703 betroffen werden.
  • In der gegenwärtig bevorzugten Ausführungsform sind Bereiche "implizite" Objekte, da sie "on-the-fly" für die Dauer einer spezifischen Operation berechnet werden. Die Position, Größe und der Umfang für den relevanten Bereich werden automatisch durch die Aktionen des Benutzers bestimmt. Wenn der Benutzer beispielsweise eine Auswahl macht, berechnet das System den Bereich auf der Basis der Position und Größe der Auswahl - es handelt sich um den Bereich, der durch die nächsten vier Grenzen um die Auswahl herum begrenzt wird.
  • Komplexe Bereiche sind Bereiche, die bestimmte Grenzen oder Teilbereiche enthalten. Ein Bereich mit einer darin enthaltenen Grenze ist in Fig. 19 gezeigt. In Fig. 19 werden die Grenzen 1901 und 1902 durch strukturierte Grenzen begrenzt. Die Grenze 1905 grenzt den Bereich 1901 vom Bereich 1902 ab. Der Benutzer kann ein Listenelement auswählten, z. B. Listenelemente oder eine ganze Reihe von Listenelementen über mehrere Bereiche, z. B. die Auswahl 1903. Dabei überlappt die Auswahl eine Grenze. In diesem Fall werden die Grenzen, welche die Auswahl überlappen, vorübergehend als "umgebend" betrachtet, d. h. die Grenze 1905, wobei die Interpretation dahin geht, dass ein Bereich für die Dauer der eingeleiteten Listenoperation vorhanden ist.
  • Ein Flussbereich ist eine Abfolge von Spalten, in denen eine Liste von einer Spalte zu der nächsten fortgesetzt wird. Die Spalten werden durch Durchflussgrenzen unterteilt, die als gestrichelte Grenzen gezeigt sind. Dies ist mit Bezug auf Fig. 20 dargestellt. Wie in Fig. 20 dargestellt, umfassen die Spalten 2001-2003 einen Flussbereich mit einer Liste von Elementen. Die Listenoperationen eines Flussbereichs veranlassen eine Neuformatierung der Liste, wobei Elemente (per Animation) über die Durchflussgrenzen "fließen", um eine Lücke zu füllen oder Raum für eine Einfügung zu schaffen. Listenoperationen können innerhalb eines einzigen Flussbereichs oder zwischen zwei Flussbereichen auftreten. Dies ist in den Fig. 21-22 und 23-24 dargestellt.
  • In Fig. 21 ist ein Listenelement 2101 ("Singapur") von einer Spalte 2102 zu einer Spalte 2104 zu verschieben. Fig. 22 stellt den resultierenden "Fluss" nach der Bewegung des Listenelements 2101 ("Singapur") dar. Dabei ist zu beachten, dass Elemente in den verschiedenen Spalten verschoben werden. Aus der Spalte 2102 wird das Listenelement 2101 ("Singapur") verschoben und von der Spalte 2103 wird das Listenelement 2201 ("Toronto") verschoben. Aus der Liste 2103 wird das Listenelement 2201 ("Toronto") verschoben und von der Spalte 2104 wird das Listenelement 2202 ("Moskau") verschoben. Aus der Spalte 2104 wird das Listenelement 2202 ("Moskau") verschoben und das Listenelement 2101 ("Singapur") wird hinein verschoben. Andere betroffene Element werden innerhalb der Spalten verschoben und dementsprechend nach oben oder unten bewegt.
  • In Fig. 23 wird ein Listenelement 2301 ("Paris") von einer Spalte 2302 eines ersten Flussbereichs 2305 zu einer Spalte 2303 eines zweiten Flussbereichs 2304 verschoben. Fig. 24 stellt die Effekte der Verschiebung des Listenelements 2301 ("Paris") auf die verschiedenen Spalten der Flussbereiche 2304 und 2305 dar. In dem Flussbereich 2304 wurde die Liste der Elemente vergrößert, so dass der resultierende Flussbereich veranlasst, dass ein zusätzliches Element in der Spalte 2401 platziert wird. In dem Flussbereich 2305 wurde die Liste der Elemente verkleinert, so dass der resultierende Fluss das Verschieben aller Elemente in der Spalte 2402 veranlasst hat. Die Auswirkung auf die Spalte 2402 zeigt weiterhin, dass der Fluss der Elemente auf der Elementgröße basiert, weil zwei Elemente durch ein einzelnes Element größerer Größe ersetzt wurden.
  • Flussbereiche sind insbesondere nützlich, um mit langen Listen zu arbeiten. Sie sehen eine Möglichkeit vor, um mit einer langen Liste auf einer einzelnen Seite zu arbeiten, die nicht vollständig angezeigt werden kann, weil das Anzeigefenster zu kurz ist. Ein gewöhnliches Beispiel für eine derartige Liste ist das Ergebnis einer Brainstorming-Sitzung. In der gegenwärtig bevorzugten Ausführungsform ist eine Operation vorgesehen, die eine lange Liste neu formatiert, indem sie einen Flussbereich erstellt, und dann die Listenelemente skaliert und diese in dem Flussbereich platziert, so dass alle Element auf dem Anzeigefenster sichtbar sind.
  • Dies ist in Fig. 25-26 dargestellt. Wie in Fig. 25 gezeigt, enthält ein Arbeitsraum 2501 eine Liste 2502. Die Liste 2502 erstreckt sich über die Grenzen der Anzeige (hier als Anzeigegrenze 2503 dargestellt). Die gesamte Liste kann also nicht gleichzeitig auf dem Bildschirm angezeigt werden. In Fig. 26 wurde dei Liste neu in einen Flussbereich formatiert, der vollständig auf der Anzeige angezeigt werden kann.
  • Eine Grundoperation wird als das Formatieren einer Liste bezeichnet. Dabei wird eine Liste genommen und in einen Flussbereich mit einer bestimmten Größe eingepasst. In dem Flussbereich wird die erforderliche Anzahl von Spalten erstellt, wobei die Listenelemente gleichmäßig auf die erforderliche Größe skaliert werden. Die Technik zum Formatieren einer Liste wählt die Anzahl der Spalten, welche die Skalierung der Elemente maximiert.
  • In der gegenwärtig bevorzugten Ausführungsform wird die Erstellung von Flussbereichen unter Verwendung von einer der folgenden Techniken bewerkstelligt:
  • 1. Durch das Ändern von bestehenden Grenzen zu Durchflussgrenzen
  • a) Der Benutzer wählt eine bestehende Grenze, indem er auf dieselbe tippt
  • b) Der Benutzer editiert die Linieneigenschaften zu den gestrichelten Linien einer Durchflussgrenze.
  • Folgende Listenoperationen interpretieren die Elemente als zu einer einzigen Liste gehörig, die durch die Durchflussgrenzen fließt.
  • 2. Durch das Quetschen eines Bereichs mit einer darin enthaltenen Liste
  • Das Quetschen eines Bereichs ist eine Technik zum Reduzieren der Größe des Bereichs, die das Skalieren von Elementen in dem Bereich und das Reduzieren der Größe der nicht verwendeten Fläche in dem Bereich umfassen kann. Wenn ein Bereich eine Liste enthält, kann diese gequetscht werden, so dass der Bereich zu einem Flussbereich gewandelt wird.
  • Das allgemeine Konzept des Quetschens wird weiter unten ausführlicher beschrieben. In jedem Fall werden beim Erstellen eines Flussbereichs die folgenden Schritte ausgeführt:
  • a) Der Benutzer wählt die untere Grenze eines Bereichs, der eine Liste enthält.
  • b) Der Benutzer zieht die ausgewählte Grenze unter das unterste Element in der Liste.
  • c) Das System erstellt automatisch neue Durchflussgrenzen, um zusätzliche Spalten zum Unterbringen der Liste vorzusehen, wobei die Liste in den neuen Flussbereich umformatiert wird.
  • Dies ist in Fig. 27-29 dargestellt. In Fig. 27 zieht der Benutzer die untere Grenze 2701 des Bereichs, der die Liste 2702 enthält. Wenn der Benutzer in Fig. 28 die ausgewählte Flussgrenze 2701 über eine kritische Höhe hinaus zieht, d. h. über ein Höhe, die geringer ist als die Gesamthöhe aller Listenelemente 2801, wird die hervorgehobene Flussgrenze 2802 als Feedback für den Benutzer angezeigt, um anzugeben, dass Flussgrenzen erstellt werden und die Listenelemente in den Flussbereich umformatiert werden. Der resultierende Flussbereich ist in Fig. 29 dargestellt.
  • Weil in der gegenwärtig bevorzugten Ausführungsform Listenelemente skaliert werden können, besteht keine Beschränkung dazu, wie stark der Benutzer einen Bereich quetschen kann, um einen Flussbereich zu erzeugen. Es ist jedoch eine praktische Beschränkung dadurch gegeben, was der Benutzer sehen kann. Die gegenwärtig bevorzugte Ausführungs form lässt den Benutzer diese praktische Beschränkung bestimmen.
  • Dabei ist zu beachten, dass die gegenwärtig bevorzugte Ausführungsform weiterhin eine Operation zum "Entquetschen" unterstützt, in der die Anzahl von Spalten in einem Flussbereich reduziert wird, indem die untere Grenze nach unten verschoben wird, um einen größeren Flussbereich zu erzeugen.
  • 3. Durch eine Operation zum Komprimieren einer Liste auf die sichtbare Arbeitsoberfläche
  • a) Der Benutzer wählt alle Listenelemente auf einer Arbeitsoberfläche ohne Grenzen (z. B. ist die Liste das Ergebnis einer Brainstorming-Sitzung).
  • b) Der Benutzer ruft "Liste auf sichtbare Arbeitsoberfläche komprimieren" über ein Menü auf oder macht eine Doppelte-Horizontallinie-Geste über der Auswahl (dies ist ein mnemotechnisches Hilfsmittel zum Aufteilen der Liste).
  • c) Das System erstellt automatisch eine neue Grenze an der Unterseite der sichtbaren Arbeitsoberfläche sowie einen Satz von Durchflussgrenzen, um Spalten zum Aufnehmen der Liste vorzusehen, wobei die Liste zu dem neuen Flussbereich umformatiert wird, was das Skalieren der Listenelemente umfassen kann.
  • Fig. 30 ist ein Flussdiagramm, das die Schritte zum Formatieren einer Liste zu einem Flussbereich beschreibt. Zuerst wird eine Größe für den Flussbereich mittels der Technik bestimmt, mit der er erstellt wurde (Schritt 3001). Dann wird eine spaltenförmige Organisation bestimmt, die es ermöglicht, dass die Liste in den Flussbereich passt. Erstens wird auf der Basis der Größe des Flussbereichs und der Listenelemente eine Spaltenanzahl "n" bestimmt, die den größten Skalierungsfaktor aufweist, der die Liste in n Spalten innerhalb des Flussbereichs einpasst (Schritt 3002). Allgemein kann der Schritt 3002 durch das Testen von verschiedenen Spaltenanzahlen und das Bestimmen eines jeweils entsprechenden Skalierungsfaktors (d. h. des Reduzierungsfaktors der Elemente), bei dem die gesamte Liste in den Flussbereich passt, durchgeführt werden. Die Spaltenanzahl mit dem größten Skalierungsfaktor wird dann ausgewählt.
  • Als nächstes wird der Flussbereich in "n" gleiche Spalten mit Flussgrenzen unterteilt, die innerhalb des Bereichs angezeigt werden (Schritt 3003). Schließlich werden die Listenelemente skaliert und innerhalb der entsprechenden Spalten positioniert (Schritt 3004). Zuletzt werden der Flussbereich und die Liste angezeigt (Schritt 3005). In der gegenwärtig bevorzugten Ausführungsform erfolgt die Positionierung der Spalten von links nach rechts. Die Spalte rechts außen kann unten eine Lücke aufweisen. Natürlich können aber auch andere Mappings verwendet werden, wobei die Elemente beispielsweise gleichmäßig in den Spalten platziert werden.
  • Ebenso wie Grenzen können auch Bereiche ausgewählt und verschoben werden. Das Verschieben eines Bereichs verursacht auch, dass graphische Objekte innerhalb der Bereichs verschoben werden. In der gegenwärtig bevorzugten Ausführungsform wird die Auswahl eines Bereichs durch das Zeichnen von eckigen Klammern ([) oder L-förmigen Gesten, welche die ausgewählten Bereiche angeben, vorgenommen. Die Auswahl unter Verwendung von eckigen Klammern ist in Fig. 31-32 dargestellt. Wie in Fig. 31 gezeigt, wird eine Eckige-Klammern-Geste 3101 derart aufgerufen, dass die Ecken 3105 und 3106 des Klammerngeste 3101 mit den horizontalen Grenzen 3102 und 3103 des Bereichs 3104 ausgerichtet werden. Die Auswahl ist in Fig. 32 durch gestrichelte Linien um den Bereich 3104 herum angegeben.
  • Die Auswahl unter Verwendung von L-förmigen Gesten ist in Fig. 33-34 dargestellt. In Fig. 33 ist der Bereich 3304 auszuwählen. Eine erste L-förmige Geste 3301 veranlasst, das die Grenzen 3302 und 3303 sowie deren lineare Erweiterungen ausgewählt werden. Dadurch werden die Grenzen des Bereichs 3304 deutlich überschritten. Wie in Fig. 34 gezeigt, beschränkt eine zweite L-förmige Geste 3401 die Auswahl weiterhin auf den Bereich 3304.
  • Wie eine ausgewählte Grenze kann ein ausgewählter Bereich durch Ziehen verschoben werden. Die Bewegung ist auf die horizontale und vertikale Richtung beschränkt. Die Verschiebung in der vertikalen Richtung ist in Fig. 35-36 dargestellt. In Fig. 35 ist ein ausgewählter Bereich 3501 zu einem Punkt 3502 (hier zur Illustration gezeigt) zu verschieben. Das Ergebnis der Verschiebung ist in Fig. 36 dargestellt. Dabei ist zu beachten, dass in Fig. 35 die horizontale Grenze 3503 eine lineare Erweiterung 3504 aufweist. Wie wir jedoch aus Fig. 36 sehen, wird die lineare Erweiterung 3504 nicht mit dem Bereich 3501 verschoben. Da jedoch die vertikalen Grenzen 3509 und 3510 verschoben werden, werden deren lineare Erweiterungen modifiziert Dabei werden die linearen Erweiterungen 3507 und 3508 gekürzt, während die linearen Erweiterungen 3505 und 3506 gedehnt werden.
  • Das Verschieben eines Bereichs in der horizontalen Richtung ist in Fig. 37-38 dargestellt. In Fig. 37 ist der Bereich 3701 zu einem Punkt 3702 zu verschieben (hier zur Illustration gezeigt). Das Ergebnis der Verschiebung ist in Fig. 37 dargestellt. Wie bei der vertikalen Verschiebung werden die linearen Erweiterungen der vertikalen Grenzen 3703 und 3704 nicht verschoben und werden die horizontalen linearen Erweiterungen dementsprechend gekürzt oder gedehnt.
  • Die Verschiebung von Bereichen wird außerdem durch vorhandene Objekte oder Grenzen beschränkt. Dies ist in den Fig. 39-40 dargestellt. In Fig. 39 ist die Verschiebung des Bereichs 3901 in der vertikalen Richtung durch die obere horizontale Grenze 3902 in der Aufwärtsrichtung und durch das graphische Objekt 3903 in der Abwärtsrichtung beschränkt. In Fig. 40 ist in der horizontalen Richtung die Verschiebung des Bereichs 4001 nach links durch die linke Grenze 4002 und nach rechts durch das graphische Objekt 4003 beschränkt.
  • Schließlich kann ein ausgewählter Bereich gelöscht werden. Der Effekt des Löschens hängt von der Konfiguration der gekachelten Arbeitsoberfläche ab. Wenn allgemein der ausgewählte Bereich kein Teil einer Gitterorganisation (z. B. einer Tabelle oder eines Tabellenblatts) ist, dann werden auch die graphischen Objekte innerhalb des Bereichs gelöscht, wobei eine Fläche gleich dem durch die gelöschten Objekte freigemachten Raum kontrahiert wird. In der gegenwärtig bevorzugten Ausführungsform wird eine derartige Kontraktion automatisch durchgeführt und kann die Verschiebung verschiedener Grenzpositionen veranlassen. Wenn der ausgewählte Bereich Teil einer Gitterorganisation ist, dann werden die graphischen Objekte in dem Bereich gelöscht, wobei jedoch der ausgewählte Bereich bleibt. Dies wird vorgenommen, um eine Unklarheit bezüglich des Verkleinerns des Bereichs zu vermeiden (d. h. vertikal oder horizontal).
  • Operationen auf impliziten Strukturen wie etwa Listen veranlassen, dass ein strukturierter, begrenzter Bereich automatisch nach rechts oder unten vergrößert wird, wenn eine Strukturierte-Listen-Operation mehr Platz in dem Bereich erfordert. Zu diesen Operationen gehören: a) Verschieben/Kopieren von Elementen in den Bereich, b) Skalieren von Elementen in den Bereich, c) Anzeigen (oder Erweitern) von Listenanmerkungen/Fußnoten. Diese Operationen sind in Fig. 41-42, 43-44 und 45-46 dargestellt.
  • In Fig. 41 wird ein Listenelement 4101 im Bereich 4102 in die Liste 4103 des Bereichs 4104 verschoben. Das Ergebnis ist in Fig. 42 dargestellt, wobei der Bereich 4104 sowohl horizontal als auch vertikal erweitert wurde. Dabei ist zu beachten, dass in Folge auch ein Bereich 4105 vertikal vergrößert wurde. Der Grund dafür liegt darin, dass die Vergrößerung die Grenze der höchsten Ordnung in der rechteckigen Kachelstruktur erhält. Eine strukturierte Grenze, die nach links oder unten verschoben werden muss, nimmt die geradlinigen Erweiterungen dieser Grenze mit sich. Alle Objekte in dem Bereich rechts oder unter der verschobenen Grenzen werden ebenfalls verschoben.
  • In Fig. 43 wird ein Listenelement 4301 im Bereich 4302 auf eine größere Größe skaliert. Das Ergebnis ist in Fig. 44 dargestellt, wobei der Bereich 4302 erweitert wurde, um das vergrößerte Element aufzunehmen.
  • In Fig. 45 ist das Listenelement 4501 im Bereich 4502 mit einer Fußnote 4503 assoziiert. Eine Anzeige- bzw. Vergrößerungsoperation wird auf der Fußnote 4503 durchgeführt. Das Ergebnis ist in Fig. 46 gezeigt, wobei der Bereich 4502 vergrößert wird, um den Inhalt der Fußnote anzuzeigen.
  • Entsprechend werden Bereiche kontrahiert, wenn eine Listenoperation die Entfernung eines freigemachten Raums in einer Liste erfordert. Zu diesen Operationen gehören: a) das Verschieben von Elementen aus dem Bereich, b) das Löschen eines Elements, c) das Herunterskalieren von Elementen d) das Reduzieren von Anmerkungen/Fußnoten. Da eine Kontraktion einfach der umgekehrte Vorgang einer Erweiterung ist, wird hier auf eine separate Beschreibung der Kontraktion verzichtet.
  • Gewöhnlich kann ein Bereich nur so klein wie die Außengrenzen seines Inhalts gemacht werden. Die Operationen zum Ziehen von Grenzen stoppen hier, so als ob sie von einem physikalischen Objekt gestoppt werden würden. Der Benutzer kann jedoch die Größe eines Bereichs weiter reduzieren, indem er überzähligen internen Raum entnimmt (oder eine schmale einspaltige Liste wie oben beschrieben in einen Flussbereich mit mehreren Spalten umformatiert). Dies wird als das "Quetschen" des Bereichs bezeichnet. Wenn der Benutzer eine Grenze auswählt (mit oder ohne deren Erweiterungen) und sie nach oben zieht, erhält der Benutzer ein Feedback (einen "Widerstand" gegenüber dem Ziehen und eine visuelle Änderung in dem Aussehen der Grenze) zu dem Punkt, wo die Grenze auf ein behinderndes Objekt trifft. Zu diesen Punkt kann der Benutzer damit fortfahren, die Grenze weiter nach oben zu ziehen. Wenn der Benutzer mit dem Ziehen aufhört, wird der Raum zwischen den Listenelementen gleichmäßig verkleinert, so dass die Elemente in den jetzt kürzeren Bereich passen. Dies ist in Fig. 47-49 dargestellt. Wie in Fig. 47 gezeigt, wurde die Grenze 4701 ausgewählt und wird nach oben gezogen, um die Liste 4702 zu quetschen. In Fig. 47 wurde die Grenze 4701 zu einer Position unmittelbar unterhalb des unteren Endes der Liste 4702 verschoben. In Fig. 48 wurde die Grenze 4701 zu einer Position oberhalb des unteren Endes der Liste 4702 verschoben. Schließlich wird in Fig. 49 der Bereich gequetscht, so dass die gesamte Liste 4702 angezeigt werden kann.
  • Es besteht natürlich eine Beschränkung bezüglich dessen, wie weit die Grenze gezogen werden kann; diese Grenze wird vorausberechnet und basiert auf der kollektiven Höhe der Listenelemente. Wie jedoch oben beschrieben, kann die Grenze weiter gezogen werden und kann ein Flussbereich erstellt werden.
  • Dabei ist auch zu beachten, dass die gegenwärtig bevorzugte Ausführungsform Gesten zum manuellen Hinzufügen von nicht gebrauchtem Raum (eine Keilgeste) oder zum Löschen von nicht gebrauchtem Raum (eine Pigtail-Geste) vorsieht. Jede Instanz fügt hinzu/entfernt eine Linie zu/aus dem entsprechenden Bereich mit einer vorbestimmten Größe.
  • In der gegenwärtig bevorzugten Ausführungsform sind Strukturoperationen die Editieroperationen, welche die gekachelte Arbeitsoberfläche nutzen. Während der Durchführung von Strukturoperationen können strukturierte Grenzen verschoben werden. Dies wurde oben mit Bezug auf die automatische Erweiterung/Kontraktion von Bereichen beschrieben. Das Flussdiagramm von Fig. 50 stellt die Basis für die Analyse einer Strukturoperation in der gegenwärtig bevorzugten Ausführungsform der vorliegenden Erfindung dar, bei der geprüft wird, ob diese durchgeführt werden kann. Wie in Fig. 50 gezeigt erstellt ein Benutzer während der Verwendung einer elektronischen Tafel ein oder mehrere graphische Objekte, die als strukturierte Grenzen interpretiert werden können (Schritt 5001). Später kann der Benutzer während der Interaktion mit der elektronischen Tafel eine Auswahl von einem oder mehreren graphischen Objekten vornehmen (Schritt 5002). Die Auswahl geht gewöhnlich dem Durchführen einer Strukturoperation voran. Dabei ist zu beachten, dass eine Strukturoperation eine Operation ist, die eine Gruppe von graphischen Objekten betrifft, die eine inhärente Beziehung aufweisen. Die Strukturoperation ist 1) eine Operation, die "natürlich" für die Struktur wäre, wobei sie weiterhin 2) die inhärente Beziehung der Struktur aufrechterhält. Eine Operation kann beispielsweise darin bestehen, ein Element in eine Liste einzufügen oder aus dieser zu entfernen. Wenn das Element eingefügt wird, können die Elemente unter der Einfügeposition erwartungsgemäß "nach unten verschoben werden".
  • Wenn die Auswahl auftritt, identifiziert das System einen "Quellenbereich" (Schritt 5003). Der Quellenbereich wird zu Protokollierungszwecken identifiziert. Sobald die Auswahl auftritt, wird eine Strukturoperation durchgeführt (Schritt 5004). Dies kann beispielsweise das Einfügen eines Elements in eine Liste sein. Bevor die Operation durchgeführt wird, identifiziert das System den Zielbereich (Schritt 5005). Auf der Basis des Zielbereichs bestimmt das System von dem Raum ausgehend, ob die Operation durchgeführt werden kann oder nicht (Schritt 5006). Wie oben beschrieben, kann eine Strukturoperation eine Vergrößerung von Bereichen veranlassen. Die Bereichsvergrößerung kann durch das Vorhandensein von Ankergrenzen oder graphischen Objekten beschränkt werden. So kann nur eine begrenzte Raumfläche für die Vergrößerung verfügbar sein. In jedem Fall prüft das System, ob derartige Beschränkungen vorhanden sind, und schätzt, ob genug Raum für die durchzuführende Strukturoperation verfügbar ist.
  • Wenn das System bestimmt, dass Raum vorhanden ist, wird die Strukturoperation durchgeführt (Schritt 5007). Wie oben bemerkt, kann dies Raumerweiterungen (z. B. können Element in eine Liste in einem Bereich verschoben werden) oder möglicherweise Kontraktionen zur Folge haben. Wenn das System bestimmt, dass kein Raum vorhanden ist, wird die Strukturoperation nicht durchgeführt, wobei dem Benutzer eine Angabe dazu ausgegeben wird, warum die Operation nicht durchgeführt werden kann (Schritt 5008).

Claims (10)

1. Verfahren zum Betreiben eines Computer-gesteuerten Anzeigesystems, so dass eine editierbare Arbeitsoberfläche in eine Vielzahl von distinkten Bereichen unterteilt werden kann, um die Effekte von Editieroperationen zu lokalisieren, wobei das Verfahren folgende Schritte umfasst:
a) ein Benutzer erstellt eine oder mehrere Grenzen (5001) auf der Arbeitsoberfläche, wobei er veranlasst, das die Arbeitsoberfläche in eine Vielzahl von Bereichen gekachelt wird, wobei ein oder mehrere graphische Objekte innerhalb von einem aus der Vielzahl von Bereichen enthalten sein können,
b) der Benutzer wählt eines oder mehrere der graphischen Objekte (5002) auf der Arbeitsoberfläche aus,
c) das System identifiziert einen Quellbereich (5003), der das ausgewählte bzw. die ausgewählten mehreren graphischen Objekte enthält,
d) der Benutzer gibt eine Editieroperation (5004) an, die auf dem ausgewählten bzw. den ausgewählten mehreren graphischen Objekten durchzuführen ist,
e) das System identifiziert einen Zielbereich (5005) zum Durchführen der Editieroperation,
f) das System bestimmt räumliche Dimensionen aus der Editieroperation auf dem Quellenbereich, dem Zielbereich und der gekachelten Arbeitsoberfläche,
g) das System bestimmt auf der Basis (5006) der räumlichen Dimensionen, ob die Editieroperation durchgeführt werden kann,
h) wenn die Operation durchgeführt werden kann, Durchführen der Editieroperation (5007).
2. Verfahren nach Anspruch 1, wobei der Schritt a) weiterhin folgende Schritte umfasst:
a1) der Benutzer führt eine oder mehrere Operationen (403) zum Erstellen von Grenzen aus, um zu veranlassen, dass eine oder mehrere Grenzen auf der Arbeitsoberfläche erstellt werden (409), und
a2) gleichzeitig zu Schritt a1), das System passt die Position der graphischen Objekte auf der Arbeitsoberfläche in Reaktion auf die eine oder mehreren Operationen zum Erstellen von Grenzen an.
3. Verfahren nach Anspruch 2, wobei der Schritt a) weiterhin folgende Schritte umfasst:
a3) der Benutzer initiiert (402, 404, 406) eine oder mehrere Operationen (406, 410, 412) zum Modifizieren von Grenzen,
a4) das System führt eine Operation (408) zum Modifizieren von Grenzen durch, so dass die rechteckige Kachelung der Arbeitsoberfläche nicht zerstört wird.
4. Verfahren nach Anspruch 3, wobei der Schritt a3) weiterhin folgende Schritte umfasst:
a5) der Benutzer wählt eine Grenze (402) aus, und
a6) das System hebt die ausgewählte Grenze sowie alle abhängigen Grenzen hervor, wobei abhängige Grenzen diejenigen Grenzen sind, die bei der Modifikation der ausgewählten Grenze modifiziert werden müssen, um die rechteckige Kachelung der Arbeitsoberfläche aufrechtzuerhalten.
5. Verfahren nach Anspruch 3, wobei der Schritt a4) weiterhin einen Schritt umfasst, in dem das System die Modifikation der Grenze nur dann vornimmt, wenn diese kein vorhandenes graphisches Objekt oder eine andere Grenze (410) kreuzt.
6. Verfahren nach wenigstens einem der Ansprüche 1 bis 5, wobei der Schritt f) weiterhin einen Schritt umfasst, in dem das System eine Distanz bestimmt, um welche die Editieroperation den Quell- und Zielbereich erweitern oder kontrahieren müsste (415).
7. Verfahren nach Anspruch 6, wobei der Schritt g) weiterhin einen Schritt umfasst, in dem das System bestimmt, ob vorhandene Grenzen oder Bereiche verhindern würden, dass der Zielbereich um die Distanz erweitert wird (415).
8. Verfahren nach Anspruch 7, wobei das Ziel eine Listenstruktur umfasst und die Editieroperation eine Operation zum Einfügen eines neuen graphischen Objekts in die Listenstruktur ist.
9. Verfahren nach Anspruch 7, wobei die strukturierten Grenzen Standardgrenzen, die durch eine Bereichserweiterung modifiziert werden können, sowie Ankergrenzen, die nicht erweitert werden können, umfassen und wobei der Schritt zum Bestimmen, ob bestehende Grenzen oder Bereiche verhindern würden, dass der Zielbereich um die Distanz erweitert wird, weiterhin den Schritt zum Identifizierten einer Ankergrenze umfasst, die eine derartige Erweiterung verhindern würde.
10. Computergesteuertes Anzeigesystem zum Erstellen und Anzeigen von graphischen Objekten, wobei das Computer-gesteuerte Anzeigesystem umfasst:
eine Anzeige (104) zum Anzeigen einer editierbaren Arbeitsoberfläche,
eine Grenzen-Erstellungseinrichtung zum Unterteilen der Arbeitsoberfläche in eine Vielzahl von gekachelten Bereichen, die nur ein oder mehrere graphische Objekte enthalten,
eine Grenzen-Editiereinrichtung, die es einem Benutzer erlaubt, eine bestehende Grenze zu editieren, wobei ein gekachelter Arbeitsraum auf der Basis der Grenzen aufrechterhalten wird,
eine Eingabeeinrichtung (105) zum Eingeben von Stiftstrichen auf der Arbeitsoberfläche und zum Initiieren von Operationen auf den graphischen Objekten auf der Arbeitsoberfläche, und
eine Operationen-Verarbeitungseinrichtung (102) zum Verarbeiten von Operationen auf graphischen Objekten auf der Arbeitsoberfläche, wobei die Operationen-Verarbeitungseinrichtung eine Einrichtung zum Isolieren von Operationen umfasst, die auf graphischen Objekten in einem ersten Bereich durchgeführt werden, der durch einen ersten Satz von Grenzen definiert wird, so dass die Operationen keine Auswirkung auf graphische Objekte in einem zweiten Bereich haben, der durch einen zweiten Satz von Grenzen definiert wird,
und wobei die Operationen-Verarbeitungseinrichtung weiterhin eine Einrichtung zum Bestimmen der räumlichen Abmessungen aus den Operationen auf dem ersten Bereich, dem zweiten Bereich und der gekachelten Arbeitsoberfläche umfasst,
um auf der Basis der räumlichen Operationen zu bestimmen, ob die Operationen durchgeführt werden können (5006), und um die Operationen durchzuführen (5007), wenn die Operationen durchgeführt werden können.
DE69707070T 1996-06-26 1997-06-25 Verfahren und Vorrichtung zur Organisation eines Arbeitsraums für ein rechnergesteuertes Anzeigesystem mit Anwendung von Rändern und Regionen Expired - Lifetime DE69707070T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/670,966 US5914718A (en) 1996-06-26 1996-06-26 Method and apparatus for organizing a work space for a computer controlled display system using borders and regions

Publications (2)

Publication Number Publication Date
DE69707070D1 DE69707070D1 (de) 2001-11-08
DE69707070T2 true DE69707070T2 (de) 2002-03-07

Family

ID=24692617

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69707070T Expired - Lifetime DE69707070T2 (de) 1996-06-26 1997-06-25 Verfahren und Vorrichtung zur Organisation eines Arbeitsraums für ein rechnergesteuertes Anzeigesystem mit Anwendung von Rändern und Regionen

Country Status (4)

Country Link
US (1) US5914718A (de)
EP (1) EP0821313B1 (de)
JP (1) JP4001660B2 (de)
DE (1) DE69707070T2 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6819345B1 (en) * 1998-02-17 2004-11-16 Microsoft Corporation Managing position and size for a desktop component
US6154214A (en) * 1998-03-20 2000-11-28 Nuvomedia, Inc. Display orientation features for hand-held content display device
US6356287B1 (en) * 1998-03-20 2002-03-12 Nuvomedia, Inc. Citation selection and routing feature for hand-held content display device
US6181344B1 (en) * 1998-03-20 2001-01-30 Nuvomedia, Inc. Drag-and-release method for configuring user-definable function key of hand-held computing device
US6473102B1 (en) * 1998-05-11 2002-10-29 Apple Computer, Inc. Method and system for automatically resizing and repositioning windows in response to changes in display
US6470095B2 (en) 1998-10-13 2002-10-22 Xerox Corporation Automatic extraction of text regions and region borders for an electronic work surface
US6424338B1 (en) * 1999-09-30 2002-07-23 Gateway, Inc. Speed zone touchpad
US20020111969A1 (en) * 2000-09-28 2002-08-15 Halstead Robert H. System and method for processing graphical objects for layout using an elastic difference operation
US6919890B2 (en) * 2000-09-28 2005-07-19 Curl Corporation Grid and table layout using elastics
FI20010817A (fi) * 2001-04-20 2003-02-14 Nokia Corp Menetelmä informaation esittämiseksi elektroniikkalaitteen näytöllä ja elektroniikkalaite
US7237187B2 (en) * 2002-01-31 2007-06-26 Requisite Technology, Inc. Interactively comparing records in a database
US20040033253A1 (en) * 2002-02-19 2004-02-19 Ihor Shevchuk Acyl opioid antagonists
US7576756B1 (en) * 2002-02-21 2009-08-18 Xerox Corporation System and method for interaction of graphical objects on a computer controlled system
US7360156B1 (en) * 2002-10-09 2008-04-15 Microsoft Corporation Method and system for performing actions on content in a region within a free form two-dimensional workspace
US20040119762A1 (en) * 2002-12-24 2004-06-24 Fuji Xerox Co., Ltd. Systems and methods for freeform pasting
WO2004068331A1 (ja) * 2003-01-30 2004-08-12 Fujitsu Limited 手書き入力装置及び方法
US20040225965A1 (en) * 2003-05-06 2004-11-11 Microsoft Corporation Insertion location tracking for controlling a user interface
JP4491249B2 (ja) * 2003-01-31 2010-06-30 マイクロソフト コーポレーション ユーザインタフェースを制御するための挿入位置の追跡
DE10352341A1 (de) 2003-11-06 2005-11-03 Mediacare Gmbh & Co. Kg Verfahren zur Veränderung der Abmessungen eines elektronisch gespeicherten Bildes
KR100702414B1 (ko) * 2005-02-11 2007-04-02 후지쯔 가부시끼가이샤 수기 입력 장치 및 방법
US7934156B2 (en) 2006-09-06 2011-04-26 Apple Inc. Deletion gestures on a portable multifunction device
US8091045B2 (en) * 2007-01-07 2012-01-03 Apple Inc. System and method for managing lists
US8065603B2 (en) 2007-04-30 2011-11-22 Google Inc. Hiding portions of display content
US9050120B2 (en) * 2007-09-30 2015-06-09 Intuitive Surgical Operations, Inc. Apparatus and method of user interface with alternate tool mode for robotic surgical tools
US20090132939A1 (en) * 2007-11-19 2009-05-21 International Business Machines Corporation Method and apparatus for a floating island for user navigation in an interactive environment
KR101789331B1 (ko) * 2011-04-11 2017-10-24 삼성전자주식회사 가상 공간에서의 정보 공유 장치 및 방법
JP2012243116A (ja) 2011-05-20 2012-12-10 Kyocera Corp 携帯端末、制御方法及びプログラム
JP5360140B2 (ja) * 2011-06-17 2013-12-04 コニカミノルタ株式会社 情報閲覧装置及び制御プログラム並びに制御方法
US9477650B2 (en) 2011-08-30 2016-10-25 Microsoft Technology Licensing, Llc Underlying grid structure and animation of tables
US9400592B2 (en) 2012-03-26 2016-07-26 Sharp Laboratories Of America, Inc. Methods, systems and apparatus for digital-marking-surface space and display management
KR20140120211A (ko) * 2013-04-02 2014-10-13 엘지전자 주식회사 영상 표시 장치 및 그것의 제어 방법
JP5939285B2 (ja) * 2014-08-28 2016-06-22 日本電気株式会社 描画制御装置、情報共有システム、描画制御方法、及び、描画制御プログラム
JP2015165441A (ja) * 2015-06-26 2015-09-17 京セラ株式会社 携帯端末、制御方法及びプログラム
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
US11131967B2 (en) 2019-05-06 2021-09-28 Apple Inc. Clock faces for an electronic device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8618664D0 (en) * 1986-07-31 1986-09-10 British Telecomm Computer aided design system
EP0667567B1 (de) * 1993-12-30 2001-10-17 Xerox Corporation Apparat und Verfahren zur Unterstützung einer impliziten Strukturation von Freiform-Listen, Übersichten, Texten, Tabellen und Diagrammen in einem auf Handzeichen basierenden Eingabesystem und Editiersystem
US5487143A (en) * 1994-04-06 1996-01-23 Altera Corporation Computer user interface having tiled and overlapped window areas

Also Published As

Publication number Publication date
JP4001660B2 (ja) 2007-10-31
DE69707070D1 (de) 2001-11-08
JPH10105364A (ja) 1998-04-24
US5914718A (en) 1999-06-22
EP0821313A1 (de) 1998-01-28
EP0821313B1 (de) 2001-10-04

Similar Documents

Publication Publication Date Title
DE69707070T2 (de) Verfahren und Vorrichtung zur Organisation eines Arbeitsraums für ein rechnergesteuertes Anzeigesystem mit Anwendung von Rändern und Regionen
DE69718721T2 (de) Verfahren und Vorrichtung zum Organisieren und zur Anzeige von langen Datenlisten in einem Arbeitsraum eines Rechneranzeigesystems
DE69719413T2 (de) Verfahren und Gerät zum Gruppieren von graphischen Objekten in einem Rechnersystem mit einer graphischen Benutzerschnittstelle
DE69732547T2 (de) Verfahren und Gerät zum Zusammenklappen und zur Ausdehnung auserwählter Bereiche von Arbeitsräumen auf einem von einem Rechner kontrollierten Anzeigesystem
DE69622492T2 (de) Systeme und verfahren zum positionieren eines schublade-titelbalkens auf einer graphischen benutzerschnittstelle
DE69731434T2 (de) Verfahren und Gerät zur Modifizierung eines Node-Linkdiagramms
DE69426044T2 (de) Methode und Gerät zur Lieferung eines zweidimensionalen positionsempfindlichen Verschiebungicons in einer Benutzerschnittstelle eines Datenverarbeitungssystem
DE69026647T2 (de) Zoommodusbetriebsarten in einem Anzeigegerät
DE3850560T2 (de) Cursorgesteuerter direkter Zugriff zu mehreren Anwendungsprogrammen.
DE69423103T2 (de) Graphische benutzeroberfläche und verfahren zum selektiven öffnen von containerobjekten während verschiebungs- und ablagerungsoperationen
DE69023755T2 (de) Verfahren zum graphischen Zugriff auf elektronische Daten mit beweglichen Ikonen.
DE69425684T2 (de) System und Verfahren zur Verwaltung elektronischer Modellierungssysteme
DE69805986T2 (de) Verfahren und vorrichtung zur konfigurierung von schiebefenstern
DE69418908T2 (de) Verfahren und Gerät zum Informationsanschauen in einer Rechnerdatenbank
DE3586790T2 (de) In linie-dynamischer editor fuer gemischte objectdokumente.
DE69613656T2 (de) Betrieb eines berührungsempfindlichen Bildschirms
DE60201024T2 (de) Multifunktioneller applikations-launcher mit integriertem status
DE3881331T2 (de) Flexible Fensterverwaltung auf einer Rechneranzeige.
DE3586274T2 (de) Vieldaten-edierungsgeraet mit gebrauch von attributstroemen fuer textobjekte.
DE69123173T2 (de) Rollbalken mit vom System oder Benutzer bereitgestellten Informationen
DE69428988T2 (de) Interaktive anwenderschnittstelle
DE69615236T2 (de) Verfahren zur vergrösserten Sichtbarkeit und Auswahlmöglichkeit von Ikonen
DE69130773T2 (de) Elektronische anzeige und datenverarbeitungsvorrichtung
DE69226744T2 (de) Verfahren und System zur stufenweisen Änderung der Fensterabmessung auf einem Anzeigeschirm
DE69523543T2 (de) Taskbar mit Startmenü

Legal Events

Date Code Title Description
8364 No opposition during term of opposition