DE3586272T2 - Integriertes vieldaten-edierungsgeraet. - Google Patents

Integriertes vieldaten-edierungsgeraet.

Info

Publication number
DE3586272T2
DE3586272T2 DE8585109843T DE3586272T DE3586272T2 DE 3586272 T2 DE3586272 T2 DE 3586272T2 DE 8585109843 T DE8585109843 T DE 8585109843T DE 3586272 T DE3586272 T DE 3586272T DE 3586272 T2 DE3586272 T2 DE 3586272T2
Authority
DE
Germany
Prior art keywords
superblock
object set
text
page
flow
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 - Fee Related
Application number
DE8585109843T
Other languages
English (en)
Other versions
DE3586272D1 (de
Inventor
Barbara A Barker
Irene H Hernandez
Rex A Mccaskill
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE3586272D1 publication Critical patent/DE3586272D1/de
Publication of DE3586272T2 publication Critical patent/DE3586272T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)

Description

    Grundlagen der Erfindung
  • Die vorliegende Erfindung bezieht sich im allgemeinen auf einen integrierten Editor für mehrere Daten und im besonderen auf eine Superblockstruktur mit zwei oder mehreren verschiedenen Objektsätzen, die so angeordnet sind, daß sie einander überlappen, aneinander anschließen oder sich ober- oder unterhalb des anderen erstrecken. Die Objektsätze können aus Text, graphischen Darstellungen oder Tabellen bestehen, und die Superblockstruktur wird, nachdem sie einmal geschaffen worden ist, beim Formatieren eines Dokumentes als ein Objektsatz behandelt, was den Formatierungsalgorithmus des Editors vereinfacht.
  • Computer haben nicht nur deshalb in allen Bereichen der Gesellschaft allgemeine Verwendung gefunden, weil sie bei der Lösung vieler Aufgaben effizienter sind als frühere Geräte und Methoden, auch weil in den letzten zehn Jahren ihre relativen Kosten dramatisch gesunken sind. Zunächst waren es die Großrechner, dann die Minicomputer mit Mehrfachterminals, die vielen Mitarbeitern in größeren Unternehmen den Zugang zu Computern ermöglichten. Mit der Entwicklung der Mikrocomputer sowohl für den geschäftlichen wie den privaten Gebrauch arbeiten nun sehr viele Personen mit Computern. Der Trend geht dahin, daß die meisten Computerbenutzer keine Computerfachleute oder Spezialisten auf dem Gebiet der Datenverarbeitungstechnologie sein müssen. Es erwies sich deshalb als notwendig, das zu entwickeln, was im landläufigen Sinne als benutzerfreundliche Computerprogramme bekannt ist, damit der ungeübte Benutzer die gewünschten Aufgaben am Computer ohne ausgedehntes Training erfüllen kann. Eine dafür angewandte Technologie besteht darin, dem Benutzer ein Auswahlmenü für die einzelnen auszuführenden Aufgaben oder Funktionen anzubieten. Ein solches Menü gibt es in Form einer Anzeige auf dem ganzen oder einem Teil des Bildschirmes mit dazugehörigen Leerzeichen für die Menüeingaben, auf die der Cursor durch Tasten auf der Tastatur oder andere Einrichtungen zur Cursorbewegung plaziert werden kann. Die Auswahl der gewünschten Aufgabe oder Funktion erfolgt durch die Plazierung des Cursors in die Leerstelle, die zu dieser Eingabe gehört, und durch das Drücken der ENTER-Taste oder einer anderen dafür vorgesehenen Taste. Ein Programm kann mit einer Reihe von Menüs ausgestattet sein, so daß der Benutzer auf einfache und unmißverständliche Weise durch fortlaufend komplexere Aufgaben und Funktionen geführt wird. Solche Programme werden allgemein als menügesteuerte im Gegensatz zu befehlsgesteuerten Programmen bezeichnet. Im letzteren Fall müssen die vom Benutzer auszuführenden Aufgaben oder Funktionen durch eine Reihe von Befehlen ausgewählt und eingegeben werden. Dies ist eine typische Art früherer Programme und erfordert einiges an Fachkenntnissen und Training beim Benutzer.
  • Um nun die Programme noch benutzerfreundlicher zu gestalten, geht in jüngster Zeit der Trend zu einer Art Integration der Anwendungsbereiche von Computerprogrammen. Ohne Integration muß der Benutzer beispielsweise getrennte Anwendungsprogramme für Textverarbeitung, Datenverarbeitung und graphische Darstellung benutzen, und es ist oft schwierig, die Ausgaben der verschiedenen Anwendungsprogramme innerhalb eines Dokumentes zu kombinieren. Deshalb besteht der Sinn der Integration von Anwendungsprogrammen darin, die Benutzung eines Computers zur Erzielung eines gewünschten Ergebnisses weiter zu vereinfachen. Die Softwareintegration ist in verschiedenen Formen entwickelt worden. Die wahrscheinlich einfachste Form von Integration besteht aus einer Reihe von ähnlich arbeitenden Anwendungsprogrammen, die sich die gleichen Dateien teilen und die gleichen oder ähnliche Befehle zur Ausführung der gleichen oder ähnlicher Funktionen nutzen. Diese Art Integration ist recht leicht einzubauen, damit können aber die Einzelprogramme einer Familie nicht gleichzeitig ablaufen. Gegenwärtig besteht die häufigste integrierte Software aus sogenannten Mehrfachfunktionsprogrammen. Diese sind dadurch gekennzeichnet, daß sie eine Vielzahl von Anwendungen innerhalb eines Programms enthalten. Solche Programme gestatten gewöhnlich die Aufteilung des Bildschirmes in mehrere unterschiedliche Fenster, so als ob jedes ein getrenntes Programm wäre. Üblicherweise umfassen diese Multifunktionsprogramme Textverarbeitung, Tabellenkalkulationen und graphische Darstellungen. Ähnlich den Multifunktionsprogrammen basiert die jetzt aufkommende Integrationstechnologie auf einer Datenbank-Anwendungskonfiguration, in der sich alle Anwendungen einen gemeinsamen Datensatz teilen. Eine ganz andere Verfahrensweise wird benutzt, wenn eine integrierte Betriebskonfiguration vorgesehen ist. Dabei nutzen Einzelprogramme Informationen gemeinsam und erscheinen oft gleichzeitig auf dem Bildschirm, und zwar jedes in seinem eigenen Fenster. Im Gegensatz zu Multifunktionsprogrammen, die sich auf im Standardpaket programmierte Anwendungen beschränken, können einzelne Anwendungen ausgewählt und miteinander kombiniert werden.
  • Integrierte Betriebskonfigurationen sind am besten in objektorientierten Systemen eingebaut. Dies ist eine verhältnismäßig neue Verfahrensweise bei Softwaresystemen, die traditionell zwei Bestandteile haben, die Daten und die Verfahrensabläufe. Die Daten sind die durch die Software bearbeiteten Informationen, und die Verfahrensabläufe stellen einen Baustein der Software dar. Wirkungen treten ein, wenn ein Verfahrensablauf aufgerufen wird und ihm Daten zur Bearbeitung gegeben werden. Das Problem dieser traditionellen Verfahrensweise besteht darin, daß die Daten und die Verfahrensabläufe als voneinander unabhängig behandelt werden, während sie doch tatsächlich miteinander in Beziehung stehen. Demgegenüber gibt es in einem objektorientierten System nur eine Komponente, d. h. das Objekt, das sowohl die Information wie auch deren Bearbeitung umfaßt. Ein Programmierer, der ein objektorientiertes System benutzt, sendet eine Nachricht zum Aufruf einer Verarbeitung aus, er ruft keinen Verfahrensbaustein auf. Die Nachricht enthält einen Symbolnamen, der die Verarbeitung, aber nicht deren Einzelheiten enthält. Das die Nachricht aufnehmende Objekt entscheidet auf der Grundlage der Informationsauswahl über die auszuführende Methode. Die ausführlichsten Untersuchungen zur objektorientierten Verfahrensweise erfolgten bei der Xerox Learning Research Group in Palo Alto, Californien, die Smalltalk entwickelte und realisierte, eine der menschlichen Unterhaltung sehr ähnliche Sprache. Ein Smalltalk-Programmierer realisiert ein System, indem er auszusendende Nachrichten beschreibt und beschreibt, was beim Empfang der Nachrichten geschieht.
  • Smalltalk ist besonders vorteilhaft bei der Softwareentwicklung für den Benutzer von Personalcomputern mit hochauflösenden Anzeigen, Tastaturen, als Positioniereinrichtung wie z.B. eine Maus, und einer Festplatte und einer Prozessoreinheit. Mit einem Positioniercursor wird die laufende Position der Maus auf dem Schirm verfolgt, und damit kann der Benutzer zu jedem angezeigten Objekt gelangen. Im Normalfall hat die Maus einen oder mehrere Betätigungsknöpfe, von denen einer zur Objektauswahl und ein anderer für die Menüdarstellung benutzt werden. Eine solche Anlage wurde von Xerox entworfen und entwickelt, um die Untersuchungen und Weiterentwicklungen von Smalltalk zu erleichtern. Diese Anlage ist der Alto-Computer, und einige Anlagen wurden von Xerox der Stanford University, der Carnegie-Mellon University und dem Massachusetts Institute of Technology für Forschungsprojekte zur Verfügung gestellt. Der Alto-Computer wurde nie kommerziell gefertigt.
  • Anfang 1981 führte Xerox das 8010 Star Information System ein, einen Personalcomputer nach dem Muster des Alto-Computers, der für Fachleute in der Bürotechnik bestimmt war. Der Star ist ein Multifunktionssystem, das die Dokumentenerstellung mit der Datenverarbeitung, dem elektronischen Speichern, Absenden und Drucken kombiniert. die beim Alto-Computer ist auch beim Star- Computer ein wichtiges Bauteil ein in allen Punkten adressierbarer (APA) oder in Bits aufgeteilter Anzeigeschirm, der aufgrund voller graphischer Flexibilität die visuelle Kommunikation wirkungsvoller gestaltet. Die Verfahrensweise bei der Entwicklung des Star-Computers bestand darin, zuerst die grundlegenden Konzepte für den Dialog des Benutzers mit dem System zu erstellen und dann die Software- und Hardware-Vorschriften zu entwikkeln. Die Entwicklung der Benutzerschnittstelle des Star basierte auf einem üblichen Benutzerkonzept, dem Sehen/Positionieren als Gegenstück zu Erinnern/Schreiben, was zu sehen ist, das wird auch ausgedruckt (What you see is what you get - WYSIWYG), also auf einem Satz von universellen Befehlen, auf Reproduzierbarkeit, Einfachheit, einem einfachen Dialog und einer Benutzeranpassung. Innerhalb der Anzeige gibt es Ikonen, die bürotechnische Objekte darstellen, etwa Dokumente, Ordner, Aktenschränke, Ein- und Ausgangs-Körbe. Die Ikonen können "geöffnet" werden, damit sich der Benutzer mit dem Objekt, das die Ikone darstellt, beschäftigen kann. Es können Dokumente gelesen werden, der Inhalt von Ordnern kann durchgesehen werden und Briefe können ge-Prüft werden. Alles, womit sich der Benutzer beschäftigt, und alle dem Benutzer zur Verfügung stehenden Aktionen haben eine sichtbare Darstellung auf dem Bildschirm, so daß der Benutzer niemals die verschiedenen Bedeutungen und Wortlaute beliebiger Tasten rekapitulieren muß. Die Mechanismen, die zum Sichtbarmachen dieser Konzepte benutzt werden, sind die Eigenschafts- und Optionstafeln. Eine Eigenschaftstafel zeigt alle Wahlmöglichkeiten für ein spezielles Objekt an, zum Beispiel Typenart und - größe, halbfett, kursiv, Unterstreichung und hoch- und tiefgestellte Indizes auf einer Eigenschaftstafel für Textzeichen. Zur Auswahl einer beliebigen dieser Vorgaben wählt der Benutzer diese nur durch Positionieren und Druck auf den entsprechenden Knopf aus, und bei der Änderung einer beliebigen Eigenschaft auf der Eigenschaftstafel geht der Benutzer zu diesem Punkt und drückt wieder den entsprechenden Knopf. Damit der Benutzer nicht mit Information überschwemmt wird, zeigt die Eigenschaftstafel nur diejenigen Eigenschaften an, die für die gerade ausgewählte Objektart zutreffend ist, wobei die Komplexität zurückgehalten wird, bis sie vonnöten ist. Beim Star-Computer kann das System auch an die individuellen Bedürfnisse des Benutzers angepaßt werden. Der Benutzer kann die Arbeitskonfiguration anpassen, indem er die Ikonen für die Schreibtisch-Anzeige auswählt. Leere Blätter können mit Text-, Absatz- und Seitenlayout-Vordrucken besetzt werden. Das Dateisystem kann durch Veränderung der Sortierreihenfolge in den Aktenschränken und Ordnern angepaßt werden. Anfang 1983 führte Apple Computer eine neue Art von Computern, ein, die Lisa. Die Konstrukteure von Lisa nutzten in hohem Maße die früheren Arbeiten des Xerox Palo Alto Research Center, aber sie verfeinerten auch verschiedene übernommene Konzepte und kombinierten sie mit vielen neuen Ideen. Die erste Aufgabe, die die Konstrukteure von Lisa in Angriff nahmen, war die Entwicklung einer neuen Art von Schnittstelle zwischen dem Benutzer und dem Computer. Das Ergebnis waren interne "Benutzerschnittstellen- Standards", die den Dialog des Benutzers mit dem System Lisa beschreiben. Wie beim Star-Computer ist die Schreibtisch-Führung für den Lisa-Computer eine Ikonenbasis, aber anders als beim Star-Computer, wo die Ikonen an festen Stellen auf dem Schirm angeordnet werden, so daß sie sich niemals über-decken, können die Lisa-Ikonen beliebig angeordnet werden. Aus diesem Grunde kann der Lisa-Computer sich überdeckende, beliebig gestaltete Objekte auf dem Bildschirm haben. Der Lisa-Computer basiert auf der Annahme, daß die Video-Anzeige ein Schreibtisch ist, während die Ikonen Objekte auf dem Schreibtisch sind. Alles im Lisa-System wird auf dem Schreibtisch dargestellt, entweder durch eine Ikone oder durch eine rechtwinklige Fläche, die als Fenster bezeichnet wird. Alle Ikonen können über die Maus ausgewählt werden, und alle Fenster können waagerecht oder senkrecht aufgerollt, ausgedehnt oder zusammengeschoben und bewegt werden, indem man den Maustaste drückt und den Cursor bewegt. Der Aufbau des Lisa-Systems ist integriert. Jedes der Lisa-Programme hat einen großen Bereich mit dem üblichen Verhalten und dem üblichen Aufbau. Es gibt keine Zustände, die die Aktivitäten des Benutzers zu irgendeinem Zeitpunkt einschränken. Der Nutzer kann zum Beispiel vom Text zur Tabellenkalkulation und zu graphischen Anwendungen übergehen, gerade als ob diese Anwendungen getrennte Papierblätter auf dem Schreibtisch wären. Genau wie die Xerox- Alto- und die Star-Computer beruht Lisa auf der Sprache/dem Betriebssystem Smalltalk. Die für die Lisa-Computer entwickelte Technologie ist bei den kürzlich auf den Markt gekommenen Macintosh- und LisaII-Computern von Apple Computer noch verfeinert worden.
  • Als Teil eines Forschungsvorhabens bei IBM Cambridge Scientific Center in Cambridge, Massachusetts, zur Entwicklung von Software-Systemen für Bürosysteme entwickelten Sheldon Borkin und John Prager den on-line arbeitenden integrierten Personal-Texteditor (POLITE). Dies ist ein leicht zu bedienender Echtzeit-Editor und -formatierer für zusammengesetzte Dokumente. Ein zusammengesetztes Dokument besteht aus Bildern, Zeichnungen, Tabellen, Handschriften, Texten, Tafeln und mathematischen Symbolen. Der Grundgedanke von Polite besteht darin, daß ein Editor in der Lage sein müßte, on-line die Integration von Funktionen auszuüben, ohne daß getrennte Applikationen aufgerufen werden müssen und ohne daß ein Schneide- und Klebespeicher benutzt werden muß. Die Lisa- und Macintosh-Computer von Apple und die Star-Computer von Xerox sind alle integrierte Systeme, die die Fähigkeit der Editierung zusammengesetzer Dokumente haben, aber die in diesen Computern gewöhnlich benutzte Methode besteht darin, das Ergebnis der geforderten Funktion in einem abgeschlossenen Puffer unterzubringen und dann zum Dokumenteneditor zurückzukehren, um das Ergebnis an der gewünschten Stelle einzufügen. Dies ist eine zeitaufwendige und ermüdende Verfahrensweise. Und doch kam die Inspiration für Polite aus den Untersuchungen des Xerox Palo Alto Research Center, und die Grundlagen des Polite-Editors sind die gleichen wie die für die Smalltalk-Programmiersprache entwickelten und die später bei den Star- und Lisa-Computern verfeinerten. Da Polite für ein sehr breites Anwenderspektrum vorgesehen ist, wurde der menschliche Faktor des Systems sorgfältig betrachtet. Einige der benutzerfreundlichen Eigenschaften des Systems umfassen unbegrenzte UNDO- und REDO-Funktionen, Echtzeit-Formatierung, Verwendung von Menüs und "Hilfe durch Beispiele". Bei Polite gibt es keinen Unterschied zwischen Quellendokument und formatiertem Dokument. Es gibt nur eine Form eines existierenden Dokumentes, und die ist immer formatiert und immer druckfähig. So wird das Dokument, wann immer der Benutzer es verändert, automatisch wieder formatiert, liefert dabei die unmittelbare Rückmeldung an den Benutzer und schaltet einen Großteil von Zwischenschritten aus, die für frühere Editoren kennzeichnend waren. Der Benutzer sieht auf dem Bildschirm den Teil eines Dokumentes zusammen mit einem kleinen Menü, das die gerade programmierten Funktionstastendefinitionen identifiziert. Auf den Funktionstasten sind Forderungen (Befehle), die entweder unmittelbar ausführbar sind oder die als "Zugang" in weitere Menüs wirken. In diesen anderen Menüs haben einige der Funktionstasten andere, d. h. lokale Definitionen. Das Polite-System besteht aus zwei größeren Funktionsteilen: die Bildschirmführung enthält die anzeigefähige Form des Dokumentes (die einzige Form, die der Benutzer jemals sieht) und steuert den Dialog mit dem Benutzer. Die Bildschirmführung hält eine anzeigeorientierte WYSIWYG-Darstellung (What you see is what you get) einer beliebigen Teilmenge des Dokumentes aufrecht. Diese Teilmenge umfaßt mindestens den Teil des Dokumentes, der sich auf dem Bildschirm befindet, und möglicherweise je nach Dokumentengröße das ganze Dokument.
  • Zusammenfassung der Erfindung
  • Es ist Gegenstand der vorliegenden Erfindung, die in den Ansprüchen ausgeführten Verbesserungen bei integrierter Computersoftware zu realisieren.
  • Es ist ein weiterer, mehr spezifischer Gegenstand der Erfindung, Verbesserungen an einem anwendungsvariablen Editor zu realisieren, wobei die Integration von unterschiedlichen Datentypen auf einer Dokumentenseite vereinfacht wird.
  • Es ist weiterhin Gegenstand der Erfindung, ein Vieldaten-Editiergerät zu realisieren, das die Bearbeitung einer Gruppe von unterschiedlichen Objektsätzen innerhalb eines einzigen anzeigbaren Bereiches auf einer Dokumentenseite erleichtert und das das Formatierungsverfahren des Editors vereinfacht.
  • Der Erfindungsgegenstand ist auf Verbesserungen im anwendungsvariablen Editor ausgerichtet, der auf dem Polite-System beruht. Genau wie Polite ist der anwendungsvariable Editor ein benutzerfreundlicher Echtzeit-Editor und -formatierer für zusammengesetzte Dokumente, die nicht nur Text, sondern auch Bilder, Graphiken, Tabellen, Anmerkungen und Handschriftliches enthalten. Der anwendungsvariable Editor realisiert die Integration aller Daten auf einer Seite untereinander in dynamischer editierbarer Form. Alle Datentypen können innerhalb desselben Dokumentes erzeugt werden, und Text kann rund um graphische Darstellungen und Tabellen fließen. Alle Daten im Editor bleiben auf den Seiten, und alle Seiten bleiben innerhalb des zusammengesetzten Dokumentes. Die Art der Benutzerschnittstelle beruht beim anwendungsvariablen Editor auf den folgenden benutzerfreundlichen Eigenschaften zur schnellen, leicht erlernbaren und einfachen Verfahrensweise bei der Dokumentenerstellung und -editierung:
  • 1. Benutzung von Kennwort-Befehlen auf einer Befehlsleiste, die immer oben auf dem Bildschirm angezeigt wird. Die Befehlsleiste enthält alle derzeit aktiven Befehle für den zu editierenden Datentyp.
  • 2. Verwendung von Schnelldurchlauf-Feldern, wenn ein Befehl gewählt wird, der einen Satz Wahlfunktionen enthält, die ausgewählt und/oder modifiziert werden können.
  • 3. Verwendung von den ganzen Bildschirm umfassenden Fenstern für das Betrachten und Bearbeiten von Daten.
  • 4. Verwendung von unbegrenzten UNDO- und REDO-Funktionen, damit der Benutzer ohne die Gefahr der Datenvernichtung zu vorher angelaufenen Funktionen zurückkehren kann.
  • 5. Verwendung einer Hilfsfunktion, durch die der Benutzer eine Demonstration der Wirkung eines speziellen Befehls anfordern kann. Der Editor zeigt dem Benutzer die Wirkung eines Befehls, indem er ihn ausführt und ihn anschließend rückgängig macht.
  • Der Editor arbeitet au£ der Grundlage eines Seiten-Layouts, bei dem die Datenobjekte auf der Seite verbleiben und die Daten in den Datenobjekten bleiben. Alle Seiten bleiben innerhalb des Dokumentenobjektes, und einige Datenobjekte haben zusätzliche Objekte in sich. Die Objekte sind datenspezifische Wesenszüge, die der Benutzer auf der Seite bearbeiten kann. Die Objekte, die sich innerhalb von anderen Objekten befinden, bleiben innerhalb einer definierten Objektsatzgrenze. Alle Objekte sind explizit, d. h. sie sind wiedererkennbare wählbare Merkmale. Blöcke sind vom Benutzer ausgewählte Bereiche eines beliebigen Teiles eines Dokumentes. Ein Block kann zum Beispiel definiert werden als ein Elementbereich in einer Spalte oder eine Zeichenkette. Das Blockobjekt ermöglicht es dem Benutzer, Zeichen zu unterstreichen, Schriftarten zu wechseln oder eine "Aufbewahrung" rund um eine Gruppe von Objekten zu definieren. Wenn der Benutzer zu dem Block einen Zusatz macht wie etwa eine Unterstreichung, dann wird die Unterstreichung ignoriert, wenn sie keine Bedeutung hat. So existiert ein Textzeichen zum Beispiel innerhalb der Begrenzung eines Zeilenobjektsatzes oder eines Absatzobjektsatzes; ein Rechteck existiert innerhalb der Begrenzung eines graphischen Objektsatzes; und ein Element existiert innerhalb der Begrenzungen eines Tabellenobjektsatzes.
  • Entsprechend der vorliegenden Erfindung können Objektsätze auf solche Positionen auf einer Seite bewegt werden, daß mehr als ein Objektsatz einen einzelnen anzeigefähigen Bereich auf der Seite einnimmt. Beispiele dafür sind ein Textabsatz, der rund um einen graphischen Objektsatz läuft, ein Tabellenobjektsatz direkt an einem graphischen Objektsatz und ein graphischer Objektsatz in der Mitte eines Absatzes, wobei der Text oberhalb und unterhalb verläuft. Eine solche Anordnung von Objekten bildet eine Struktur, die Superblock genannt wird.
  • Ein Superblock ist ein beliebiger anzeigbarer Bereich, der zwei oder mehr Objektsätze enthält, die so positioniert sind, daß sich die Objektsätze überdecken, direkt nebeneinander liegen oder sich oberhalb oder unterhalb des anderen erstrecken. Eine solche Art von Superblockstruktur ist bekannt aus einer Veröffentlichung aus "1981 IEEE Computer Workshop on Computer Architecture for pattern analysis and image database management, Hot Springs, Virginia, 11. bis 13. November 1981, Seite 301 bis 308, IEEE, New York, USA; S. M. Goldwasser: Ein verallgemeinerter Aufbau eines Segmentanzeigeprozessors".
  • In dem besagten Artikel wird ein Segment-/oder Objekt-Anzeigeprozessor beschrieben, der die Bearbeitung, d. h. die Darstellung einer beliebigen Anzahl von rechtwinkligen Teilbildern oder Segmenten und die Modifikation ihrer relativen Konfiguration ermöglicht, ohne daß die Segmentbilddaten, die tatsächlich im Speicher vorhanden sind, geändert werden. Der besagte Anzeigeprozessor hat auch die Fähigkeit der dynamischen Änderung der Darstellung durch wechselseitige Modifikation von Parametern oder Steuerattributen bei jedem einzelnen angezeigten Segmentbild. Die Steuerattribute der verschiedenen angezeigten Objekte werden in einer Liste der Segmentbeschreibungsblöcke verknüpft und in einem schnellen Pufferspeicher eingespeichert. So garantiert die wechselseitige Modifikation unter Zuhilfenahme der Echtzeitanzeige der besagten Liste eine Hochgeschwindigkeitsmodifikation der einzelnen angezeigten Objekte.
  • Mit diesem Stand der herkömmlichen Technik können jedoch im Gegensatz zur vorliegenden Erfindung nicht alle auf einer angezeigten Dokumentenseite positionierten Segmente betrachtet werden und daher auch nicht als ein einzelnes, größeres Segment oder als Superblock formatiert werden, ohne daß man für die besagte Formatierung die innere Komplexität des besagten Superblocks oder der besagten Gruppe von Segmenten betrachtet.
  • Gemäß der vorliegenden Erfindung kann jedoch ein Textobjektsatz nicht durch irgendeinen anderen Objektsatz überdeckt werden. Folglich wird Text entsprechend seinem Fließattribut immer wieder neu angeordnet. Der Sinn und Zweck der Superblockstruktur ist die Vereinfachung der Berechnung für den Platzbedarf, den die Objektsätze einnehmen. Mit der Schaffung der Superblockstruktur braucht der Formatierungsalgorithmus die Komplexität innerhalb jeder Blockstruktur eines Objektes nicht mehr zu betrachten, außer für den Fall, daß eine Entscheidung über ein Seitenende getroffen werden muß. Die Darstellung der komplexen Verhältnisse auf der Seite wird also vereinfacht.
  • Der Superblock wird als Ergebnis einer vom Benutzer vorgeschriebenen Aktion vom Editor implizit geschaffen. Es gibt fünf Aktionen, die die Schaffung eines Superblocks auslösen können. Dies sind CREATE, MOVE, COPY, PASTE und GET. Wenn der Editor die Superblöcke erzeugt, dann wird die Superblockikone am Anfang der oberen Grenze für den Superblock plaziert. Eine Methode für die Auswahl des Superblocks besteht darin, daß der Benutzer zuerst die Superblockikone auswählt.
  • Es wird ein Pop-down-Feld angezeigt, das eine Liste der Sätze innerhalb der Superblockstruktur zeigt, und das Pop-down-Feld wird unterhalb der Superblockikone positioniert und erscheint dem Benutzer als eine Erweiterung der Ikone. Zu Auswahl des Objektsatzes innerhalb des Superblocks wählt der Benutzer die Ikonendarstellung des Objektsatzes aus dem Pop-down-Feld. Eine weitere Auswahlmethode besteht darin, mit dem Zeiger zu dem gewünschten Objektsatz innerhalb des Superblocks zu gehen, wo dann der Benutzer die Ikonendarstellung des Objektsatzes aus dem Popdown-Feld auswählt. Eine weitere Auswahlmethode besteht darin, mit dem Zeiger zu dem gewünschten Objektsatz innerhalb des Superblocks zu gehen, wobei sich die Befehlsleiste zur Wiedergabe der Aktionen ändert, die für diese Art von Objektsatz gelten. Innerhalb des Superblocks kann der Objektsatz dann bewegt, kopiert, gelöscht, beschrieben usw. werden. Der Editor löst den Superblock implizit auf und ersetzt dann die Superblockikone immer durch eine Objektsatzikone, wenn es nur einen Objektsatz gibt, der im Anzeigeraum des Superblocks verbleibt. Innerhalb des Superblocks können sich nicht aus Text bestehende Objektsätze gegenseitig überlagern, so daß die Daten eines Objektsatzes vollständig von der Betrachtung ausgeschlossen werden. Wenn dies auftritt, dann kann der Benutzer die Position des verschwundenen Objektsatzes neu definieren, indem er den Objektsatz auswählt, MOVE aus der Befehlsleiste auswählt und dann eine neue Adresse für den Objektsatz auswählt. Die Adresse kann innerhalb der Grenzen des Superblocks oder an einer beliebigen anderen Stelle des Dokumentes liegen. Ein Superblock kann so lange die Seitenendbegrenzung schneiden, so lange die Daten innerhalb des Superblocks zwischen den Seiten aufgeteilt werden können. Obgleich der Superblock eine komplexe Struktur ist, vereinfacht die Schaffung dieser Struktur durch den Editor für den Benutzer die Integration der verschiedenen Datentypen auf einer Seite, und der Benutzer wird in die Lage versetzt, eine Gruppe von Objektsätzen innerhalb eines einzigen anzeigbaren Bereiches auf der Seite relativ einfach zu bearbeiten.
  • Kurzbeschreibung der Zeichnungen
  • Die vorbeschriebenen und andere Gegenstände, Aspekte und Vorteile der vorliegenden Erfindung können aus der folgenden ausführlichen Beschreibung der Zeichungen besser verstanden werden, wobei:
  • Figur 1 ein Beispiel für ein "zusammengesetztes" Dokument mit Text ist, graphischer Darstellung und einer Tabelle;
  • Figur 2 die Grundlagen der Seiten-Layout-Philosophie mit den anwendungskombiniertem Editor darstellt, auf denen die Fortschritte gemäß des eingereichten Umfangs der Erfindung beruhen;
  • Figur 3 die normale Plazierung von Objektsätzen in einem Dokument zeigt;
  • Figur 4 einen Superblock entsprechend der vorliegenden Erfindung zeigt, wobei der Text rund um Objektsätze, die keinen Text enthalten, verläuft;
  • Figur 5 einen Superblock zeigt, bei dem kein Text rund um einen textfreien Objektsatz liegt;
  • Figur 6 ein Flußdiagramm ist, das den Prozeß der impliziten Schaffung einer Superblockstruktur zeigt;
  • Figur 7 die Art und Weise zeigt, mit der innerhalb eines Textobjektsatzes die Stelle ausgewählt wird, an der ein anderer Objektsatz eingefügt werden soll, wobei damit die Schaffung eines Superblocks veranlaßt wird;
  • Figur 8 ein Flußdiagramm ist, das das Editierungsverfahren eines Superblocks zeigt;
  • Figur 9A bis 9C den Fall zeigen, bei dem ein Superblock über eine fortschreitende Editierungsfunktion editiert wird, in der sich die unteren Superblockgrenzen nicht verändern;
  • Figur 10A bis 10C den Fall zeigen, bei dem ein Superblock über eine fortschreitende Editierungsfunktion editiert wird, in der die untere Superblockgrenze sich verändert hat und dabei das Seitenende beeinflußt;
  • Figur 11A bis 11C den Fall zeigen, bei dem ein Superblock über einen eingefügten Editierungsbefehl editiert wird, wobei der Superblock durch ein Seitenende geteilt wird;
  • Figur 12A bis 12C den Fall zeigen, bei dem ein Superblock durch eine Objekterzeugungsfunktion editiert wird, wobei der Superblock über die Seitengröße hinausgeht;
  • Figur 13A bis 13F Darstellungen sind, die die verschiedenen Möglichkeiten zusammenfassen, bei denen einmal kein Text um textfreie Objektsätze herumfließt und zum anderen Text auch um einen textfreien Objektsatz herumfließt;
  • Figur 14A und 14B zusammengenommen Flußdiagramme sind, die die Fließattribute für Textobjekte darstellen;
  • Figur 15A bis 15D Darstellungen von zusätzlichen Beispielen für den Textfluß zeigen;
  • Figur 16 eine Überlagerung eines Objektsatzes mit textfreien Objektsätzen zeigt, wobei ein Superblock entsprechend dem Erfindungsgegenstand geschaffen wird;
  • Figur 17 eine Objektüberlagerung zeigt, in der ein Superblock mit einem Textobjekt geschaffen wird;
  • Figur 18 ein DESCRIBE-Pop-down-Feld eines Superblock zeigt, wie es der vorliegenden Erfindung entspricht;
  • Figur 19 ein Blockdiagramm der Datenobjektstruktur des Dokumentes ist, eingebunden in den Dokumentenring des anwendungsvariablen Editors, auf dem die Fortschritte entsprechend dem eingereichten Umfang der Erfindung basieren und
  • Figur 20 ein Blockdiagramm des Superblocks ist, wie er intern durch den anwendungsvariablen Editor eingerichtet wird.
  • Ausführliche Beschreibung der Erfindung
  • Der anwendungsvariable Editor, auf dem die Fortschritte gemäß dem eingereichten Umfang der Erfindung beruhen, ist ein Anwendungsbereich für die Schaffung und Veränderung von Dokumenten, die aus einer Mischung von mindestens vier verschiedenen Datentypen bestehen. Die verfügbaren Datentypen sind Text, graphische Darstellungen (sowohl frei wie Diagramme) und Tabellen (strukturierte Tabellenkalkulationsdaten und auch Tabellen). Dokumente, die mehr als einen Datentyp enthalten, werden als zusammengesetzte Dokumente bezeichnet. Ein Beispiel eines zusammengesetzten Dokumentes wird in Figur 1 der Zeichnungen gezeigt. Das angeführte Beispiel ist ein Brief, der Text, ein senkrechtes Balkendiagramm und tabellarische Daten enthält. Der anwendungsvariable Editor führt an solchen zusammengesetzten Dokumenten eine Echtzeit-WYSIWYG-Formatierung und -editierung durch und ist für den Einsatz in Personalcomputern wie dem IBM PC/XT mit farbiger Graphikanzeige vorgesehen. Der Editor ist für sich allein eine integrierte Programmanwendung, die durch das PC-Plattenbetriebssystem von IBM (DOS) unterstützt wird und ein WYSIWYG-System zur Anzeige und Steuerung des Pop-down-Feldes benutzt.
  • Alle Daten in dem Editor bleiben auf den Seiten, und alle Seiten bleiben innerhalb des zusammengesetzten Dokumentes. Jeder Absatz innerhalb des Textes des Dokumentes existiert durch sich selbst als Merkmal; daher kann der Benutzer jeden Absatz mit seinen eigenen Eigenschaften erzeugen. Ein Absatz kann zentriert und gesperrt geschrieben werden, der nächste kann rechtsbündig und normal geschrieben werden und der folgende linksbündig und vierfach gesperrt geschrieben werden. Jeder Absatz kann seine eigenen Randbegrenzungen haben, die sich von den für die Seite vorgeschriebenen Rändern unterscheiden können. Darüberhinaus müssen Absätze keinen festgesetzten rechten und linken Rand haben. Ein Absatz kann rund um eine graphische oder eine Tabellenstruktur auf der Seite angelegt werden. Dem Benutzer steht eine Vielzahl von Formen zur Verfügung, aus der er bei der Schaffung graphischer Objekte auswählen kann, und ebenso steht eine Vielzahl von Tabellen zur Auswahl bereit. Tabellen können aus einem einzigen Element oder aus mehrfachen Linien/mehrfachen Spalten bestehen. Im letzteren Fall werden arithmetische Berechnungen innerhalb eines Elementes wie bei einer typischen Tabellenkalkulationsanwendung ausgeführt.
  • Das in Figur 1 der Zeichnungen gezeigte Beispiel erläutert auch die zwei Applikationsbefehlsleisten oben auf dem Anzeigebildschirm. Innerhalb der Befehlsleiste befinden sich die Befehlstasten, die alle Befehle darstellen, die für den Datentyp, der editiert wird, gerade gültig sind. Der Inhalt dieser Befehlsleisten verändert sich, damit die Funktionen, die für den ausgewählten Datentyp gelten, wiedergegeben werden. Ein Befehl kann durch Anwählen mit einer Positioniereinrichtung, wie etwa einer Maus, und durch Drücken einer geeigneten Taste ausgewählt werden. Wenn aus der Befehlsleiste ein Befehl ausgewählt worden ist und dieser Befehl weitere Wechselwirkung mit dem Benutzer erfordert, dann wird ein Pop-down-Feld angezeigt. Mit Bezug auf Figur 18 wird anschließend ein spezifisches Beispiel des Pop-down-Feldes DESCRIBE des Superblockobjektes beschrieben, aber hier genügt es zu sagen, daß Pop-down-Felder aus Kennworten und/oder Wertfeldern und/oder informellem Text bestehen. Jedes Pop-down- Feld hat eine QUIT-Taste in seiner rechten oberen Ecke, die bei Anwahl durch den Benutzer das Feld mit dem Ergebnis vom Bildschirm löscht, daß jede beliebige Auswahl, die auf einem Auswahl- oder Parametertastatur gemacht wurde, abgebrochen wird. Die meisten Tastaturen für eine mehrfache Auswahl und Parametereingabe haben auch eine DO-Taste in der rechten unteren Ecke, die bei Betätigung durch den Benutzer die Ausführung des Befehles veranlaßt. Das Pop-down-Feld wird vom Schirm gelöscht, wenn der Befehl ausgeführt ist.
  • Wie in Figur 1 ebenfalls zu sehen ist, gibt es entlang des linken Randes Ikonen, die den Datentyp innerhalb eines Objektsatzes anzeigen. Bei den gezeigten Ikonen steht H für Überschrift, L für Zeile, das für Absatz, G für graphische Darstellung und T für Tabelle. Der Editor arbeitet mit einem Grundgedanken für das Seitenlayout, wie er in Figur 2 der Zeichnungen dargestellt ist. Datenobjekte bleiben auf der Seite, und Daten bleiben in den Datenobjekten. Alle Seiten bleiben innerhalb eines Dokumentenobjektes. Einige Datenobjekte haben in sich zusätzliche Objekte, wie sie nachstehend ausführlicher beschrieben werden. Die Figur 2 enthält Freihandzeichnungen mit vielen Linien und Kreis-Beispiele von Freiformgraphik-Objektsätzen und ein zusammengewürfeltes Beispiel von Wirtschaftsgraphik-Objektsätzen. Die Objekte sind datenspezifische Merkmale, die der Benutzer auf der Seite bearbeiten kann. Die innerhalb anderer Objekte befindlichen Objekte verbleiben innerhalb einer definierten Objektsatzgrenze auf der Seite. Diese Grenze ist als eine Objektsatzgrenze definiert. Innerhalb eines einzigen Objektsatzes kann mehr als ein gleiches Datenobjekt vorkommen. In Abhängigkeit vom Datentyp im Objektsatz kann die Größe des Anzeigeraumes konstant oder einstellbar sein. Ein Absatz ist zum Beispiel ein dynamischer Objektsatz; zu jeder beliebigen Zeit kann Text hinzugefügt oder gelöscht werden. Der Anzeigeraum des Absatzes verändert sich folglich in Anpassung an den Zuwachs oder die Abnahme bei den Daten. Bei einem graphischen oder tabellarischen Objektsatz ist die Größe des Anzeigeraumes eine Funktion der dynamischen Anpassungsattribute, die für den Raum definiert sind und von Benutzer bearbeitet werden können. Wenn das dynamische Anpassungsattribut eingeschaltet ist, dann wächst der Anzeigeraum mit der Hinzufügung von Daten zum Objektsatz und schrumpft, wenn Daten gelöscht werden. Bei einem graphischen Objektsatz ist der Standardfall dynamische Justierung = ON. Dies bedeutet, daß der Anzeigeraum justiert wird auf die Größe der Zeichnung oder der Tabelle. Wenn der Benutzer diesen Standardfall verändern will, dann spricht er die graphische Objektsatzikone an und wählt den DESCRIBE-Befehl in der Befehlsleiste. Der Standardfall für einen Tabellenobjektsatz ist dynamische Justierung = OFF, so daß die Größe des Anzeigeraumes konstant und gleich der Mindestgröße des Anzeigeraumes der Tabelle ist. Wie beim graphischen Objektsatz kann der Benutzer diesen Standardfall über den DESCRIBE-Befehländern. Wenn der anzeigefähige Bereich eines graphischen oder tabellarischen Objektsatzes konstant ist, dann dürfen die Daten innerhalb des Objektes die Begrenzungen des Anzeigeraumes überschreiten. Der Benutzer kann zum Beispiel eine Tabelle mit 255 Zeilen und 63 Spalten definiert haben, es passen aber nur 15 Zeilen und 10 Spalten in den Anzeigeraum. Wenn dies vorkommt, dann sind die Daten innerhalb des Objektsatzes aufrollbar.
  • Entsprechend der Erfindung können Objektsätze in solche Positionen auf der Seite bewegt werden, daß mehr als ein Objektsatz einen einzigen anzeigbaren Bereich auf der Seite einnimmt. Beispielsweise fließt ein Absatz rund um einen graphischen Objekt satz, oder ein Tabellenobjektsatz ist einem graphischen Objektsatz in der Mitte eines Absatzes benachbart, wobei der Text oberhalb und unterhalb herumläuft. Eine solche Anordnung wird durch eine Objektsatzstruktur dargestellt, die Superblock genannt wird.
  • Das Konzept der Objektsätze vereinfacht die Verständigung des Benutzers mit dem Editor. Der Benutzer ist frei für die Schaffung und Entwicklung von sehr komplexen Strukturen und muß nicht auf den Unterschied zwischen Objektsätzen und anderen Arten von Objekten achtgeben. Es werden automatisch Objektsätze geschaffen, wenn der Benutzer die Optionen für Zeilen, Absätze, graphische Darstellungen oder Tabellen aus dem Pop-down-Befehlsfeld CREATE wählt. Wenn einmal der Objektsatz geschaffen worden ist, dann wird er auf der Seite in Bezug auf die vom Benutzer vorgeschriebenen linken und rechten Randmarkierungen plaziert. Die normale Plazierung von Objektsätzen auf der Seite ist kontinuierlich, d. h. jeder Objektsatz wird unmittelbar hinter dem vorhergehenden Objektsatz angeordnet, wie es in Figur 3 der Zeichungen gezeigt wird. Der linke Rand eines jeden Objektsatzes ist definiert als Abstand von der linken Seitenkante.
  • Entsprechend der vorliegenden Erfindung müssen die Objektsätze nicht aufeinanderfolgend auf der Seite angeordnet werden. Ein graphischer Objektsatz kann zum Beispiel in der Mitte eines Absatzes so angeordnet werden, daß der Text des Absatzes rund um den graphischen Objektsatz fließt, wobei er jeden freien Raum ausfüllt, der durch das Einsetzen des graphischen Objektsatzes geschaffen worden ist. Ein Beispiel dafür wird in Figur 4 der Zeichnungen gezeigt. Dieser Textfluß enthält eine Gruppierung von Text und Graphik und erzeugt eine Superblockstruktur. Wie vorher definiert, ist ein Superblock ein beliebiger anzeigefähiger Bereich, der zwei oder mehr Objektsätze enthält, die so angeordnet sind, daß sie einander überdecken. Ein Textobjektsatz kann niemals durch einen beliebigen anderen Objektsatz in einem kombinierten Texteditor überlagert werden, und folglich wird der Text immer entsprechend seiner Fließattribute neu angeordnet. Wenn das Fließen ausgeschaltet ist, dann wird der Text oberhalb und unterhalb beliebiger textfreier Attribute im textfreien Bereich wie in Figur 5 angeordnet. Wenn das Fließen eingeschaltet ist, dann wird der Text so justiert, daß er den freien Raum rund um den textfreien Objektsatz ausfüllt, wie es in Figur 4 zu sehen ist.
  • Figur 6 ist ein Flußdiagramm, das den Prozeß der Erzeugung eines Superblocks veranschaulicht. Zuerst ruft der Bediener einen Zeiger oder Cursor auf. Der Bediener bewegt dann mit Hilfe einer Positioniereinrichtung, wie etwa einer Maus, den Zeiger auf dem Anzeigebildschirm, bis der Zeiger auf der gewünschten Fensterposition ist, wie es in Figur 7 durch den Pfeil dargestellt ist. Sobald der Zeiger an der gewünschten Fensterposition ist, drückt der Bediener eine Taste an der Tastatur oder an der Maus, um die Position auszuwählen. Die Positionier- und Auswahlvorgänge sind durch Block 1 in der Figur 6 dargestellt.
  • Als nächstes wählt der Bediener einen Befehl zur Ausführung einer Funktion aus. Der Befehl kann mit Hilfe einer beliebigen von mehreren Methoden ausgewählt werden. Dazu gehören die Auswahl einer Befehlstaste, eines Befehls aus einer Befehlsleiste oder die Eingabe eines Befehls in eine Befehlszeile. Die Auswahl des Befehles ist durch Block 2 in Figur 6 dargestellt. Nachdem ein Befehl ausgewählt worden ist, wird eine Prüfung durchgeführt, ob der Editierungsvorgang dazu führt, daß die Daten eingesetzt werden. Diese Prüfung wird symbolisiert durch Block 3. Wenn das Ergebnis der Prüfung in Block 3 zutreffend ist, dann wird die Zeigerposition in eine Position innerhalb des Dokumentes umgewandelt, damit bestimmt werden kann, ob die Position innerhalb der Begrenzung eines vorher geschaffenen Objektsatzes ist. Block 4 zeigt die stattfindende Umwandlung. Wenn die Position sich innerhalb der Begrenzung eines anderen Objektsatzes befindet, dann wird ein Superblock-Objektsatz geschaffen, im anderen Falle wird ein normaler Objektsatz geschaffen. Block 8 stellt die Schaffung eines Superblockes und Block 7 die Schaffung eines normalen Objektsatzes dar. Das Ergebnis der Schaffung eines Superblocks in Block 8 wird sowohl in Figur 4 wie Figur 5 dargestellt, wohingegen das Ergebnis der Schaffung eines normalen Objektsatzes in Block 7 der Figur 6 in Figur 3 gezeigt wird. Nachdem sowohl der Superblockobjektsatz wie auch der normale Objektsatz geschaffen worden sind, muß der neu geschaffene Objektsatz in das Dokument eingefügt werden. Dies wird durch Block 9 in Figur 6 symbolisiert. Wenn das Ergebnis der Prüfung in Block 3 falsch ist, dann folgt der normale Befehlsablauf, wie es durch Block 5 angezeigt wird. Nachdem alle Befehle komplett abgearbeitet worden sind, wird die Bildschirmanzeige aktualisiert. Diese neue Anzeige der Daten wird durch Block 10 dargestellt.
  • Der Pseudocode für die implizite Schaffung eins Superblocks wird nachstehend erklärt:
  • Wenn die Maustaste gedrückt und eine position innerhalb eines Fensters definiert wird, dann wird ein Programm zur Bestimmung der Position des Zeigers aufgerufen (CALL QUERY_LOCATION_ POINTER). Wenn die ausgewählte Funktion den Einsatz von Daten umfaßt, dann wird ein Programm aufgerufen, mit dem bestimmt wird, ob sich die definierte Fensterposition innerhalb der Begrenzung eines existierenden Objektsatzes im Dokument befindet (CALL GET_DOC_LOCATION). Wenn die definierte Fensterposition schon durch einen Objektsatz belegt ist, dann wird ein Programm zur Schaffung einer Superblockstruktur und zur Einfügung des Superblockobjektsatzes an der definierten Fensterposition aufgerufen (CALL CREATE_SUPERBLOCK).
  • Das CREATE_SUPERBLOCK-Programm erzeugt einen Objektsatz vom Typ Superblock und verknüpft den existierenden Objektsatz mit der ersten object_id-Struktur innerhalb der Superblockstruktur. Ein Programm zur Schaffung des neuen Objektsatzes wird aufgerufen (CALL CREATE_OBJECT_SET). Der neue Objektsatz wird nun mit dem ersten Objektsatz verknüpft. Innerhalb des Superblocks wird die x,y-Grenze des neuen Objektsatzes bestimmt. Der linke und der rechte Rand des Superblocks werden durch den linken Rand desjenigen Objektsatzes, der am nächsten am linken Seitenrand anliegt und durch den rechten Rand, der am nächsten am rechten Seitenrand anliegt, bestimmt. Wenn die Anordnung des neuen Objektsatzes im Superblock so ist, daß der linke Rand größer oder gleich der rechten Randmarkierung ist oder wenn eine beliebige der Einfügungs-oder Überdeckungsregeln verletzt wird, dann wird der Superblock entsprechend den für den Objektsatz, zu dem die Daten gehören, definierten Attributen justiert. Nachdem der Superblockobjektsatz geschaffen worden ist, wird ein Programm aufgerufen, das ihn hinter dem vorhergehenden Objektsatz in das Dokument einsetzt (CALL INSERT_OBJECT_SET).
  • Wenn die definierte Fensterposition nicht durch einen Objektsatz eingenommen wird, dann wird ein Programm zur Schaffung eines Objektsatzes, der sich im Typ von dem Superblock unterscheidet, aufgerufen. Es erfolgt eine normale Bearbeitung des Objektsatzes, und das Programm INSERT_OBJECT_SET wird aufgerufen, damit der Objektsatz hinter dem vorhergehenden Objektsatz in das Dokument eingefügt wird. Wenn die Editierungsfunktion nicht INSERT_DATA ist, dann wird ein Programm zur normalen Editierungsfunktion (CALL NORMAL_EDIT) aufgerufen.
  • Nach der Erzeugung und Einfügung wird ein Programm zur Aktualisierung der Fensteranzeige (CALL REDISPLAY DATA) aufgerufen. Der Superblock wird an der definierten Fensterposition angezeigt. Die Superblockikone wird direkt bei den Superblockdaten plaziert und zeigt an, daß der Benutzer implizit einen Superblock erzeugt hat.
  • Figur 8 ist ein Flußdiagramm und zeigt das Editierungsverfahren einer Superblockstruktur, die einmal geschaffen worden ist. Zuerst holt sich der Bediener einen Zeiger oder Cursor. Der Bediener bewegt den Zeiger mit Hilfe einer beliebigen Positioniereinrichtung, wie etwa einer Maus, solange auf dem Anzeigebildschirm, bis der Zeiger an der gewünschten Position ist, dann drückt der Bediener eine Taste oder einen Knopf und wählt damit das Objekt an der Position oder wählt die Position. Block 11 beschreibt das Positionieren und die Auswahl einer Objektposition.
  • Als nächstes wählt der Bediener einen Befehl zum Ablauf einer Editierungsfunktion. Der Befehl kann dazu führen, daß der Superblock modifiziert wird. Block 12 beschreibt die Auswahl eines Befehls, dies kann durch Auswahl einer Befehlstaste, eines Befehlsknopfes aus einer Befehlsleiste oder Eingabe eines Befehls in eine Befehlszeile erfolgen. Nach der Auswahl wird der Befehl wie beschrieben in Block 13 der Figur 8 abgearbeitet.
  • Nachdem der Editor den Befehl abgearbeitet hat, wird die aktuelle Dokumentenseite neu formatiert. Wenn die Neuformatierung eine Veränderung in der Lage der Seitentrennung verursacht, dann muß die Seite umgebrochen werden. Die Prüfung für eine Änderung bei der Lage der Seitentrennung wird durch Block 14 beschrieben. Wenn keine Veränderung aufgetreten ist, dann gibt es keine Notwendigkeit für einen Umbruch. Die Editierungsfunktion ist vollständig, und die aktuelle Seite wird neu angezeigt. Block 21 symbolisiert den Weg ohne Umbruch.
  • Wenn die Prüfung erweist, daß eine Veränderung bei der Seitentrennungsposition gebraucht wird, dann läuft eine zweite in Block 15 beschriebene Prüfung ab, bei der geklärt wird, ob die Seitentrennung innerhalb der Begrenzung eines Superblocks erfolgt. Wenn das Ergebnis falsch ist, erfolgt ein normaler Seitenumbruch. Nach dem Umbruch ist die Editierungsfunktion abgeschlossen, und die aktuelle Seite wird neu angezeigt. Der normale Weg des Umbruchs wird durch Block 22 in Figur 8 gezeigt.
  • Wenn eine Seitentrennung innerhalb eines Superblocks erfolgt, dann muß der Editor jeden Objektsatz innerhalb des Superblocks so prüfen, als ob der Superblock eine getrennte Dokumentenseite wäre, und dann muß er bestimmen, wo der Superblock getrennt werden kann. Block 16 beschreibt die Prüfung des Superblocks auf Trennung. Wenn der Superblock getrennt werden kann, dann werden die Objektsätze innerhalb des Superblocks neu formatiert, und ihre Positionen werden neu justiert. Nach der Neuformatierung ist die Editierungsfunktion vollständig, und die Dokumentenseite wird neu angezeigt. Diesen Weg beschreibt Block 19.
  • Wenn nach der Prüfung des Superblocks der Editor feststellt, daß der Superblock nicht aufgeteilt werden kann, dann speichert der Editor die Ursache für den Fehlschlag in einem Nachrichtenregister. Block 17 beschreibt diesen Schritt. Wenn keine Aufteilung erfolgen kann, dann formatiert der Editor die Seite so, als ob dem Superblock das Aufbewahrungsattribut eigen ist. Der Editor behält entweder den Superblock auf der laufenden Seite, wenn der Superblock das einzige Objekt auf der Seite ist, und erzeugt eine lange Seite, oder er plaziert den Superblock an den Anfang der nächsten Seite. Die Anordnung des Superblocks am Anfang der nächsten Seite kann dazu führen, daß die folgende Seite nicht das richtige Format hat. Eine nicht formatierte Seite wird vor ihrer Anzeige auf dem Bildschirm immer formatiert. Der Umbruch über den Weg der Superblockaufbewahrung wird in Block 18 der Figur 8 beschrieben. Die Editierungsfunktion ist vollständig, aber vor der neuen Anzeige der aktuellen Seite erzeugt der Editor eine Nachricht auf dem Bildschirm, in der die Gründe dafür angegeben werden, warum der Superblock nicht aufgeteilt werden konnte. Block 20 beschreibt den Aufbau des Nachrichtenbildschirmes. Der Nachrichtenbildschirm wird zur selben Zeit angezeigt, zu der auch die Dokumentenseite neu angezeigt wird. Der Bediener hat nun die Möglichkeit, die Objektsätze innerhalb des Superblocks über einen Move-Befehl neu anzuordnen, so daß der Editor den Superblock aufteilen kann. Der Bediener kann den Objektsatz durch Zeigereinstellung auf den Objektsatz auswählen oder, falls diese Zeigereinstellung doppeldeutig ist, die Ikone auswählen, die den Superblock darstellt. Die Aufteilung eines Superblocks führt dazu, daß die Daten auf einer Seite ausgewogener verteilt sind und vermeidet lange Seiten.
  • Die Figuren 9, 10, 11 und 12 stellen verschiedene Fälle von Superblockeditierung dar. In Figur 9 wird der Superblock über eine Move-Editierungsfunktion editiert, und das Seitenende wird nicht beeinflußt. In Figur 9A wird der Superblock vor der Editierungsfunktion gezeigt. Der Superblock umfaßt Text und einen graphischen Objektsatz. In Figur 9B ist der graphische Objektsatz mit Hilfe des Zeigers ausgewählt worden, wie es durch das Symbol "Pfeil nach oben" angezeigt wird. Das "x" in der linken oberen Ecke des Textes stellt die Position dar, zu der der graphische Objektsatz bewegt werden soll. Figur 9C zeigt das Ergebnis der Editierungsfunktion. Es ist anzumerken, daß es keine Veränderung bei der oberen und unteren Superblockbegrenzung gibt.
  • Figur 10 zeigt ebenfalls die Editierung eines Superblocks über die Move-Editierungsfunktion, aber in diesem Falle wird das Seitenende beeinflußt. In Figur 10A wird der Superblock gezeigt, der einen Tabellenobjektsatz und einen graphischen Objektsatz umfaßt, wobei der Tabellenobjektsatz den linken oberen Quadranten und der graphische Objektsatz den rechten unteren Quadranten der Seite einnimmt. Die Figur 10B zeigt die Editierungsfunktion, die der Bediener befohlen hat. Im einzelnen soll der graphische Objektsatz auf der Seite nach oben bewegt werden, so daß er eine Position im rechten oberen Quadranten der Seite einnimmt und direkt neben dem Tabellenobjektsatz liegt. Das Ergebnis der Editierungsfunktion wird in Figur 10C gezeigt, und da sich bei der Bewegung des graphischen Objektsatzes nach oben auch die untere Begrenzung des Superblocks nach oben verschoben hat, kann Text aus der nachfolgenden Seite in die aktuelle Seite einfließen.
  • In Figur 11 wird der Superblock über einen Einfügungs-Editierbefehl editiert und führt zu einer Seitentrennung in der Mitte des Superblocks. Der in Figur 11A gezeigte Superblock umfaßt einen Textobjektsatz, der rund um einen graphischen Objektsatz fließt. In Figur 11B weist das Zeigersymbol "Pfeil nach oben" auf die Position hin, wo zusätzlicher Text in den Textobjektsatz eingefügt werden soll. Das Ergebnis wird in Figur 11C gezeigt, wobei man feststellen kann, daß die untere Begrenzung des Superblocks sich nun auf der nächsten Seite befindet. Da der Superblock die Seitenlänge überschreitet, war es für den Seitenumbruch notwendig, zur Feststellung, ob der Superblock geteilt werden kann, in die Superblockstruktur hineinzusehen. Diese Entscheidung wurde bejaht, da der Textobjektsatz zwischen den Seiten aufgeteilt werden kann. Das nächste Beispiel zeigt ein entgegengesetztes Ergebnis.
  • Figur 12 zeigt die Editierung eines Superblocks über eine Objekterzeugungs-Editierfunktion, und in diesem Falle verursacht die Editierungsfunktion das Überfließen des Superblocks über die Seitengrenze. In Figur 12A wird der Superblock beschrieben, der drei graphische Objektsätze enthält, die einander teilweise überdecken und entlang einer Seitendiagonale angeordnet sind, wobei Text rund um die graphischen Objektsätze fließt, damit der freie Raum auf der Seite ausgefüllt wird. In Figur 12B weist das Symbol "Pfeil nach oben" auf die Position hin, die für die Schaffung eines vierten graphischen Objektsatzes ausgewählt worden ist. Das Ergebnis der Editierungsfunktion wird in Figur 12C gezeigt, wobei anzumerken ist, daß der Text neu justiert worden ist, damit er rund um die verschiedenen graphischen Objektsätze fließt. Nun überdecken die neuen Begrenzungen des Superblocks die Seitenbegrenzung. Dies kommt daher, daß es eine implizite Aufbewahrung rund um einen graphischen Objektsatz gibt, die seine Aufteilung zwischen den Seiten verhindert. Im Falle der Figur 12C hindert diese implizite Aufbewahrung den Seitenumbruch an der Aufteilung des Superblocks. Wenn dies auftritt, dann zeigt der Editor dem Bediener eine Nachricht an, daß der Superblock aufgrund von graphischen Objekten nicht zwischen Seiten aufgeteilt werden kann.
  • Der Pseudocode für das Editierungsverfahren der Superblockstruktur wird nachstehend entwickelt:
  • Wenn die Maustaste gedrückt und eine Position innerhalb eines Fensters definiert wird, dann wird ein Programm zur Bestimmung der Position des Zeigers aufgerufen (CALL QUERY_LOCATION_ POINTER).
  • Als nächstes wird ein Programm zur Übersetzung der Zeigerposition von den Bildschirmkoordinaten in Dokumentenkoordinaten aufgerufen, damit das gewählte Objekt bestimmt werden kann (CALL TRANSLATE_LOCATION).
  • Nachdem die Position definiert worden ist, wählt der Bediener eine Editierungsfunktion. Dann wird ein Programm zur Durchführung des ausgewählten Befehls aufgerufen (CALL EXECUTE_COMMAND).
  • Wenn die Ausführung des Befehls zu einer Veränderung der Grenzen des ausgewählten Objektes führt und dieses damit über die laufende Seite hinausgeht, dann wird ein Programm zur Bestimmung der Position des neuen Seitenendes aufgerufen (CALL FIND_PAGE_BREAK). Wenn die Position des neuen Seitenendes innerhalb der Begrenzung des Superblockobjektsatzes ist, dann muß jeder Objektsatz innerhalb des Superblocks dahingehend geprüft werden, daß bestimmt wird, wo oder ob der Superblock aufgeteilt werden kann (CALL_SPLIT_SUPERBLOCK). Wenn der Editor bestimmt, daß der Superblock nicht aufgeteilt werden kann, dann wird diese Information zum Call-Programm zurückgegeben, so daß ein Nachrichtenfeld aufgebaut werden kann, das diese Daten dem Benutzer vermittelt.
  • Wenn der Superblock aufgeteilt werden kann, dann wird ein Programm zur Neuaufteilung der laufenden Seite und, falls notwendig, der nachfolgenden Seiten aufgerufen. Die Eingabeparameter für das Paginierprogramm sind ein Zeiger zur aktuellen Seite und eine Typenvariable zum Paginieren. Im Falle der Aufteilung eines Superblocks wird der Paginiertyp aufgeteilt (CALL PAGINATE (PAGE, SPLIT)).
  • Wenn der Superblock nicht aufgeteilt werden kann, dann wird das Paginierprogramm zur Neuaufteilung der laufenden Seite aufgerufen (CALL PAGINATE (PAGE, KEEP)). Der Editor behält entweder den Superblock auf der laufenden Seite, falls der Superblocksatz der einzige Objektsatz auf der Seite ist und gestaltet eine lange Seite, oder er plaziert den Superblock an den Anfang der nächsten Seite. Die Plazierung des Superblocks an den Anfang der nächsten Seite kann dazu führen, daß die folgenden Seiten nicht formatgerecht sind und als Folge davon ein weiterer Seitenumbruch ablaufen muß. Die Gründe dafür, daß der Superblock nicht aufgeteilt werden kann, werden in einem Nachrichtensatz plaziert, der dem Benutzer angezeigt wird (CALL CREATE_MESSAGE_ RECORD). Als nächstes wird ein Programm zum Aufbau eines Nachrichtenfeldes für die Anzeige aufgerufen (CALL BUILD_MESSAGE_PANEL).
  • Wenn die Position der neuen Seitentrennung nicht innerhalb der Begrenzung eines Superblocks ist, dann wird der Paginator zur Neuordnung der aktuellen Seite mit dem Paginiertyp, der dem normalen entspricht, aufgerufen (CALL PAGINATE (PAGE, NORMAL)). Nachdem die gesamte Editierung erfolgt ist und, falls notwendig, ein Seitenumbruch stattgefunden hat, wird ein Programm aufgerufen, das die Daten dem Benutzer wieder anzeigt. Falls während des Editierungsvorganges ein Nachrichtenfeld aufgebaut worden ist, dann wird dieses Feld gleichzeitig mit den Daten wieder angezeigt.
  • Die Figuren 13A bis 13F zeigen die verschiedenen Möglichkeiten, wie ein Text rund um einen textfreien Objektsatz fließen oder nicht fließen kann. Um genauer zu sein, zeigen die Figuren 13A, 13C und 13E Beispiele, bei denen der Text nicht fließt. In jeder dieser Figuren stellt das "x" in einer Textzeile den gewünschten Bestimmungsort für den textfreien Objektsatz dar, d. h. der Anfang oder die linke obere Ecke wurden vom Benutzer als Position für den textfreien Objektsatz ausgewählt. Die Figuren 13B, 13D und 13F zeigen das Ergebnis der Bewegung der textfreien Objektsätze mit eingeschalteter Fließfunktion. Im einzelnen besteht diese Operation daraus, daß der Benutzer zuerst den graphischen Objektsatz aus dem Inneren des Superblocks und dann aus der Befehlsleiste MOVE und den Bestimmungsort für den Objektsatz auswählt. Nur bei einer Superblockstruktur entsprechend der vorliegenden Erfindung ist diese Art von Editierung möglich.
  • Jedes Absatz-Textobjekt hat ein sogenanntes Fließattribut. Der Benutzer kann vorschreiben, daß das Fließen für einen Absatz entweder ein- oder ausgeschaltet ist. Wenn das Fließen eingeschaltet ist und ein anderes textfreies Objekt zum Beispiel an der linken oder rechten Begrenzung des Originalabsatzes eingefügt wird, dann läßt der Editor den Text rund um das Ojekt fließen. Der Editor stellt fest, an welcher Seite das Fließen stattfinden soll, indem er die Orientierung des eingefügten Objektes findet, d h. an welcher Seite, links oder rechts, das eingefügte Objekt anliegt. Wenn das Objekt in die Mitte der Seite eingesetzt wird, dann bestimmt der Editor, ob genügend Raum für Text zwischen der linken und rechten Begrenzung an der linken und rechten Kante des Objektes ist, und wenn dies der Fall ist, dann läßt der Editor den Text an beiden Seiten des Objektes entlangfließen.
  • Bei den Figuren 14A und 14B liegt nun der Anfang für das Flußbild des Fließattributes für Textobjekte nach dem Punkt, an dem einige Editierungsfunktionen an einem Superblock durchgeführt worden sind, und der Editor stellt fest, daß eine Neuformatierung stattfinden sollte. Die Neuformatierung ist nur notwendig, wenn es Textobjektsätze im Superblock gibt und wenn mindestens ein Textobjektsatz sein Fließattribut eingeschaltet hat. Um zu bestimmen, ob überhaupt Textobjektsätze vorhanden sind, erhält der Editor den Objektsatztyp des ersten Objektsatzes im Superblock und prüft den Typ. Block 24 in Figur 14A stellt die Bestimmung des Objektsatztyps und Block 25 die Prüfung dar. Wenn die Prüfung wahr ist, dann setzt der Editor die Markierung für das Vorhandensein von Text auf wahr und prüft das Fließattribut des Textes. Block 26 stellt das Setzen der Markierung dar, und die Prüfung des Fließattributes wird mit Block 27 symbolisiert. Wenn diese Prüfung wahr ist, dann setzt der Editor die flow_on- Markierung auf wahr, wie es durch Block 28 gezeigt wird. Block 29 zeigt die Prüfung der Bedingungen, die die durch die Blöcke 24 bis 28 dargestellte Schleife beenden. Wenn es keine weiteren zu prüfenden Objektsätze im Superblock gibt oder wenn die flow_on-Markierung eingeschaltet ist, dann wird die Schleife beendet, und der Ablauf geht mit Block 30 weiter.
  • Block 30 ist eine Prüfung, aus der zu sehen ist, ob ein Textobjektsatz im Superblock vorhanden ist. Wenn die Schleife beendet und kein Textobjektsatz gefunden worden ist, dann wird die Neuformatierung des Superblocks durchgeführt, und es brauchen keine weiteren Aktivitäten abzulaufen. Dann wird eine Prüfung durchgeführt, bei der bestimmt wird ob das Fließmerkmal eingeschaltet ist. Die Prüfung wird durch Block 31 dargestellt. Wenn sich diese Prüfung als wahr erweist, dann wird die Anzahl der Fließbereiche wie in Block 32 beschrieben bestimmt.
  • Die Schleife für den Fließprozeß beginnt mit Block 33 in Figur 14B, wobei der Typ jedes Objektsatzes im Superblock bestimmt wird. Nach der Bestimmung des Typs wird eine Prüfung gemacht, ob der Typ einem Text entspricht. Wenn der Typ keinem Text entspricht, dann läuft die Steuerung zum unteren Ende der Schleife, wo dann eine Prüfung durchgeführt wird, ob auch alle Objektsätze im Superblock geprüft worden sind. Die Prüfung auf den Typ des Objektsatzes wird durch Block 48 dargestellt. Wenn der Objektsatztyp einem Text entspricht, dann wird eine Prüfung des Fließattributes des Textobjektes wie in Block 35 dargestellt durchgeführt. Wenn die Prüfung wahr ist, dann wird das Fließmerkmal in Block 36 eingeschaltet. Wenn das Fließmerkmal eingeschaltet und die Anzahl der Fließbereiche größer Null ist, dann wird eine weitere Schleife durchlaufen, damit der Text von neuem in alle Fließbereiche einfließen kann. Block 37 zeigt die Prüfung der Fließmerkmale und die Anzahl der Fließbereiche. Wenn diese Prüfung negativ ausgeht, dann wird der Textobjektsatz wie in Block 38 gezeigt aufgeteilt, und die Steuerung geht zum Ende der Prozeßschleife. Wenn die Prüfung wahr ist, dann beginnt die Schleife der Fließaktionen mit Block 39, wo der Editor den ersten Fließbereich erhält. Block 40 zeigt die Durchführung des Fließprüfungsprogramms. Dieses Programm springt mit einem Erfolgsoder Fehlschlagrücksprungcode zurück. Dieser Rücksprungcode wird in Block 41 geprüft. Wenn der Rücksprungcode erfolgreich ist, dann wird in Block 45 eine Prüfung gemacht, ob es weiteren Text gibt, der zum Fließen gebracht werden soll. Wenn die Prüfung falsch ist, dann erweist sich das Merkmal, daß kein Text mehr vorhanden ist, als wahr, und die Aktion wird bei Block 47 fortgesetzt. Wenn der Rücksprungcode von Block 41 falsch ist, dann wird ein Programm zur Bestimmung, ob das Fließen von neuem gestartet werden kann, durchgeführt. Block 42 zeigt den neuen Start des Fließprogramms. Dieses Programm springt auch mit einem Rücksprungscode über Erfolg oder Fehlschlag zurück, was in Block 43 geprüft wird. denn das Ergebnis erfolgreich ist, dann geht die Aktion am Ende der Fließaktionsschleife in Block 47 weiter. Wenn das Ergebnis negativ ist, dann wird der verbleibende Text entsprechend Block 44 geteilt, und die Aktion geht ebenfalls mit Block 47 weiter. Der Text in Block 47 soll klären, ob es noch Text gibt, dessen Fließen veranlaßt werden soll oder ob das Fließen negativ ausgegangen ist und nicht wieder gestartet werden kann. Wenn die Prüfung in Block 47 falsch ist, dann läuft die Steuerung zum Anfang der Fließaktionsschleife beim Block 39, und die Fließaktion geht weiter. Wenn der Text wahr ist, dann wird die Fließaktionsschleife abgeschlossen, und die Steuerung läuft zu Block 48, wo die Prüfung auf die Vollständigkeit des Fließprozesses durchgeführt wird. Der Fließprozeß ist abgeschlossen, wenn alle Objektsätze im Superblock bearbeitet worden sind.
  • Der Pseudocode für das Fließattribut für Textobkjekte wird nachstehend dargestellt (wobei angenommen wird, daß die Editierungsaktion an einem Superblockobjektsatz erfolgt ist und eine Neuformatierung des Superblocks notwendig ist)
  • Wenn an einem Superblockobjektsatz eine Editierungsfunktion stattgefunden hat und der Editor feststellt, daß der Superblock neu formatiert werden muß, dann ruft er ein Programm auf, mit dem der Objektsatztyp des ersten Objektsatzes im Superblock festgestellt werden kann (CALL GET_OBJECT_SET_TYPE).
  • Wenn der Objektsatztyp Text feststellt, dann wird die Markierung, die feststellt, daß Text vorhanden ist, eingeschaltet (TEXT_EXISTS). Danach wird ein Programm zur Prüfung aufgerufen, ob das Textfließattribut für den Textobjektsatz eingeschaltet ist (CALL TEXT_FLOW_ATTRIBUTE (FLOW_ON)). Wenn das Attribut eingeschaltet ist, dann wird zur Anzeige dieses Zustandes eine Markierung (FLOW_ON) gesetzt. Die Aufrufe zum Erhalt des Objektsatztyps und zur Prüfung der Fließattribute werden solange wiederholt, bis entweder alle Objektzsätze im Superblock geprüft worden sind oder die FLOW_ON-Markierung ausgeschaltet wird.
  • Wenn die Markierung TEXT_EXISTS eingeschaltet ist, dann wird eine Wiederholungsschleife eingeschoben und die Verfahrensweise solange fortgesetzt, wie es noch Textobjektsätze im Superblock gibt, bei denen das Fließen von Text rund um textfreie Objektsätze erforderlich sein könnte. Ehe in die Wiederholungsschleife eingetreten wird, ruft man für den Fall, daß die FLOW_ ON-Markierung eingeschaltet ist, ein Programm auf, das die Position der Fließbereiche im Superblock bestimmt (CALL DETERMINE_FLOW_ AREAS). Zur Bestimmung der Anzahl der Fließbereiche im Superblock wird die zulässige Mindestbreite für einen Fließbereich durch das Programm geschickt.
  • Beim Eintritt in die Wiederholungsschleife wird der erste Objektsatztyp festgestellt (CALL GET_OBJECT_SET_TYPE). Wenn der Objektsatz aus Text besteht, dann wird ein Prüfprogramm aufgerufen, ob dieser Textobjektsatz sein Fließattribut eingeschaltet hat (CALL TEST_FLOW_ATTRIBUTE (FLOW_ON)). Wenn das Fließattribut eingeschaltet und die Anzahl der Fließbereiche nicht Null ist, dann beginnt der Fließprozeß, oder anderenfalls wird ein Programm zur Aufteilung des Textobjektsatzes aufgerufen, da kein Fließen stattfinden kann (CALL SPLIT_OBJECT_SET). Der Fließprozeß ist eine Wiederholungsschleife, in der zahlreiche Aufrufe zum Fließen des Textes in die Fließbereiche hinein abgearbeitet werden. Diese Wiederholungsschleife wird solange fortgesetzt, wie noch Textobjektsätze im Superblock zu bearbeiten sind.
  • Nach dem Eintritt in die zweite Wiederholungsschleife wird ein Programm aufgerufen, mit dem man den ersten Bereich erhält, in den der Text einfließen soll (CALL GET_FLOW_AREA). Die Reihenfolge der Fließbereiche wird vom Editor bei der Bestimmung der Fließbereiche festgelegt. Danach wird ein Programm zum tatsächlichen Fluß des Textes aufgerufen (CALL FLOW_TEXT). Wenn das FLOW_TEXT-Programm erfolgreich ist, dann kann der Fließprozeß weitergehen; anderenfalls wird ein Programm aufgerufen, mit dem ein neuer Beginn des Fließprozesses in einen anderen Fließbereich versucht wird (CALL RESTART_FLOW). Wenn das Fließen nicht von neuem gestartet werden kann, dann wird der verbleibende Text aufgeteilt und nach den textfreien Objektsätzen angeordnet. Wenn das FLOW_TEXT-Programm erfolgreich ist, dann erscheint ein Text, aus dem zu sehen ist, ob alle Textdaten in den Textobjektsätzen zum Fließen gebracht wurden. Wenn dieser Fall zutrifft, dann wird das Merkmal NO_MORE_TEXT eingeschaltet. Wenn das NO_MORE_TEXT-Merkmal eingeschaltet ist oder der Fließvorgang nicht von neuem gestartet werden kann, dann wird die innere Wiederholungsschleife beendet. Die äußere Wiederholungsschleife wird beendet, wenn alle Textobjektsätze im Superblock bearbeitet worden sind.
  • Die Figuren 15A bis 15D zeigen noch andere Fließbeispiele zur weiteren Veranschaulichung des Verfahrens. Figur 15A zeigt den Textfluß zwischen einem graphischen Objektsatz und einem Tabellenobjektsatz in einem Superblock. Figur 15B zeigt den Textfluß oberhalb, unterhalb und zwischen zwei graphischen Objektsätzen. Figur 15C zeigt den Textf luß rund um einen Tabellenobjektsatz und zwischen verschiedenen graphischen Objektsätzen, die die Tabellenobjektsätze überdecken. Figur 15D zeigt den Textfluß an beiden Seiten von zwei graphischen Objektsätzen, die einander überdecken.
  • Mit dem Fließattribut, das der Benutzer ein- oder ausgeschaltet vorgeben kann, werden zusätzlich zu den Absatzobjekten auch Listenobjekte (die im Grunde ein Spezialfall eines Absatztextobjektes sind) versehen. Wenn das Fließattribut eingeschaltet ist und in der Mitte der Liste ein weiteres Objekt geschaffen oder eingefügt wird, dann wird der Listentext rund um das eingesetzte Objekt fließen, wie es am folgenden Beispiel zu sehen ist:
  • LISTENOBJEKT VOR DEM EDITIEREN
  • 1. Punkt 1.. Dies ist Punkt 1, dem ein Satz von Attributen zu eigen ist.
  • 2. Punkt 2. Dies ist Punkt 2, der einen anderen Satz von Attributen hat.
  • 3. Punkt 3. . . .
  • 4. Punkt 4. . . .
  • LISTENOBJEKT NACH DER EDITIERUNG
  • 1. Punkt 1. Dies ist Punkt 1, dem ein Satz von Attributen zu eigen ist.
  • 2. Punkt 2. Dies ist Punkt 2 der einen anderen Satz von Attributen hat. GRAPHISCHES OBJEKT
  • 3. Punkt 3. . . .
  • 4. Punkt 4. . . .
  • Außerdem kann ein Textabsatzobjekt unterbrochen werden, ohne daß es durch das Einfügen einer Tabelle mit einem einzelnen Element oder einer Liste zerstört wird. Wenn ein Textabsatz unterbrochen wird, dann wirkt er als ein ganzes Objekt, das einen Raum in sich hat. Wenn eine Liste den Absatz unterbricht, dann wird der Absatz am Ende der Liste wieder aufgenommen. Wenn an dem vor der Liste liegenden Teil des Absatzes eine Veränderung vorgenommen und dadurch veranlaßt wird, daß der Text formatiert und zu dem unterhalb der eingeschobenen Liste vorhandenen Text verschoben wird, dann springt er über die Liste hinweg und setzt die Formatierung des restlichen Absatzes so fort, als ob die Liste gar nicht existierte.
  • Zur weiteren Veranschaulichung der Superblockstruktur zeigt Figur 16 das Beispiel eines Superblocks, bei dem textfreie Objektsätze einander überdecken, und Figur 17 zeigt ein Beispiel von Textobjektsätzen mit textfreien Objektsätzen, bei dem nochmals erläutert wird, daß auch bei gegenseitiger Überlagerung von textfreien Objektsätzen sie niemals einen Textobjektsatz überlagern können. Der Superblock wird vom Editor implizit geschaffen, nachdem der Benutzer die Aktionen CREATE, MOVE, COPY, PASTE oder GET vorgegeben hat und als deren Ergebnis mindestens zwei Objektsätze den gleichen Anzeigeraum einnehmen. Die auf den Superblock anwendbaren Aktionen sind generische Funktionen, z.B. wird für den Fall, daß der Benutzer für den Superblock MOVE, COPY, GET oder DELETE auswählt, die ausgewählte Aktion auf alle Objektsätze innerhalb des Superblocks angewendet, so als ob sie eine Einheit wären. Wenn das Ziel für MOVE, COPY oder GET des Superblocks ein weiterer Superblock oder ein Objektsatz ist, dann wird die ursprüngliche Superblockstruktur durch eine neue am Zielort ersetzt. Mit anderen Worten, die Superblockstruktur wird, wenn sie einmal geschaffen worden ist, vom Editor wie ein weiterer Objektsatz behandelt, wobei die vom Editor ausgeführten Rechenvorgänge stark vereinfacht werden. Wenn der Benutzer einen Objektsatz innerhalb eines Superblocks auswählt, dann verändert sich die Befehlsleiste zur Widerspiegelung der Aktionen, die für diesen Objektsatztyp gültig sind. Die Position des Objektsatzes beeinflußt das Ergebnis nicht, das die Aktion am Objektsatz hat. Innerhalb des Superblocks kann der Objektsatz bewegt, kopiert, gelöscht, beschrieben usw. werden.
  • Bei der Schaffung des Superblocks bestimmt der Editor, was die linke und rechte Randbegrenzung sein soll. Der Benutzer kann diese Randbegrenzungen verändern, indem er die Superblockikone und dann DESCRIBE aus der Befehlsleiste auswählt. Dadurch wird das Pop-down-Feld angezeigt, wie es in Figur 18 der Zeichnungen dargestellt ist. Entsprechend dieser Figur kann der Benutzer auch einen Namen festlegen, den Raum vor und hinter dem Superblock verändern und das Schutzattribut über dieses Pop-down-Feld setzen. Die Regeln, die der Editor für die Plazierung der Objektsätze bei der Schaffung einer Superblockstruktur benutzt, sind folgendermaßen:
  • 1) Der Bestimmungsort, der für die Plazierung des Objekt satzes ausgewählt wird, ist der Anfangspunkt für die linke obere Randbegrenzung des Objektsatzes. Die Randeinstellung bleibt die gleiche.
  • 2) Wenn der linke Rand gleich oder größer als die rechte Randbegrenzung definiert wird, dann wird der Editor den Objektsatz nicht innerhalb des Superblocks plazieren.
  • 3) Wenn der gesamte Inhalt des Objektsatzes nicht angezeigt werden kann, dann wird der Objektsatz vom Editor zur Anpassung an den vorhandenen Platz eingeengt. Die Daten sind dann innerhalb der neuen Begrenzung aufrollbar.
  • 4) Textobjektsätze können nicht überdeckt werden.
  • 5) Wenn genug Platz links oder rechts von einem textfreien Objektsatz ist, dann wird der mit einem Fließattribut versehene Text natürlich in den freien Raum fließen. Wenn nicht genug Platz ist, dann wird der Textobjektsatz hinter dem textfreien Objektsatz angeordnet.
  • Ein Superblock kann die Seitenbegrenzung schneiden, so lange die Daten innerhalb des Superblocks zwischen den Seiten aufgeteilt werden können. Die Superblockstruktur vereinfacht die Buchführung, die der Paginator braucht. Solange der Superblock das Seitenende nicht schneidet, muß der Paginator nur die Gesamthöhe der Superblockstruktur wissen. Wenn der Superblock zwischen zwei Seiten aufgeteilt werden muß, dann muß der Paginator jeden Objektsatz im Superblock daraufhin prüfen, ob die Daten die Aufteilung des Superblocks zulassen. Wenn der Superblock aufgeteilt werden kann, dann muß der Paginator die Stelle für die Trennung bestimmen.
  • Mit der Schaffung der Superblockstruktur begrenzt der Editor die Handhabung der komplexen Daten innerhalb der Struktur nur auf die Fälle, wo eine Seitenendentscheidung getroffen werden muß. Außerdem wird die Darstellung auf der Anzeige weniger verwirrend, denn es gibt nur eine einzige Ikone für den Superblock anstelle einer Vielzahl von Ikonen für jeden Objektsatz innerhalb der Superblockstruktur. Daher vereinfacht die Schaffung dieser Struktur durch den Editor die Zusammenfassung und Bearbeitung von unterschiedlichen Datentypen auf einer Seite, obwohl der Superblock eine komplexe Struktur ist. Der Superblock gestattet dem Benutzer die relativ leichte Bearbeitung einer Gruppe von Objektsätzen innerhalb eines einzigen anzeigbaren Bereiches auf einer Seite.
  • Figur 19 zeigt die Objektdatenstruktur eines Dokumentes, wie sie in den Dokumentenring des anwendungsvariablen Editors eingebunden ist. Das Dokument wird in den Dokumentenring mit Hilfe einer Adresse eingebracht, die auf das Dokumentenobjekt und die folgende Dokumentenüberschrift hinweist. Das Dokumentenobjekt verweist wie im POLITE-Editor auf den undo-Ring, den redo-Ring und die Formatierungsinformation doc_fcb. Ein Objektsatz ist die Basis für den Aufbau eines anwendungsvariablen Editors, und das Dokumentenobjekt verweist auf den ersten Kennsatz, und dieser verweist umgekehrt auf den ersten Objektsatz, obj_setl. Jeder Objektsatz verweist auf den vorhergehenden und den nächsten Objektsatz; jedes Objekt kann einen Namen haben; jeder Objektsatz kann Teil eines vom Benutzer definierten Blockes sein, der auf einer Seite zusammenzuhalten ist, und jeder Objektsatz hat eine eindeutige Identifikation, die beim Umbruch der Daten benutzt wird. Wie man aus dem Aufbau in Figur 17 schlußfolgern kann, bleiben alle Daten im Editor auf der Seite, und alle Seiten bleiben innerhalb des zusammengesetzten Dokumentes.
  • Einer oder mehrere Objektsätze in der in Figur 19 gezeigten Datenstruktur können eine Superblockstruktur sein. Eine Darstellung der Superblockstruktur wird in Figur 20 gezeigt.
  • Der Pascal-Aufbau der Superblockstruktur wird nachstehend dargelegt: PASCAL-CODE FÜR DIE SUPERBLOCKDEFINITION
  • Es folgt eine Erklärung der Felder eines Superblockobjektsatzes:
  • prev = Zeiger auf den vorhergehenden Objektsatz.
  • next = Zeiger auf den nächsten Objektsatz.
  • name = Zeiger auf eine beliebige benutzer definierte Kennsatzinformation.
  • height = Höhe in generischen Einheiten des Superblocks.
  • formatted = Markierung, ob der Superblock formatiert worden ist.
  • keep = Markierung, ob der Superblock zwischen zwei Seiten aufgeteilt werden kann.
  • fcb = Zeiger auf die Formatierungsinformation für den Superblock.
  • id_tag eindeutige Identifikationszahl, die diesem Superblock zugeordnet ist.
  • s_head = Zeiger auf die superblockspezifische Information : die erste id- Struktur des Objektsatzes und die letzte id-Struktur des Objektsatzes.
  • obj_set_type = Einstufung, daß der Objektsatz ein Superblock ist.
  • Alle obigen Felder mit Ausnahme von s_head sind allen Objektsätzen gemeinsam. Bei einem Textobjektsatz ist das variable Zeigerfeld txt_head, für einen graphischen Objektsatz ist das variable Zeigerfeld g_head und für einen Tabellenobjektsatz ist das variable Zeigerfeld tbl_head. Nachstehend werden die Felder für eine Objektsatz-Identifikationsstruktur erklärt:
  • loc = die x,y-Grenzen des Objektsatzes, die mit dieser Objektsatz-id verbunden sind.
  • next_obj_set = Zeiger auf die nächste Objektsatzid-Struktur in diesem Superblock.
  • obj_set = Zeiger auf den Objektsatz, der mit dieser Objektsatz-id verbunden ist.
  • Das Höhenfeld eines Objektsatzes wird vom Paginator dann benutzt, wenn eine Seite innerhalb eines Dokumentes formatiert wird. Wenn bei einem Superblockobjektsatz seine Höhe zusammen mit dem auf der Seite schon verbrauchten Raum kleiner oder gleich dem gesamten auf der Seite verfügbaren Raum ist, dann braucht der Inhalt des ersten bis zum letzten Objektsatz innerhalb des Superblocks vom Paginator nicht geprüft zu werden. Dies vereinfacht das Verfahren stark, das ohne die Existenz der Superblockstruktur kompliziert gewesen wäre. Die formatted- und keep-Merkmale sind Boole'sche Felder, die vom Paginator zu der Aussage benutzt werden, ob zur Fortsetzung der Seitenaufteilung eine weitere Bearbeitung am Superblock erfolgen muß. Wenn keep wahr ist, dann kann der Superblock nicht zwischen zwei Seiten aufgeteilt werden.
  • So wird gemäß dem eingereichten Umfang der Erfindung ein Superblock als ein Objektsatztyp innerhalb des anwendungsvariablen Editors eingeführt, wobei es dann vier Objektsatztypen gibt, nämlich Text, graphische Darstellung, Tabelle und Superblock. Wenn der Superblock geschaffen wird, dann wird ein Objektsatz definiert, und der Editor ordnet eine interne Struktur oder einen Objektsatz zu, der das Objekt innerhalb des Dokumentenpuffers darstellt. Alle Objektsatzstrukturen sind mit Ausnahme der unteren Hälfte gleich, die entsprechend dem Typ des Objektsatzes variiert. Diese Strukturen werden in die Programmiersprache Pascal eingeführt. Variierende Datentypen werden mit Pascal-Variantenregistern eingeführt. Der variable Teil des Superblocks wird durch einen Zeiger (s_head) auf der superblockspezifischen Strukturinformation dargestellt. Die spezifische Strukturinformation (sblk_head) besteht aus zwei Zeigern: einem ersten (first_obj_set) und einem letzten Objektsatzzeiger (last_obj_set). Jeder dieser Zeiger ist ein Zeigertyp (obj_set_id_ptr) zur Objektsatzidentifikation (id), was einem Zeiger auf einer Objektsatz-id-record-Struktur entspricht (obj_set_id). Ein Objekt-id ist eine Pascal-Struktur, die aus drei Feldern besteht: loc, die die x,y-Grenzen innerhalb des Superblocks enthält; next_obj_set, die ein Zeiger auf das nächste Objektsatz-id in der Superblockstruktur ist und obj_set, die ein Zeiger zu demjenigen Objektsatz ist, der mit dem Objektsatzid verbunden ist. Die in einem Superblock vorhandenen Objektsätze können Text, Tabellen oder graphische Darstellungen sein. Die Einführung schließt Superblöcke innerhalb von Superblöcken nicht aus.

Claims (5)

1. Bei einem integrierten Editor für mehrere Daten, welcher von jener Art ist, die ein zusammengesetztes Dokument erzeugt, das verschiedene Test- und/oder textfreie Objekte aufweist, die auf dieselbe Seite des Dokumentes gesetzt sind, wobei der Editor die Objekte enthaltende Objektsätze handhabt, bei welchen jeder Objektsatz zu dem vorangehenden und nächsten Objektsatz weist und jeder Objektsatz eine eindeutige Identifikation aufweist, die bei dem Paging von Daten verwendet wird, wobei jeder Objektsatz Objekte derselben Art aufweist, die in ihm liegen und auch Ikonen abgegrenzt sind, welche die Objektsatzart anzeigen, Verfahren zum Aufbereiten eines Superblocks, der vorangehend erzeugt wurde, um zwei oder mehr Objektsätze zu enthalten, die so gesetzt sind, daß die Objektsätze einander überlappen, nebeneinander liegen oder sich über- oder untereinander so erstrecken, daß das Dokument durch Handhaben der Superblockstruktur wie ein Objektsatz formatiert werden kann, ohne die Kompliziertheit innerhalb der Superblockstruktur in Betrag zu ziehen, außer wenn eine Seitenendeentscheidung gefällt werden muß, wobei die Superblockstruktur durch eine einzige Ikone abgegrenzt ist, ist das Verfahren zum Aufbereiten der Superblockstruktur dadurch gekennzeichnet, daß dieses die folgenden Schritte umfaßt:
Auswählen der Superblockikone und, entsprechend dem Auswählen der Superblockikone,
Anzeigen der Befehle, die zum Aufbereiten der Superblockstruktur als eine Gesamtheit verwendet werden können und auch Anzeigen der Ikonen der Objektsätze innerhalb der Superblockstruktur,
Auswählen entweder eines Befehls zum Aufbereiten der Superblockstruktur als eine Gesamtheit oder einer Ikone eines Objektsatzes innerhalb der Superblockstruktur, die aufbereitet werden soll, und falls eine Ikone eines Objektsatzes innerhalb des Superblocks ausgewählt ist,
Anzeigen der Befehle, die zum Aufbereiten der ausgewählten Objektsatzart verwendet werden können und
Auswählen eines Befahls zum Aufbereiten des ausgewählten Objektsatzes.
2. Verfahren nach Anspruch 1, bei welchem jeder der Schritte des Auswählens durch den Schritt des Hinweisens zu einem Befehl oder einer Ikone durchgeführt wird.
3. Verfahren nach Anspruch 1, bei welchem der Vorgang des Aufbereitens ferner die folgenden Schritte umfaßt:
Bestimmen, ob eine Seitenunterbrechung innerhalb eines Superblocks vorkommt und falls ja
Bestimmen, ob der Superblock zwischen Seiten geteilt werden kann.
4. Verfahren nach Anspruch 3, das ferner den Schritt des Definierens einer Aufbewahrungsfunktion für eine Superblockstruktur als entweder wahr oder falsch umfaßt und der Vorgang des Aufbereitens ferner die folgenden Schritte umfaßt:
Erfassen, ob die Aufbewahrungsfunktion wahr ist und falls die Aufbewahrsfunktion wahr ist.
Verhindern, daß die Superblockstruktur in zwei Seiten geteilt wird, andernfalls.
Prüfen der inneren Struktur der Superblockstruktur, um zu bestimmen, wo der Superblock geteilt werden kann, wenn eine Seitenendeentscheidung gefällt werden muß.
5. Verfahren nach Anspruch 4, bei welchem, falls es bestimmt wird, daß der Superblock zwischen Seiten nicht geteilt werden kann, daran anschließend die zusätzlichen Schritte des Bildens und Anzeigens einer Nachricht dem Benutzer durchgeführt werden, die erklärt, warum die Superblockstruktur nicht geteilt werden kann und Aufbereitungsschritte empfiehlt, welche es ermöglichen, falls angenommen, daß der Superblock zwischen Seiten geteilt wird.
DE8585109843T 1984-08-30 1985-08-06 Integriertes vieldaten-edierungsgeraet. Expired - Fee Related DE3586272T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/645,630 US4723211A (en) 1984-08-30 1984-08-30 Editing of a superblock data structure

Publications (2)

Publication Number Publication Date
DE3586272D1 DE3586272D1 (de) 1992-08-06
DE3586272T2 true DE3586272T2 (de) 1993-02-11

Family

ID=24589803

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8585109843T Expired - Fee Related DE3586272T2 (de) 1984-08-30 1985-08-06 Integriertes vieldaten-edierungsgeraet.

Country Status (3)

Country Link
US (1) US4723211A (de)
EP (1) EP0173122B1 (de)
DE (1) DE3586272T2 (de)

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450598A (en) * 1985-12-27 1995-09-12 Xerox Corporation Finite state machine data storage where data transition is accomplished without the use of pointers
US4974194A (en) * 1986-04-04 1990-11-27 International Business Machines Corporation Method for modifying intermingled text object and graphic object within an object set individually or correspondingly
JPS6324448A (ja) * 1986-07-17 1988-02-01 Toshiba Corp 複合文書処理装置
US5142618A (en) * 1986-11-21 1992-08-25 Hitachi, Ltd. Window management apparatus for a document creating apparatus
US5226161A (en) * 1987-08-21 1993-07-06 Wang Laboratories, Inc. Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types
US5206951A (en) * 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
KR0121574B1 (ko) * 1987-08-24 1997-11-22 나까가와 가즈오 데이터 처리장치 및 이것을 사용하는 편집장치
DE3838740A1 (de) * 1987-11-16 1989-06-01 Canon Kk Dokumentationsverarbeitungsanlage
US4891771A (en) * 1987-12-18 1990-01-02 International Business Machines Corporation Column balancing control
AU638636B2 (en) * 1988-04-25 1993-07-01 Hewlett-Packard Company A method of deleting objects from a linked object data structure
US4905146A (en) * 1988-05-24 1990-02-27 International Business Machines Corporation Explicit specification of valid compound document data stream structure and content
US5204946A (en) * 1988-06-17 1993-04-20 Canon Kabushiki Kaisha Mixed text and image data processing
US5033008A (en) * 1988-07-22 1991-07-16 International Business Machines Corporation Dynamic selection of logical element data format as a document is created or modified
US5033009A (en) * 1989-03-03 1991-07-16 Dubnoff Steven J System for generating worksheet files for electronic spreadsheets
US5214755A (en) * 1989-04-25 1993-05-25 Microsoft Corporation Document processing method and system
US5125091A (en) * 1989-06-08 1992-06-23 Hazox Corporation Object oriented control of real-time processing
US5212770A (en) * 1989-12-06 1993-05-18 Eastman Kodak Company Data-handling and display system capable of supporting multiple application programs and output devices
US5181162A (en) * 1989-12-06 1993-01-19 Eastman Kodak Company Document management and production system
WO1991009368A1 (en) * 1989-12-13 1991-06-27 Araco Method and apparatus for storing, transmitting and retrieving graphical and tabular data
US5179652A (en) * 1989-12-13 1993-01-12 Anthony I. Rozmanith Method and apparatus for storing, transmitting and retrieving graphical and tabular data
US5185857A (en) * 1989-12-13 1993-02-09 Rozmanith A Martin Method and apparatus for multi-optional processing, storing, transmitting and retrieving graphical and tabular data in a mobile transportation distributable and/or networkable communications and/or data processing system
GB2241629A (en) * 1990-02-27 1991-09-04 Apple Computer Content-based depictions of computer icons
GB9005697D0 (en) * 1990-03-14 1990-05-09 Digital Equipment Int Data format conversion
JPH04105164A (ja) * 1990-08-24 1992-04-07 Matsushita Electric Ind Co Ltd 文章管理装置
US5412774A (en) * 1990-08-29 1995-05-02 At&T Corp. Apparatus for and method of displaying a data item of a database using the display function of a selected data item
JPH0594537A (ja) * 1991-02-27 1993-04-16 Canon Inc グラフ処理方法
US5253341A (en) * 1991-03-04 1993-10-12 Rozmanith Anthony I Remote query communication system
JPH05225181A (ja) * 1991-03-14 1993-09-03 Nec Corp 編集装置
US5953735A (en) * 1991-03-20 1999-09-14 Forcier; Mitchell D. Script character processing method and system with bit-mapped document editing
US5231698A (en) * 1991-03-20 1993-07-27 Forcier Mitchell D Script/binary-encoded-character processing method and system
US6434581B1 (en) * 1991-03-20 2002-08-13 Microsoft Corporation Script character processing method for interactively adjusting space between writing element
US5220649A (en) * 1991-03-20 1993-06-15 Forcier Mitchell D Script/binary-encoded-character processing method and system with moving space insertion mode
US5416900A (en) * 1991-04-25 1995-05-16 Lotus Development Corporation Presentation manager
JP2993528B2 (ja) * 1991-05-18 1999-12-20 富士通株式会社 テキスト管理・復元方式
EP0529121A1 (de) * 1991-08-24 1993-03-03 International Business Machines Corporation Werkzeug zur Graphikdarstellung
US5428737A (en) * 1991-10-16 1995-06-27 International Business Machines Corporation Comprehensive bilateral translation between SQL and graphically depicted queries
US5623282A (en) * 1991-12-31 1997-04-22 Microsoft Corporation Method and system for the direct manipulation of cells in an electronic spreadsheet program or the like
US6678864B1 (en) * 1992-02-25 2004-01-13 Irving Tsai Method and apparatus for linking designated portions of a received document image with an electronic address
JP3258379B2 (ja) * 1992-07-06 2002-02-18 富士通株式会社 メニュー表示装置
US5377640A (en) * 1992-07-23 1995-01-03 Sumitomo Wiring Systems, Ltd. Plug cap device
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
US5375200A (en) * 1992-11-13 1994-12-20 International Business Machines Corporation Method and system for graphic interaction between data and applications within a data processing system
JP2711216B2 (ja) * 1993-01-26 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション オブジェクトを管理するためのシステム及び方法
JPH0713966A (ja) * 1993-04-12 1995-01-17 Xerox Corp 文書の編集方法
US5479599A (en) * 1993-04-26 1995-12-26 International Business Machines Corporation Computer console with group ICON control
US5454106A (en) * 1993-05-17 1995-09-26 International Business Machines Corporation Database retrieval system using natural language for presenting understood components of an ambiguous query on a user interface
US5434906A (en) * 1993-09-13 1995-07-18 Robinson; Michael J. Method and apparatus for processing an incoming call in a communication system
US5625676A (en) * 1993-09-13 1997-04-29 Active Voice Corporation Method and apparatus for monitoring a caller's name while using a telephone
JPH07295940A (ja) * 1994-04-21 1995-11-10 Sharp Corp 電子機器
JPH0816669A (ja) * 1994-06-27 1996-01-19 Fujitsu Ltd 帳票編集機能を備えた情報処理装置
US6160549A (en) * 1994-07-29 2000-12-12 Oracle Corporation Method and apparatus for generating reports using declarative tools
US7467137B1 (en) 1994-09-02 2008-12-16 Wolfe Mark A System and method for information retrieval employing a preloading procedure
US7103594B1 (en) 1994-09-02 2006-09-05 Wolfe Mark A System and method for information retrieval employing a preloading procedure
US5715445A (en) * 1994-09-02 1998-02-03 Wolfe; Mark A. Document retrieval system employing a preloading procedure
US6604103B1 (en) 1994-09-02 2003-08-05 Mark A. Wolfe System and method for information retrieval employing a preloading procedure
US5546520A (en) * 1994-09-30 1996-08-13 International Business Machines Corporation Method, system, and memory for reshaping the frame edges of a window around information displayed in the window
US5771032A (en) * 1994-09-30 1998-06-23 International Business Machines Corporation Method, system, and memory for modifying a window as information is being scrolled
US5764895A (en) * 1995-01-11 1998-06-09 Sony Corporation Method and apparatus for directing data packets in a local area network device having a plurality of ports interconnected by a high-speed communication bus
US5729665A (en) * 1995-01-18 1998-03-17 Varis Corporation Method of utilizing variable data fields with a page description language
US6243172B1 (en) * 1995-01-18 2001-06-05 Varis Corporation Method and system for merging variable text and images into bitmaps defined by a page description language
US5740455A (en) * 1995-05-16 1998-04-14 Apple Computer, Inc. Enhanced compound document processing architectures and methods therefor
US7302638B1 (en) 1995-06-07 2007-11-27 Wolfe Mark A Efficiently displaying and researching information about the interrelationships between documents
US5870770A (en) * 1995-06-07 1999-02-09 Wolfe; Mark A. Document research system and method for displaying citing documents
US6199082B1 (en) 1995-07-17 2001-03-06 Microsoft Corporation Method for delivering separate design and content in a multimedia publishing system
US5841420A (en) * 1995-08-18 1998-11-24 International Business Machines Corporation Method and system in a data processing system windowing environment for displaying previously obscured information
JP3753263B2 (ja) * 1995-08-23 2006-03-08 ヒューレット・パッカード・カンパニー 画像を処理する方法
US5802380A (en) * 1996-03-08 1998-09-01 Microsoft Corporation Method and system for uniform access of textual data
US5805170A (en) * 1996-05-07 1998-09-08 Microsoft Corporation Systems and methods for wrapping a closed polygon around an object
US6006252A (en) 1996-10-08 1999-12-21 Wolfe; Mark A. System and method for communicating information relating to a network resource
US6240430B1 (en) 1996-12-13 2001-05-29 International Business Machines Corporation Method of multiple text selection and manipulation
JPH10228473A (ja) * 1997-02-13 1998-08-25 Ricoh Co Ltd 文書画像処理方法、文書画像処理装置および記憶媒体
US6128633A (en) * 1997-03-25 2000-10-03 Microsoft Corporation Method and system for manipulating page-breaks in an electronic document
US6041114A (en) 1997-03-27 2000-03-21 Active Voice Corporation Telecommute server
US8626763B1 (en) 1997-05-22 2014-01-07 Google Inc. Server-side suggestion of preload operations
US6487568B1 (en) * 1997-07-18 2002-11-26 Tesseron, Ltd. Method and system for flowing data to an arbitrary path defined by a page description language
US7302438B1 (en) 1997-07-18 2007-11-27 Tesseron Ltd. Method and system for flowing data to an arbitrary path defined by a page description language
US6154754A (en) * 1997-09-25 2000-11-28 Siemens Corporate Research, Inc. Automatic synthesis of semantic information from multimedia documents
US6292813B1 (en) 1997-11-17 2001-09-18 Mark A. Wolfe System and method for communicating information relating to a network resource
US7257604B1 (en) 1997-11-17 2007-08-14 Wolfe Mark A System and method for communicating information relating to a network resource
US6738080B1 (en) * 1998-03-02 2004-05-18 Xerox Corporation Message management system for a user interface of a multifunctional printing system
US7315979B1 (en) 1998-11-09 2008-01-01 Tesseron Ltd. Method and system for dynamic flowing data to an arbitrary path defined by a page description language
US6192367B1 (en) * 1998-11-23 2001-02-20 International Business Machines Corporation Data file editor presenting semi-formatted view
US6549878B1 (en) * 1998-12-31 2003-04-15 Microsoft Corporation System and method for editing a spreadsheet via an improved editing and cell selection model
US6411283B1 (en) 1999-05-20 2002-06-25 Micron Technology, Inc. Computer touch screen adapted to facilitate selection of features at edge of screen
US6727892B1 (en) * 1999-05-20 2004-04-27 Micron Technology, Inc. Method of facilitating the selection of features at edges of computer touch screens
US7117435B1 (en) 2000-06-21 2006-10-03 Microsoft Corporation Spreadsheet fields in text
US6948135B1 (en) * 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US6874143B1 (en) * 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
US7624356B1 (en) * 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
EP1325427A2 (de) 2000-06-21 2003-07-09 Microsoft Corporation System und verfahren zur integration von kalkulationsblättern und textverarbeitungstabellen
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7000230B1 (en) * 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7346848B1 (en) * 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
CN1591400A (zh) * 2001-11-09 2005-03-09 无锡永中科技有限公司 集成数据处理系统
CA2418670A1 (en) 2003-02-11 2004-08-11 Ibm Canada Limited - Ibm Canada Limitee Method and system for generating executable code for formatiing and printing complex data structures
US7275216B2 (en) * 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7913159B2 (en) * 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7516145B2 (en) 2003-03-31 2009-04-07 Microsoft Corporation System and method for incrementally transforming and rendering hierarchical data files
US7168035B1 (en) 2003-06-11 2007-01-23 Microsoft Corporation Building a view on markup language data through a set of components
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7197515B2 (en) * 2003-06-30 2007-03-27 Microsoft Corporation Declarative solution definition
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7430711B2 (en) 2004-02-17 2008-09-30 Microsoft Corporation Systems and methods for editing XML documents
US7318063B2 (en) 2004-02-19 2008-01-08 Microsoft Corporation Managing XML documents containing hierarchical database information
US7496837B1 (en) * 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7568101B1 (en) 2004-05-13 2009-07-28 Microsoft Corporation Digital signatures with an embedded view
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US20060054758A1 (en) * 2004-09-16 2006-03-16 Simpson Allen H Fixture for holding a preform during a heating process
US7692636B2 (en) * 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7516399B2 (en) 2004-09-30 2009-04-07 Microsoft Corporation Structured-document path-language expression methods and systems
US20060074933A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Workflow interaction
US8487879B2 (en) 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US7584417B2 (en) 2004-11-15 2009-09-01 Microsoft Corporation Role-dependent action for an electronic form
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7509353B2 (en) 2004-11-16 2009-03-24 Microsoft Corporation Methods and systems for exchanging and rendering forms
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7437376B2 (en) 2004-12-20 2008-10-14 Microsoft Corporation Scalable object model
US7337399B2 (en) * 2005-01-03 2008-02-26 Infoprint Solutions Company Apparatus, system, and method for editing a region of a document intersecting multiple content component types in a single operation
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US7673228B2 (en) * 2005-03-30 2010-03-02 Microsoft Corporation Data-driven actions for network forms
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US20070011665A1 (en) * 2005-06-21 2007-01-11 Microsoft Corporation Content syndication platform
US7543228B2 (en) 2005-06-27 2009-06-02 Microsoft Corporation Template for rendering an electronic form
US8200975B2 (en) * 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US7613996B2 (en) 2005-08-15 2009-11-03 Microsoft Corporation Enabling selection of an inferred schema part
US20070061706A1 (en) * 2005-09-14 2007-03-15 Microsoft Corporation Mapping property hierarchies to schemas
US20070061467A1 (en) * 2005-09-15 2007-03-15 Microsoft Corporation Sessions and session states
US8001459B2 (en) * 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US7779343B2 (en) 2006-01-30 2010-08-17 Microsoft Corporation Opening network-enabled electronic documents
US20080005667A1 (en) 2006-06-28 2008-01-03 Dias Daniel M Method and apparatus for creating and editing electronic documents
US8739068B2 (en) * 2007-06-15 2014-05-27 Microsoft Corporation Dynamic user interface for in-diagram shape selection
US20090083616A1 (en) * 2007-09-25 2009-03-26 Microsoft Corporation Ubiquitous electronic forms
US8762871B2 (en) * 2008-02-03 2014-06-24 Microsoft Corporation Dynamic preview of diagram elements to be inserted into a diagram
JP5460214B2 (ja) * 2009-09-29 2014-04-02 キヤノン株式会社 情報処理装置、制御方法及びプログラム
BR112014003925A2 (pt) * 2011-08-19 2017-02-21 Apple Inc método de autoria de conteúdo para livro digital e sistema para autoria de conteúdo de livro digital
US10068031B2 (en) * 2013-03-15 2018-09-04 Bullet Point Network, L.P. Tabular data manipulation system and method
US9639263B2 (en) 2014-08-05 2017-05-02 Weebly, Inc. Native overlay for rapid editing of web content
US10139998B2 (en) 2014-10-08 2018-11-27 Weebly, Inc. User interface for editing web content
US20200183553A1 (en) 2018-12-10 2020-06-11 Square, Inc. Customized Web Page Development based on Point-of-Sale Information

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4454576A (en) * 1981-05-18 1984-06-12 International Business Machines Corporation Report preparation
US4441829A (en) * 1981-09-24 1984-04-10 International Business Machines Method for performing a multiple page get operation in a text processing system
US4570217A (en) * 1982-03-29 1986-02-11 Allen Bruce S Man machine interface
US4460975A (en) * 1982-09-17 1984-07-17 Saga Data, Inc. Easily accessible formating of computer printouts
US4587633A (en) * 1982-11-10 1986-05-06 Wang Laboratories, Inc. Management communication terminal system
US4578766A (en) * 1983-09-01 1986-03-25 The United States Of America As Represented By The Secretary Of The Navy Computer-aided process for generating camera-ready graphical artwork

Also Published As

Publication number Publication date
EP0173122B1 (de) 1992-07-01
DE3586272D1 (de) 1992-08-06
EP0173122A3 (en) 1986-06-25
US4723211A (en) 1988-02-02
EP0173122A2 (de) 1986-03-05

Similar Documents

Publication Publication Date Title
DE3586272T2 (de) Integriertes vieldaten-edierungsgeraet.
DE3586274T2 (de) Vieldaten-edierungsgeraet mit gebrauch von attributstroemen fuer textobjekte.
DE3586273T2 (de) Implizite erzeugung einer superblockstruktur in einem vieldaten-edierungsgeraet.
DE3586790T2 (de) In linie-dynamischer editor fuer gemischte objectdokumente.
DE3885085T2 (de) Verfahren zur automatischen Änderung der Abmessungen von angezeigten Objekten in Bezug auf die Änderungen der Abmessungen des Bildfensters.
DE10135445B4 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE3688107T2 (de) Verfahren zur Behaltung der Anpassungsfähigkeit von mit verschiedenen Eingabe-/Ausgabearten.
DE3689034T2 (de) Elektronisches System zur Text-Grafik-Aufbereitung.
DE3853788T2 (de) Dokumentbildungssystem mit benannten Formaten und Schriftarten.
DE69425684T2 (de) System und Verfahren zur Verwaltung elektronischer Modellierungssysteme
DE69637125T2 (de) Optimaler zugriff auf elektronische dokumente
DE68922116T2 (de) Dokumentverarbeitungssystem und Verfahren zur Verwendung darin.
DE69521575T2 (de) Verfahren und Anordnung zur Darstellung elektronischer Dokumente
DE68919503T2 (de) Methode und System zur Darstellung einer Benutzeroberfläche auf einem Computerbildschirm.
DE69724360T2 (de) Methode und System zur Erleichterung der Informationsanzeige an einen Rechnerbenutzer
DE69129959T2 (de) Elektronisches Dokumentenaufbereitungssystem
DE69429658T2 (de) Computer-bedieneroberfläche für dokumente mit vielfältigem inhalt
DE10162156B4 (de) Die Benutzernavigation durch Multimedia-Dateiinhalte unterstützendes System und Verfahren
DE69327948T2 (de) Bereich-layout in einer Sicht auf einem grafischen Anzeigeschirm
DE69903919T2 (de) System zum speichern der visuellen form von information aus einer anwendung in eine datenbank und zum wiederauffinden
DE69528738T2 (de) Systeme und Verfahren zur Herstellung und Auffrischung zusammengesetzter Dokumente
DE69807483T2 (de) Verfahren zum darstellen von glyphen unter verwendung einer bibliothek von gestaltungsdiensten
DE69909886T2 (de) Elektronisches Notizbuch zum Festhalten von Entwurfsdaten
DE69400276T2 (de) Zeichensatzsystem für texteingabe
DE69400870T2 (de) Dynamisches verknüpfungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee