DE69327948T2 - Bereich-layout in einer Sicht auf einem grafischen Anzeigeschirm - Google Patents
Bereich-layout in einer Sicht auf einem grafischen AnzeigeschirmInfo
- Publication number
- DE69327948T2 DE69327948T2 DE69327948T DE69327948T DE69327948T2 DE 69327948 T2 DE69327948 T2 DE 69327948T2 DE 69327948 T DE69327948 T DE 69327948T DE 69327948 T DE69327948 T DE 69327948T DE 69327948 T2 DE69327948 T2 DE 69327948T2
- Authority
- DE
- Germany
- Prior art keywords
- region
- view
- area
- objects
- graphical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Processing Or Creating Images (AREA)
- Road Signs Or Road Markings (AREA)
- Electrochromic Elements, Electrophoresis, Or Variable Reflection Or Absorption Elements (AREA)
- Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
- Digital Computer Display Output (AREA)
Description
- Die Erfindung betrifft eine graphische Anzeigevorrichtung, umfassend Mittel zum Erzeugen von Ansichten auf einem Bildschirm, wobei die genannten Ansichten eine Vielzahl graphischer Objekte umfassen.
- Die Erfindung stellt außerdem eine Methode für das Layout graphischer Objekte innerhalb einer Ansicht bereit, die auf der graphischen Anzeigevorrichtung angezeigt wird.
- Das Produkt IBM ScreenView ist eine Gruppe von Diensten, die auf einem Betriebssystem installiert werden können, um Anwendungen mit einer einheitlichen Benutzerschnittstelle zu entwickeln und um diese Anwendungen auszuführen. ScreenView besteht im wesentlichen aus zwei Teilen:
- Runtime Service (RTS), das während der Laufzeit Dienste für Anwendungen bereitstellt.
- Application Development Services (ADS), das Programmierer bei der Entwicklung verschiedener Benutzer-Schnittstellentypen für diese Anwendungen unterstützt, die dann in allen Anwendungen einheitlich sind.
- ScreenView, Version 1.1, wird in den folgenden Publikationen beschrieben:
- ScreenView User's Guide (IBM-Publikation Nummer SC33-6451) ScreenView Application Developer's Guide (IBM-Publikation Nummer SC33-6452)
- ScreenView Application Developer's Reference (IBM-Publikation Nummer SC33-6453)
- Die darin enthaltene Information ist durch Bezugnahme in diesem Patent enthalten.
- Beim Arbeiten mit ScreenView erscheinen alle ScreenView-Anwendungen als eine Reihe von Objekten, mit denen der Endanwender bestimmte Aktionen durchführen kann. Bei der Konfiguration eines Rechnersystems würden beispielsweise Objekte wie Prozessoren, Festplatten und/oder Steuerungseinheiten (sogenannte graphische Objekte) zu sehen sein und zu den durchzuführenden Aktionen würde das Löschen, das Verbinden und/oder Hinzufügen gehören. ScreenView ermöglicht eine gemeinsame Objektnutzung und erleichtert die Interoperabilität unter den einzelnen Anwendungen. Ein Beispiel einer solchen Anwendung wird beschrieben im IBM Technical Disclosure Bulletin, Band 35, Nr. 2, Juli 1992, Seite 58-63, in dem Artikel "Graphical Definition of Configuration Objects".
- Der Entwurf der Endanwender-Schnittstelle für ScreenView-Anwendungen konzentriert sich auf die Objekte, die der Endanwender ansehen und bearbeiten kann. Die Spezifikation der Endanwender- Schnittstelle wird unter Verwendung einer deklarativen Sprache, genannt Benutzerschnittstellen-Deklaration (UID), programmiert.
- Eine Ansicht in ScreenView ist eine Darstellung der Objektdetails, zum Beispiel was in dem Objekt enthalten ist, wie es aufgebaut ist und/oder welches seine Eigenschaften sind. Die Ansichten ermöglichen es einem Benutzer, sich die Details eines Objektes anzusehen und das Objekt zu bearbeiten. Bei Verwendung einer graphischen Anzeigevorrichtung könnte eine Ansicht das auf dem Bildschirm angezeigte Bild darstellen und die Objekte würden als Icons auf dem Bildschirm gezeigt. Der Begriff "graphische Objekte" wird oft verwendet, um die auf der graphischen Anzeigevorrichtung angezeigten Objekte zu beschreiben.
- Nachdem die Objekte definiert sind, muß der Entwerfer der Benutzerschnittstelle die Ansichten auswählen, über die Endanwender am besten auf die Objekte zugreifen können, um ihre Aufgaben zu erfüllen. Der Entwerfer muß feststellen, welche graphischen Objekte der Endanwender gleichzeitig sehen muß, damit er die Beziehungen der Objekte beeinflussen kann. Da die Anzahl der graphischen Objekte zunimmt, steigt die Zahl der Beziehungen zwischen den Objekten dramatisch. Der Entwerfer muß sicherstellen, daß die graphischen Objekte, die zueinander eine enge Beziehung haben, auch nebeneinander auf dem Bildschirm zu sehen sind.
- Zusätzliche Probleme entstehen, wenn der Anwender die Schnittstelle selbst beeinflussen kann, so daß die Position der graphischen Objekte in der Ansicht verändert wird. Dies kann dazu führen, daß einige graphische Objekte von anderen graphischen Objekten verdeckt werden, da die Auflösung der graphischen Anzeigevorrichtung, auf der die graphischen Objekte angezeigt werden, nicht ausreicht, um beide graphischen Objekte gleichzeitig anzuzeigen.
- Aus dem Stand der Technik ist ein Artikel mit dem Titel "Dynamic Repositioning of Object Areas an a Page" im IBM Technical Disclosure Bulletin, Band 32, Nr. 10B, März 1990, Seite 77-78, bekannt. In diesem Artikel wird eine wiederverwendbare Shell-Layout-Definition für eine Seite in einem Dokument verwendet, um automatische Veränderungen des Layouts der Seite zu ermöglichen, wenn Informationen in Objektbereichen plaziert werden.
- Die Aufgabe der Erfindung ist die Bereitstellung eines flexiblen Mittels für das Layout graphischer Objekte in einer Ansicht auf einem Bildschirm.
- Diese Aufgabe wird gelöst durch die Definition von Attributen für den Ansichtbereich und durch Zuordnung dieser Attribute zu dem Bereich der graphischen Objekte; die Attribute zeigen an, in welcher der genannten Bereiche das graphische Objekt sich befindet. Die Struktur der Bereiche wird in Bereichsdefinitionsdateien beschrieben.
- Es werden Layout-Routinen bereitgestellt, die durch alle graphischen Objekte schleifen, die in einer der Ansichten positioniert werden sollen, um die genannten Bereichsattribute herauszuziehen und um die graphischen Objekte in den genannten Bereichen zu anzuordnen. Auch Bewegungsroutinen werden bereitgestellt, welche die genannten Bereichsattribute verändern, wenn eines der graphischen Objekte aus einem der genannten Bereiche in einen anderen der genannten Bereiche bewegt wird.
- Die Aufgabe wird auch gelöst durch eine Methode, die einen ersten Schritt umfaßt zur Definition der Ansicht, in der die gra phischen Objekte angezeigt werden sollen, einen zweiten Schritt zur Definition von Bereichen innerhalb der Ansicht, innerhalb derer einige der graphischen Objekte angezeigt werden sollen, einen dritten Schritt, um einigen oder allen graphischen Objekten ein Bereichsattribut zuzuordnen, das anzeigt, in welchem Bereich der genannten Bereiche das graphische Objekt angezeigt werden soll, einen vierten Schritt, in dem die graphischen Objekte innerhalb der Bereiche angeordnet werden, und einen fünften Schritt, um die Ansicht mit der Anordnung auf der graphischen Anzeigevorrichtung darzustellen.
- Der zweite Schritt der Methode umfaßt die Erstellung einer Bereichsdefinitionsdatei, welche die Definitionen der genannten Bereiche enthält.
- Der vierte Schritt der Methode umfaßt das Durchschleifen der graphischen Objekte, die in der Ansicht positioniert werden sollen, um den Wert des genannten Bereichsattributs herauszuziehen, das Durchsuchen der genannten Bereichsdefinitionsdatei, um den Bereich auszuwählen, der dem genannten herausgezogenen Bereichsattribut entspricht, und das Positionieren der genannten graphischen Objekte in dem ausgewählten Bereich. Der Schritt des Positionierens der genannten graphischen Objekte umfaßt die Weitergabe aller graphischen Objekte innerhalb des ausgewählten Bereichs, zusammen mit der Bereichsgröße, der Bereichsform und dem Bereichs-Layout, an einen Sublayouter, der dann die optimalen Positionen der graphischen Objekte innerhalb des ausgewählten Bereichs bestimmt.
- Die Erfindung stellt außerdem eine Methode bereit, mit der ein graphisches Objekt innerhalb einer Ansicht mit Bereichen bewegt werden kann, umfassend die folgenden Schritte: einen ersten Schritt, in dem das zu bewegende graphische Objekt ausgewählt wird, einen zweiten Schritt, in dem die neue Position, in die das graphische Objekt bewegt werden soll, ausgewählt wird, einen dritten Schritt, in dem das graphische Objekt in die ausgewählte neue Position plaziert wird, und einen vierten Schritt, in dem die Ansicht neu geordnet wird.
- In diesem zweiten Schritt wird der Bereich bestimmt, in dem sich die ausgewählte neue Position befindet, und im dritten Schritt wird der Wert des genannten Bereichsattributs verändert, und zwar von dem Bereich, in dem sich das graphische Objekt befindet, in den Bereich, in den es plaziert werden soll.
- Die Vorrichtung und Methode, die hier beschrieben und beansprucht werden, haben gegenüber dem Stand der Technik den Vorteil, daß sie eine flexible und umfassende Möglichkeit zur Darstellung einer Ansicht auf einem Anzeigegerät bieten. Der Entwickler eines Anwendungsprogramms muß sich nicht im einzelnen mit der Position und der Anzeige der graphischen Objekte auf der Anzeigevorrichtung beschäftigen, sondern er muß nur die Bereiche definieren und jedem anzuzeigenden Objekt ein Bereichsattribut zuordnen. Die Layout-Routinen sorgen dann dafür, daß jedes graphische Objekt sichtbar innerhalb des Bereichs angezeigt wird.
- Für den Endanwender des Anwendungsprogramms bieten die Methode und Vorrichtung der Erfindung den Vorteil, daß er die Instanzen der graphischen Objekte auf der Anzeigevorrichtung beeinflussen und neu positionieren kann. Die Bewegungs- und Layout-Routinen ordnen die Anzeige dann neu an, so daß ein besseres Layout entsteht.
- Ein weiteres Merkmal der Erfindung gewährleistet, daß ein Endanwender eine Instanz eines graphischen Objekts nicht in un erlaubter Weise beeinflussen kann. Dies hat den Vorteil, daß bei Instanzen graphischer Objekte in einer Ansicht, die immer zusammenbleiben müssen oder die nur von einem Bereich in einen anderen bewegt werden dürfen, nur diese Vorgänge erlaubt sind. Der Endanwender kann daher die Ansicht nicht in einer Weise neu ordnen, die zu einem späteren Zeitpunkt die Anwendung des Anwendungsprogramms komplizieren würde.
- Fig. 1 zeigt eine Übersicht über ein Rechnersystem, in dem die Erfindung implementiert wurde.
- Fig. 2 zeigt eine Ansicht, in der drei Bereiche vorhanden sind.
- Fig. 3 zeigt, wie die Bereichsdefinitionen in der Anwenderschnittstellen-Definition enthalten sind.
- Fig. 4 zeigt die verschiedenen Layout-Arten graphischer Objekte, die innerhalb der Bereiche durchgeführt werden können.
- Fig. 5 zeigt eine Übersicht über ein Ausführungsbeispiel der Erfindung.
- Fig. 6 ist ein Flußdiagramm, das einen ungefähren Überblick über die Methode der Erfindung gibt.
- Fig. 7 ist ein Flußdiagramm, das zeigt, wie eine Speicherstruktur erzeugt wird, um auf den Bereich und auf Objektdefinitionsdaten zuzugreifen.
- Fig. 8 zeigt die verschiedenen Child-Objekte des graphischen Objekts, die angezeigt werden sollen, sowie deren Eigenschaften.
- Fig. 9 ist ein Flußdiagramm, das zeigt, wie Instanzen graphischer Objekte Bereichen zugeordnet werden.
- Fig. 10 ist ein Flußdiagramm, welches das Layout der Instanzen graphischer Objekte innerhalb der Ansichten zeigt.
- Fig. 11 ist ein Flußdiagramm, das zeigt, wie eine Instanz des graphischen Objekts von einem Bereich in einen anderen bewegt wird.
- Fig. 1 zeigt eine Übersicht über ein Rechnersystem, in dem die vorliegende Erfindung implementiert wurde. Eine Tastatur 10 und eine Zeigevorrichtung 20, beispielsweise eine Maus, sind mit einer Recheneinheit 30 verbunden. Die Recheneinheit 30 umfaßt eine zentrale Verarbeitungseinheit 40 und einen Speicher 60. Die Recheneinheit 30 kann auch einen Graphikprozessor 50 umfassen, mit dem eine graphische Schnittstelle zu Programmen hergestellt wird, die in der zentralen Verarbeitungseinheit 40 laufen, oder die zentrale Verarbeitungseinheit 40 kann selbst diese graphischen Schnittstellen erzeugen.
- Der Speicher 60 umfaßt einen Bildspeicher 70, der zum Speichern und Darstellen der graphischen Schnittstelle auf einem Bildschirm 80 dient. Die auf dem Bildschirm 80 dargestellten graphischen Schnittstellen sind nur ein Beispiel für Endanwender- Schnittstellen, die erzeugt werden können, um mit in der Re cheneinheit 30 laufenden Anwendungsprogrammen zu arbeiten. Andere Beispiele für Endanwender-Schnittstellen sind befehlsbasierte Schnittstellen oder Sprachschnittstellen.
- Um die auf dem Bildschirm 80 zu erzeugenden graphischen Endanwender-Schnittstellen zu erstellen, muß der Entwickler des Anwendungsprogrammes das Layout und die Positionen der auf dem Bildschirm darzustellenden Elemente definieren. Die hierbei zu berücksichtigenden Faktoren sind die Anwendungsfreundlichkeit, der klare Aufbau des Bildschirms und ein möglichst einfaches Navigieren durch die verschiedenen Bildschirmdarstellungen, welche die graphische Benutzerschnittstelle für den Endanwender darstellen.
- Bei dem Produkt IBM ScreenView wurde die Logik für den Entwurf der Endanwender-Schnittstellen (die sogenannte Schnittstellenlogik) von der Logik, die Teil des Anwendungsprogramms ist (die sogenannte Business-Logik) getrennt. Die Endanwender-Schnittstellen zu dem Anwendungsprogramm in ScreenView werden definiert mit Hilfe einer sogenannten Benutzerschnittstellen-Deklaration (UID). Wie bereits oben erläutert, handelt es sich hierbei um eine deklarative Sprache, die dem Entwickler eine Beschreibung der Objekte, ihrer Beziehungen untereinander, der möglichen Ansichten, in denen diese Objekte in einer graphischen Endanwender-Schnittstelle dargestellt werden, und der Vorgänge, die mit diesen Objekten ausgeführt werden können, erlaubt. Die Entwicklung einer UID wird in dem obengenannten ScreenView Applications Developer's Guide ausführlich beschrieben.
- Obwohl die UID generisch, also ohne Bezugnahme auf die jeweils von einem Endanwender des Anwendungsprogramms verwendete Endanwender-Schnittstelle definiert wird, erlaubt sie die Einbezie hung von Ansichtsdefinitionen, so daß die Position der Objekte auf dem Bildschirm 80 berechnet werden kann, wenn der Endanwender eine graphische Endanwender-Schnittstelle auswählt.
- Innerhalb ScreenView werden Ansichten definiert als die Darstellung von Details einer Instanz eines graphischen Objekts. Sie enthalten Details über den Inhalt des graphischen Objekts, wie es zusammengesetzt ist und was seine Eigenschaften sind. Mit den Ansichten kann sich der Endanwender des Anwendungsprogramms die Einzelheiten der graphischen Objekte ansehen und die Instanzen der graphischen Objekte beeinflussen. Damit das graphische Objekt aus verschiedenen Blickwinkeln oder auf unterschiedliche Weise betrachtet werden kann, kann es von jedem graphischen Objekt mehr als eine Ansicht geben.
- Wenn ein Objekt definiert ist, muß der Entwerfer der graphischen Schnittstelle die Ansichten bestimmen, mit denen die Endanwender den besten Zugriff auf die auf dem Bildschirm 80 dargestellten graphischen Objekte hätten und die ihnen eine Erfüllung ihrer Aufgaben ermöglichen. Der Entwerfer muß bestimmen, welche graphischen Objekte der Endanwender des Anwendungsprogramms gleichzeitig sehen muß sowie die Reihenfolge, in welcher er diese sehen muß, damit er in der Lage ist, die Objektbeziehungen zu beeinflussen.
- Wie bereits oben erläutert werden diese Ansichten in der UID definiert. Eine Ansicht wird definiert, indem das graphische Objekt, der Inhalt der Ansicht und die Darstellung der Ansicht festgelegt werden. Das graphische Objekt ist das Objekt, mit dem die Ansicht geöffnet werden kann. Dieses Objekt wird auch als "View Owner" bezeichnet. In der UID können die Ansichten, die von den Endanwendern mit jeder graphischen Objektinstanz geöffnet werden können, angegeben werden. Die Ansichtinhalte beschreiben die Inhalte der graphischen Objekte, das heißt, welche anderen graphischen Objekte es enthalten kann. Die Ansichtsdarstellung beschreibt die grundlegenden Darstellungsaspekte der Ansicht und wird auch in der UID definiert. Die Ansichtsdarstellung kann die Bitmaps oder Icons beschreiben, die zur Darstellung der Instanzen der graphischen Objekte auf dem Bildschirm 80 verwendet werden. Sie kann das Hintergrundbild oder die Bitmap beschreiben, auf der die Instanzen der graphischen Objekte angezeigt werden. Die Ansichtsdarstellung legt auch die Layout-Routinen fest, die verwendet werden sollen, um die Instanzen der graphischen Objekte auf dem Bildschirm 80 anzuordnen.
- Die Darstellung desselben graphischen Objekts kann sich von Ansicht zu Ansicht unterscheiden. Es ist möglich, daß der Endanwender beliebig viele Ansichten desselben graphischen Objekts öffnet. Die Ansichten werden in dem Bildspeicher 70 gespeichert oder - wenn der Speicher für alle geöffneten Ansichten nicht ausreicht - vorübergehend in einem anderen Speichermedium, beispielsweise auf einer Festplatte.
- Das Medium, das zur Darstellung von Ansichten für den Endanwender eingesetzt wird, ist ein Fenster. Wenn eine Ansicht eines graphischen Objekts geöffnet wird, wird ein Fenster erstellt, das alle Inhalte der Ansicht oder einen Teil der Inhalte auf dem Bildschirm 80 zeigt.
- Jede Ansicht kann in ein oder mehrere Bereiche unterteilt werden, wie in Fig. 2 gezeigt wird. In Fig. 2 umfaßt eine Ansicht 100 drei Bereiche 110a-c. Dies ist nur ein Beispiel einer möglichen Aufteilung der Ansicht 100. Die Ansicht 100 kann mehr als drei Bereiche 110a-c enthalten. Die drei Bereiche 110a-c können unterschiedliche Größen haben und überlappen. In dem be vorzugten Ausführungsbeispiel sind die Bereiche rechteckig, sie könnten jedoch auch eine andere Form haben.
- Für jede Ansicht 100, die in der Benutzerschnittstellen-Deklaration definiert wird, kann eine Bereichsdefinitionsdatei referenziert werden. Diese Datei enthält ein oder mehrere Bereichsdefinitionen. Die Bereichsdefinition besteht grundsätzlich aus einem Bereichsnamen und einem Koordinatenpaar, das den rechteckigen Bereich definiert, der den Bereich 110 in der Ansicht 100 darstellt. Zusätzlich kann pro Ansicht der Name eines Bereichsattributs angegeben werden. Der Wert dieses Bereichsattributs wird von einer Layout-Routine zur Bestimmung des Bereichs 110, in dem die Instanz des graphischen Objekts positioniert wird, verwendet, wie später noch beschrieben wird.
- Fig. 3 zeigt ein Beispiel für eine Definition einer Ansicht 100 in einer Benutzerschnittstellen-Deklaration 150, eine Definition 160 einer Instanz eines graphischen Objekts und eine Bereichsdefinitionsdatei 170.
- Die Definition der in Fig. 3 gezeigten Ansicht 100 ist nur ein kurzer Abschnitt des deklarativen Sprachprogramms, in dem die Ansicht 100 definiert wird. In dem gezeigten Beispiel erhält die Ansicht 100 den Namen "Germany", die zugeordnete Bereichsdefinitionsdatei (RegionDef) 170 wird mit GERMANY. REG bezeichnet, das von der Layout-Routine verwendete Bereichsattribut (RegionProp) wird mit "Location" bezeichnet. Das Hintergrundbild der Ansicht wird in der Bitmap-Datei GERMANY. PIC gespeichert.
- Die Definition 160 einer Instanz des graphischen Objekts enthält den Namen des Objektes "object 1" und den Wert des von der Layout-Routine verwendeten Bereichsattributs. In dem Beispiel der Fig. 3 hat das Bereichsattribut den Wert "Frankfurt", wie gezeigt wird durch die Anweisung "Location = "Frankfurt".
- Die der Ansicht 100 mit dem Namen "Germany" zugeordnete Bereichsdefinitionsdatei 170 hat drei definierte Bereiche 110a-c. Das heißt, es gibt drei Bereiche 110a-c innerhalb der Ansicht 100, in die Instanzen der graphischen Objekte positioniert werden können. Es sollte beachtet werden, daß die Instanzen der graphischen Objekte nicht notwendigerweise in einen der Bereiche 110a-c positioniert werden müssen. Sie könnten in demjenigen Bereich der Ansicht 100 positioniert werden, in dem keiner der Bereiche 110a-c vorhanden ist. Dies passiert, wenn der Endanwender das Objekt in diesem Bereich der Ansicht positioniert, oder wenn kein passender Bereich für den Wert des Bereichsattributs (RegionProp) gefunden wird und kein Standardbereich definiert ist.
- In der Bereichsdefinitionsdatei 170 werden die Namen der Bereiche 110a-c angegeben. In dem dargestellten Beispiel haben die Bereiche 110a-c die Namen "Frankfurt", "Berlin" beziehungsweise "Stuttgart". Diese Namen entsprechen den Werten, die das Bereichsattribut (RegionProp) annnehmen kann. Die Instanz des in Definition 160 gezeigten graphischen Objekts wird also in dem Bereich 110a mit dem Namen "Frankfurt" plaziert. In der Bereichsdefinitionsdatei 170 sind außerdem die Eck-Koordinaten des Rechtecks enthalten, das die Bereiche 110 definiert, also die Position, die jeder der Bereiche 110 innerhalb der Ansicht 100 annehmen kann.
- Informationen über die Form des Layouts der Instanzen der graphischen Objekte innerhalb der Bereiche 110a-c sind auch enthalten in der Bereichsdefinitionsdatei 170. In dem bevorzugten Ausführungsbeispiel ist eine Reihe von Layouttypen bekannt. Diese sind in den Fig. 4A - 4E dargestellt.
- Fig. 4A zeigt die in Reihen angeordneten graphischen Objekte. Man bezeichnet diesen Typ als Layouttyp "REIHE". Fig. 4B zeigt die in Reihen angeordneten graphischen Objekte, wobei die Reihen zueinander verschoben sind. Dieser Typ wird bezeichnet als Layouttyp "S-REIHE". Fig. 4C zeigt die in Spalten angeordneten graphischen Objekte. Dieses Layout wird als Layouttyp "SPALTE" bezeichnet. Fig. 4D zeigt die in Spalten angeordneten graphischen Objekte, wobei die Spalten zueinander verschoben sind. Dieser Typ wird als Layouttyp "S-SPALTE" bezeichnet. Fig. 4E zeigt schließlich den Layouttyp "ERWEITERN", bei dem die graphischen Objekte in der Mitte des Bereichs 110a-c angeordnet sind. Die graphischen Objekte können nach links ausgerichtet sein, das heißt, die Instanzen der graphischen Objekte sind ausgerichtet zur linken unteren Ecke des in Fig. 4H gezeigten Bereichs. Die graphischen Objekte können nach rechts ausgerichtet sein, das heißt, die Instanzen der graphischen Objekte sind zur rechten oberen Ecke des Bereichs in Fig. 4 G ausgerichtet. Schließlich können die Instanzen der graphischen Objekte in einem Kreis erscheinen, wie in Fig. 4F gezeigt wird. Andere Anordnungsmöglichkeiten sind denkbar.
- In dem in Fig. 3 gezeigten Beispiel hat der Bereich 110a mit dem Namen "Frankfurt" ein kreisförmiges Layout, was durch den Parameter "Layout = Kreis" angezeigt wird. Der Bereich 110b mit dem Namen "Berlin" hat ein nach rechts ausgerichtetes Layout, was durch den Parameter "Layout = rechts ausrichten" angezeigt wird. Der Bereich 110c mit dem Namen "Stuttgart" hat ein nach links ausgerichtetes Layout, was durch den Parameter "Layout = links ausrichten" angezeigt wird.
- Innerhalb der Bereichsdefinitionsdatei 170 ist ein Bereich als Standardbereich definiert. In diesen Bereich werden alle Instanzen der graphischen Objekte plaziert, die, entsprechend dem Wert des Bereichsattributs Region-Prop, nicht in einem anderen Bereich plaziert werden. In dem in Fig. 3 gezeigten Beispiel ist der Bereich "Frankfurt" 110a der Standardbereich. Auch andere Bereiche, 110b oder 110c, könnten Standardbereiche sein. Alternativ wäre es möglich, den Abschnitt der Ansicht 110, der sich außerhalb der Bereiche 110a-c befindet, als Standardbereich zu definieren, indem kein Standardbereich angegeben wird.
- Fig. 5 zeigt ein Ausführungsbeispiel der Erfindung. In der Recheneinheit 30 sind die verschiedenen Komponenten der Erfindung vorhanden. Die universelle Schnittstellendeklaration 150 wird in dem Speicher 60 gespeichert, ebenso wie die Bereichsdefinitionsdatei 170. Der Speicher 60 enthält ebenfalls die Instanzen 180 der graphischen Objekte, die innerhalb der Ansicht 100 positioniert werden sollen.
- Innerhalb des graphischen Prozessors 80 ist ein Bereichs-Layouter 200 vorhanden, der die Instanzen 180 der graphischen Objekte in der Ansicht 100 anordnet. Der Bereichs-Layouter 200 zieht aus dem Speicher 60 eine Instanz 210 des graphischen Objekts und steuert die Positionierung der Instanz 210 des graphischen Objekts innerhalb der Ansicht 100, wie nachfolgend noch erläutert wird.
- Fig. 6 ist ein Flußdiagramm, das die allgemeinen Grundzüge der Erfindung erläutert. Die Methode zum Anzeigen der graphischen Objekte besteht grundlegend aus fünf Schritten. Im ersten Schritt 300 wird der Bereichs-Layouter initialisiert. Hierzu gehört das Abrufen der Bereichsdefinitionsdatei 170 aus dem Speicher 60 und das Erstellen einer Struktur im Speicher, wie nachfolgend noch erläutert wird. Im nächsten Schritt 320 werden die Instanzen 180 der anzuzeigenden graphischen Objekte herausgezogen und den richtigen Bereichen der Bereiche 110a-c zugeordnet, in denen sie angezeigt werden sollen. Im dritten Schritt 340 werden die Instanzen 180 in den zugeordneten Bereichen 110a-c positioniert und im vierten Schritt 360 wird ein Fenster in der Ansicht 100 erstellt und auf dem Bildschirm 80 angezeigt. In Schritt 380 wird schließlich das Verfahren beendet und der im Speicher 60 von der erstellten Struktur verwendete Speicherplatz für andere Aufgaben freigegeben.
- Der erste Schritt 300 der Fig. 6 umfaßt eine Reihe von kleineren Schritten, die in Fig. 7 dargestellt sind. In Schritt 420 wird die Bereichsdefinitionsdatei (RDF) 170 aus dem Speicher 60 abgerufen. In der eigentlichen ScreenView-Implementierung wird die Bereichsdefinitionsdatei 170 in einen Bereich Abstrakte Syntaxtabelle (AST) konvertiert, die eine maschinenlesbare Form der Bereichsdefinitionsdatei 170 ist. In Schritt 420 wird der Bereich Abstrakte Syntaxtabelle geöffnet und durchsucht. Für jede in der Bereichsdefinitionsdatei 170 gefundene Bereichsdefinition wird ein Pool von Bereichsobjekten (BUSNLREG) erstellt, wie in Fig. 8 gezeigt wird. Das Bereichsobjekt (BUSNLREG) umfaßt ein Bereichsnamenobjekt (BUSYASTR) 500, ein Bereichsrechteckobjekt (BUSLNREC) 510, Details zum Layout 520, die der Bereich 110 hat, und eine Angabe 530, ob der Bereich 110 der Standardbereich ist oder nicht.
- Dem Bereichsnamenobjekt (BUSYASTR) 500 sind zwei Eigenschaften zugeordnet: ein Zeiger (PSZ) 550 auf den Text 580, der in dem Speicher 60 steht, und eine Stringlängenvariable 540, welche die Länge des Textes 580 angibt.
- Dem Bereichsrechteckobjekt (BUSNLREC) 510 sind zwei Zeiger 560 und 570 zugeordnet. Ein Bereichszeiger (Point 1) 560 zeigt auf die Koordinaten 590 einer Ecke des Bereichsrechtecks. Der andere Bereichszeiger (Point 2) 570 zeigt auf die Koordinaten 600 der anderen Ecke des Bereichsrechtecks. Die Koordinatenpaare sind in einem Bereichspunktobjekt (BUSNLRPT) 585 enthalten, das ebenfalls im Speicher 60 gespeichert ist.
- Die Zeiger zu den Bereichsobjekten (BUSNLREG) werden in einem als AVL-Baum implementierten Wörterbuch gespeichert. AVL-Bäume sind nach dem Stand der Technik hinlänglich bekannte Datenstrukturen. Verwendet man den Bereichsnamen 500 als Schlüssel, kann das Wörterbuch schnell durchsucht und der auf die Position der Bereichsobjekte (BUSNLREG) innerhalb des Bereichsdefinitions-Pools zeigende Zeiger schnell gefunden werden.
- Der zweite Schritt 320 der Fig. 6 wird ausführlicher in Fig. 9 dargestellt. In Schritt 700 werden die Instanzen 180 der graphischen Objekte, die in der Ansicht 100 gezeigt werden sollen, durchsucht und für jede Instanz wird der Wert des Bereichsattributs (RegionProp) bestimmt (Schritt 710). In Schritt 720 wird geprüft, ob dem Bereichsattribut (RegionProp) ein Wert zugewiesen wurde. Wenn dem Bereichsattribut (RegionProp) ein Wert zugewiesen wurde, wird der nächste Schritt 730 ausgeführt und geprüft, ob eine vorherige Instanz 180 denselben Bereichsattributwert (RegionProp) hatte. Ist dies nicht der Fall, wird dann in Schritt 735 der Bereichsname (BUSNLREG) des Bereichs 110, in dem die Instanz 180 erscheint, in einen Bereichsname-AVL-Baum plaziert, zusammen mit einem Zeiger auf eine neue in dem Speicher 60 erstellte Instanzenliste. Der Name der Instanz wird als Element in die Instanzenliste plaziert (Schritt 740). Wenn jedoch bereits eine vorherige Instanz der Instanzen 180 denselben Bereichsattributwert (RegionProp) hatte, dann wird in dem Spei cher 60 bereits eine Instanzenliste erzeugt sein und nur der Name der Instanz muß als Element zu der Instanzenliste hinzugefügt werden. Die Durchsuchungsprozedur (Schritt 700) wird solange fortgesetzt, bis alle Instanzen 180 der graphischen Objekte, die in der Ansicht 100 erscheinen, durchsucht sind.
- Wenn in Schritt 720 festgestellt wird, daß der Wert des Bereichsattributs (RegionProp) nicht zugeordnet ist, dann wird der Name der Instanz 180 als ein Element der Instanzenliste hinzugefügt, die dem Standardbereich 530 zugeordnet ist.
- Nachdem die AVL-Bäume und Instanzenlisten erstellt sind, kann das Verfahren mit Schritt 340 der Fig. 6 fortgesetzt werden. In diesem Schritt werden die Instanzen 180 der graphischen Objekte innerhalb ihrer jeweiligen Bereiche 110 positioniert. Wenn nur eine Instanz 180 in dem Bereich 110 positioniert werden muß, dann wird das Icon oder die Bitmap, welche die Instanz 180 des graphischen Objekts darstellt, in der Mitte des Bereichs 110 angeordnet. Die Größe des Icons kann so angepaßt werden, daß es, falls gewünscht, den Bereich 110 ganz ausfüllt.
- Wenn jedoch mehr als eine Instanz in den Bereichen 110a-c plaziert werden soll, wird die in Fig. 10 gezeigte Prozedur ausgeführt. In Schritt 800 wird die Größe des Bereichs 110 unter Verwendung der Werte von Point 1, 560, und Point 2, 570, in dem Bereichsrechteckobjekt (BUSNLREC) 510 berechnet. Aus der Instanzenliste wird die Anzahl der Instanzen von graphischen Objekten in jedem der Bereiche 110a-c berechnet (Schritt 810). In Schritt 820 wird geprüft, ob die Icons oder Bitmaps, welche die graphischen Objekte darstellen, alle in den betreffenden Bereich der Bereiche 110a-c passen, der den gewählten Layouttyp verwendet. Ist dies nicht der Fall, wird eine Größenänderungsoperation ausgeführt (Schritt 830). Die Größenänderungsopera tion könnte durch das Ersetzen des ursprünglichen Icons durch ein anderes, durch ein vereinfachtes Icon oder einfach durch Verkleinern des ursprünglichen Icons ausgeführt werden. Alternativ könnten die graphischen Objekte übereinandergelegt werden. Andere Größenänderungsmethoden sind dem Fachmann hinlänglich bekannt.
- In Schritt 840 wird die Position der Icons oder Bitmaps in dem Bereich 110 berechnet, unter Verwendung des Bereichs-Layouters 200 mit dem Layout-Parameter 520. In Schritt 850 kann schließlich der komplette Bereich 110 erzeugt und, wenn angebracht, in dem Bildspeicher 70 gespeichert werden. Die Routinen, welche die Layout-Prozedur ausführen, sind in dem Bereichs-Layouter 200 zu finden. Drei getrennte Routinen oder Sublayouter dienen zur Erstellung der drei unterschiedlichen Layouttypen in dem bevorzugten Ausführungsbeispiel der Erfindung. Die Entscheidung, welcher Layouter verwendet wird, hängt ab von dem Wert des Layout-Parameters 520. Die Entwicklung weiterer Sublayouter wäre einem Fachmann möglich.
- Die Schritte 320 und 340 werden wiederholt, bis alle Instanzen 180 der graphischen Objekte, die in der Ansicht 100 angezeigt werden sollen, in den betreffenden Bereichen 110a-c positioniert wurden. Die Daten, welche die Ansicht 100 darstellen, werden dann in dem Bildspeicher 70 gefunden und ein Fenster wird erzeugt, welches bekannte Bildverarbeitungstechniken einsetzt, um diese Ansicht 100 auf dem Bildschirm 80 darzustellen.
- Die Erfindung beinhaltet auch Bewegungsroutinen, mit denen ein Endanwender mit Hilfe von "Drag and Drop"-Techniken Instanzen graphischer Objekte von einem der Bereiche 110a-c in einen anderen der Bereiche 110a-c bewegen kann. Ein Flußdiagramm, das diese Prozedur darstellt, ist in Fig. 11 zu sehen.
- In Schritt 900 wählt der Endanwender die Instanz 180 des graphischen Objektes aus, die neu positioniert werden soll. Die Auswahl dieser Instanz 180 erfolgt über die Zeigevorrichtung 20 oder über einen Befehl in der Befehlszeile. Mit dem Zeigegerät 20 oder einem in der Befehlszeile eingegebenen Befehl wird die Instanz 180 von ihrer aktuellen Position in der Ansicht 100 in eine andere Position in der Ansicht 100 bewegt (Schritt 910). In Schritt 920 werden die neuen Koordinaten der Instanz 180 des graphischen Objektes berechnet. Unter Verwendung der im Bereichsrechteck (BUSNLREC)-Objekt 510 gespeicherten Informationen wird eine Prüfung ausgeführt (Schritt 930), um zu prüfen, ob diese neuen Koordinaten innerhalb eines neuen Bereichs 110 liegen.
- Wenn der Endanwender die Instanz 180 in eine Position bewegt hat, die in keinem definierten Bereich liegt, wird der Wert des Bereichsattributs (RegionProp) nicht verändert (Schritt 940). Wenn jedoch die Instanz in einen neuen Bereich bewegt wurde (Schritt 950), dann wird der Wert des Bereichsattributs (RegionProp) auf den Wert des Bereichs 110 gesetzt, in dem sich die Instanz befindet. Dieser Wert wird aus dem Bereichsnamen (BUSYASTR)-Objekt 500 herausgezogen. Es ist natürlich möglich, daß sich zwei Bereiche 110 überlappen, und in diesem Fall wird nur einer der Bereichsnamen als Wert für das Bereichsattribut verwendet.
- In Schritt 960 wird der Sublayouter im Layouter 200 aufgerufen, um die angezeigten Icons und Bitmaps innerhalb des Bereichs 110 neu zu ordnen, so daß die bewegte Instanz enthalten ist. Wenn die Instanz 180 in eine Position bewegt wurde, die nicht in einem definierten Bereich liegt, und wenn das Bereichsattribut (RegionProp) nicht geändert wurde (Schritt 940), wird es in dem ursprünglichen Bereich 110 ersetzt.
- In einigen Ausführungsbeispielen der Erfindung kann möglicherweise der Endanwender die Instanz 180 des graphischen Objektes nicht von einem Bereich 110 in einen anderen Bereich 110 bewegen. In diesem Fall reagiert das graphische Objekt auf eine Anforderung "Drag and Drop" entweder durch Zurückweisung der Anforderung oder indem es den Wert des Bereichsattributs (RegionProp) unverändert läßt oder indem es ihn auf einen anderen Wert ändert (zum Beispiel den Namen eines anderen Bereichs, in dem die Instanz des graphischen Objekts erscheinen kann).
- Ein Beispiel der Ansicht "Germany" kann hier zur Erläuterung dieses Vorgangs herangezogen werden. Angenommen, der Endanwender möchte ein Objekt "Flugzeug", das sich momentan im Bereich "Frankfurt" befindet, das heißt, dessen Bereichsattribut (RegionProp) den Wert "Frankfurt" hat, auf den Bereich "Berlin" ziehen. Hierfür gibt es drei Möglichkeiten. Bei der ersten Möglichkeit wird der Wert des Bereichsattributs (RegionProp) "Location" geändert in "Berlin" und der Bereich "Berlin" wird neu geordnet, so daß er jetzt das Objekt "Flugzeug" enthält.
- Bei der zweiten Möglichkeit zieht der Endanwender das Objekt "Flugzeug" auf den Bereich "Berlin" und legt es dort ab. Das graphische Objekt weist jedoch die Anforderung zurück und lehnt eine Änderung des Werts des Bereichsattributs (RegionProp) "Location" in "Berlin" ab. Der gesetzte Wert "Frankfurt" bleibt erhalten. Das Objekt "Flugzeug" bleibt innerhalb des Bereichs "Frankfurt" positioniert.
- Bei der dritten Möglichkeit zieht der Endanwender das Objekt "Flugzeug" auf den Bereich "Berlin" und legt es dort ab. Das graphische Objekt weist jedoch die Anforderung, den Wert des Bereichsattributs (RegionProp) "Location" in "Berlin" zu ändern, zurück, da es weiß, daß alle aus dem Bereich "Frankfurt" kommenden Objekte zunächst den Bereich"Stuttgart" durchlaufen müssen. Es ändert daher den Wert des Bereichsattributs (RegionProp) "Location" in "Stuttgart" und der Bereichs- Layouter 200 wird aufgerufen, die Instanzen der Objekte im Bereich "Stuttgart" neu zu ordnen.
- Eine weitere Möglichkeit ist, daß der Endanwender das graphische Objekt "Flugzeug" aus dem Bereich "Frankfurt" auf einen Abschnitt der Ansicht 100 zieht, die keinen Bereich 110 enthält. In diesem Fall wird der Wert des Bereichsattributs (RegionProp) "Location" auf "Standard" geändert. In diesem speziellen Beispiel bedeutet das, daß das Objekt "Flugzeug" im Bereich "Frankfurt" bleibt, da dies der Standardbereich für diese Ansicht 100 ist. Sollte jedoch zu einem späteren Zeitpunkt der Standardbereich geändert werden, dann erscheint die Instanz des graphischen Objekts "Flugzeug" in dem neuen Standardbereich.
Claims (6)
1. Eine Vorrichtung zum Anzeigen einer Vielzahl graphischer
Objekte in einer Ansicht auf einem Bildschirm, umfassend:
a) Mittel zum Definieren einer Ansicht mit einer
Vielzahl von Bereichen, in denen die graphischen Objekte
angezeigt werden sollen;
b) Mittel, um jedem graphischen Objekt einen bestimmten
Bereich der Ansicht zuzuordnen, um den Bereich
anzugeben, in dem das graphische Objekt angezeigt werden
soll;
c) Mittel, um für jeden der genannten Bereiche ein
Muster zu definieren für die Positionierung von
graphischen Objekten innerhalb des genannten Bereichs,
wobei das genannte Muster ohne Berücksichtigung der
Anzahl der graphischen Objekte definiert wird, die
diesem Bereich zugeordnet werden können;
d) Mittel zum dynamischen Positionieren der graphischen
Objekte, die jedem der genannten Bereiche zugeordnet
sind, innerhalb des Bereichs, entsprechend dem für
diesen Bereich definierten Muster, und
e) einen Bildschirm zum Anzeigen der Ansicht mit den
graphischen Objekten innerhalb der zugeordneten
Bereiche.
2. Die Vorrichtung nach Anspruch 1, weiter umfassend Mittel
zum Bewegen eines graphischen Objektes, das einem ersten
Bereich zugeordnet wurde, von dem ersten Bereich in einen
zweiten Bereich, indem das graphische Objekt diesem
zweiten Bereich zugeordnet wird.
3. Die Vorrichtung nach Anspruch 1 oder 2, bei der jedes der
genannten definierten Muster aus einer Vielzahl von
Mustern ausgewählt wird.
4. Eine Methode zum Anzeigen einer Vielzahl von graphischen
Objekten in einer Ansicht auf einem Bildschirm, folgende
Schritte umfassend:
a) Definieren einer Ansicht mit einer Vielzahl von
Bereichen, innerhalb derer die graphischen Objekte
angezeigt werden sollen;
b) Zuordnen eines jeden graphischen Objektes zu einem
Bereich der Ansicht, um den Bereich anzugeben, in dem
das graphische Objekt angezeigt werden soll;
c) für jeden der genannten Bereiche, Definieren eines
Musters für die Positionierung von graphischen
Objekten innerhalb des genannten Bereichs, wobei das
genannte Muster definiert wird ohne Berücksichtigung
der Anzahl der graphischen Objekte, die dem genannten
Bereich zugeordnet werden können;
d) dynamisches Positionieren der graphischen Objekte,
die jedem der genannten Bereiche zugeordnet wurden,
innerhalb des Bereichs, entsprechend dem für diesen
Bereich definierten Muster; und
e) Anzeigen der Ansicht mit den graphischen Objekten,
die dynamisch innerhalb der zugeordneten Bereiche
positioniert wurden, auf dem Bildschirm.
5. Die Methode nach Anspruch 4, weiter umfassend den Schritt
des Bewegens eines graphischen Objektes, das einem ersten
Bereich zugeordnet wurde, aus dem ersten Bereich in einen
zweiten Bereich, indem das graphische Objekt dem zweiten
Bereich zugeordnet wird.
6. Die Methode nach Anspruch 4 oder 5, bei der jedes der
genannten definierten Muster aus einer Vielzahl von Mustern
ausgewählt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP93107055A EP0622728B1 (de) | 1993-04-30 | 1993-04-30 | Bereich-layout in einer Sicht auf einem grafischen Anzeigeschirm |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69327948D1 DE69327948D1 (de) | 2000-04-06 |
DE69327948T2 true DE69327948T2 (de) | 2000-10-26 |
Family
ID=8212851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69327948T Expired - Lifetime DE69327948T2 (de) | 1993-04-30 | 1993-04-30 | Bereich-layout in einer Sicht auf einem grafischen Anzeigeschirm |
Country Status (5)
Country | Link |
---|---|
US (1) | US6320602B1 (de) |
EP (1) | EP0622728B1 (de) |
JP (1) | JP2547964B2 (de) |
AT (1) | ATE190149T1 (de) |
DE (1) | DE69327948T2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10134270A1 (de) * | 2001-07-18 | 2003-02-06 | Heidenhain Gmbh Dr Johannes | Verfahren zur Erzeugung pixelorientierter Bilddateien zur Darstellung graphischer Symbole durch eine numerische Steuerung |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781193A (en) * | 1996-08-14 | 1998-07-14 | International Business Machines Corporation | Graphical interface method, apparatus and application for creating multiple value list from superset list |
US5774119A (en) * | 1996-08-14 | 1998-06-30 | International Business Machines Corporation | Graphical interface method, apparatus and application for selection of target object |
US5872568A (en) * | 1996-08-14 | 1999-02-16 | International Business Machines Corporation | Application and method for creating a list from pre-defined and user values |
US6195096B1 (en) | 1996-08-14 | 2001-02-27 | International Business Machines Corporation | Graphical interface method, apparatus and application for creating and modifying a multiple-value text list |
US5774120A (en) * | 1996-08-14 | 1998-06-30 | International Business Machines Corporation | Refresh and select-all actions in graphical user interface |
US6104395A (en) * | 1996-08-14 | 2000-08-15 | International Business Machines Corporation | Graphical interface method, apparatus and application for opening window of all designated container objects |
US5818444A (en) * | 1996-08-14 | 1998-10-06 | International Business Machines Corporation | Method, apparatus and application for object selective but global attribute modification |
US5784057A (en) * | 1996-08-14 | 1998-07-21 | International Business Machines Corporation | Dynamically modifying a graphical user interface window title |
US5812135A (en) * | 1996-11-05 | 1998-09-22 | International Business Machines Corporation | Reorganization of nodes in a partial view of hierarchical information |
US6380954B1 (en) * | 1998-02-09 | 2002-04-30 | Reuters, Ltd. | Method and system for layout of objects within a perimeter using constrained interactive search |
US7437725B1 (en) * | 1999-01-04 | 2008-10-14 | General Electric Company | Processing techniques for servers handling client/server traffic and communications |
JP3164070B2 (ja) | 1998-07-24 | 2001-05-08 | 日本電気株式会社 | オブジェクト配置制御装置、方法及び記録媒体 |
US6983424B1 (en) * | 2000-06-23 | 2006-01-03 | International Business Machines Corporation | Automatically scaling icons to fit a display area within a data processing system |
WO2002044897A1 (en) * | 2000-11-29 | 2002-06-06 | Fourbit Group, Inc. | Generating a declarative user interface |
GB0110326D0 (en) * | 2001-04-27 | 2001-06-20 | Ibm | Method and apparatus for interoperation between legacy software and screen reader programs |
US7028257B1 (en) * | 2001-06-29 | 2006-04-11 | Bellsouth Intellectual Property Corp. | System and method for rapid creation and display of stylized digital content items |
US6950993B2 (en) * | 2001-08-02 | 2005-09-27 | Microsoft Corporation | System and method for automatic and dynamic layout of resizable dialog type windows |
EP1494116A1 (de) * | 2003-07-01 | 2005-01-05 | Amadeus S.A.S. | Verfahren und Vorrichtung zum Erstellen von graphischen Benutzerschnittstellen |
US20060020904A1 (en) * | 2004-07-09 | 2006-01-26 | Antti Aaltonen | Stripe user interface |
TW200622893A (en) * | 2004-07-09 | 2006-07-01 | Nokia Corp | Cute user interface |
US8510657B2 (en) * | 2004-09-30 | 2013-08-13 | Microsoft Corporation | Editing the text of an arbitrary graphic via a hierarchical list |
US7348982B2 (en) | 2004-09-30 | 2008-03-25 | Microsoft Corporation | Method, system, and computer-readable medium for creating and laying out a graphic within an application program |
US8134575B2 (en) * | 2004-09-30 | 2012-03-13 | Microsoft Corporation | Maintaining graphical presentations based on user customizations |
US8438486B2 (en) | 2006-02-09 | 2013-05-07 | Microsoft Corporation | Automatically converting text to business graphics |
US8702720B2 (en) * | 2006-05-03 | 2014-04-22 | Cook Medical Technologies Llc | Tassel tip wire guide |
US7996282B1 (en) | 2006-09-29 | 2011-08-09 | Amazon Technologies, Inc. | Method and system for selecting and displaying items |
JP4356752B2 (ja) * | 2007-02-20 | 2009-11-04 | セイコーエプソン株式会社 | 文書編集装置、プログラムおよび記憶媒体 |
US9075492B1 (en) | 2007-03-30 | 2015-07-07 | Amazon Technologies, Inc. | Method and system for displaying items |
US8209223B2 (en) * | 2007-11-30 | 2012-06-26 | Google Inc. | Video object tag creation and processing |
US9189250B2 (en) * | 2008-01-16 | 2015-11-17 | Honeywell International Inc. | Method and system for re-invoking displays |
US9292582B2 (en) * | 2009-05-27 | 2016-03-22 | International Business Machines Corporation | Rendering a database record in a fixed display space |
US8799325B2 (en) | 2010-03-12 | 2014-08-05 | Microsoft Corporation | Reordering nodes in a hierarchical structure |
USD655715S1 (en) * | 2011-05-27 | 2012-03-13 | Microsoft Corporation | Display screen with user interface |
USD655301S1 (en) * | 2011-05-27 | 2012-03-06 | Microsoft Corporation | Display screen with user interface |
USD655713S1 (en) * | 2011-05-27 | 2012-03-13 | Microsoft Corporation | Display screen with user interface |
USD658670S1 (en) | 2011-05-27 | 2012-05-01 | Microsoft Corporation | Display screen with user interface |
USD655716S1 (en) * | 2011-05-27 | 2012-03-13 | Microsoft Corporation | Display screen with user interface |
USD655714S1 (en) * | 2011-05-27 | 2012-03-13 | Microsoft Corporation | Display screen with user interface |
US10972530B2 (en) | 2016-12-30 | 2021-04-06 | Google Llc | Audio-based data structure generation |
US8688514B1 (en) | 2011-06-24 | 2014-04-01 | Google Inc. | Ad selection using image data |
US11087424B1 (en) | 2011-06-24 | 2021-08-10 | Google Llc | Image recognition-based content item selection |
US9300539B2 (en) | 2011-08-04 | 2016-03-29 | International Business Machines Corporation | Network computing management |
US9183006B2 (en) * | 2011-08-31 | 2015-11-10 | Visan Industries | Systems and methods for layout of graphic objects for electronic display, print or other output |
US11093692B2 (en) | 2011-11-14 | 2021-08-17 | Google Llc | Extracting audiovisual features from digital components |
US10586127B1 (en) | 2011-11-14 | 2020-03-10 | Google Llc | Extracting audiovisual features from content elements on online documents |
US9183398B2 (en) | 2012-09-20 | 2015-11-10 | Qualcomm Incorporated | Content-driven screen polarization with application sessions |
USD736818S1 (en) | 2013-03-14 | 2015-08-18 | Microsoft Corporation | Display screen with graphical user interface |
US9953085B1 (en) | 2013-05-31 | 2018-04-24 | Google Llc | Feed upload for search entity based content selection |
US11030239B2 (en) | 2013-05-31 | 2021-06-08 | Google Llc | Audio based entity-action pair based selection |
US9846904B2 (en) | 2013-12-26 | 2017-12-19 | Target Brands, Inc. | Retail website user interface, systems and methods |
USD770463S1 (en) * | 2013-12-26 | 2016-11-01 | Target Brands Inc. | Display screen with a graphical user interface |
US10037308B2 (en) * | 2014-01-17 | 2018-07-31 | Htc Corporation | Method for adding two rows of tiles to an existing two rows of tiles based on the number of tiles in each of the existing two rows |
US9886565B2 (en) * | 2014-06-20 | 2018-02-06 | Microsoft Technology Licensing, Llc | User-specific visualization of display elements |
CN104111839A (zh) * | 2014-07-29 | 2014-10-22 | 广东能龙教育股份有限公司 | 一种基于画布的绝对定位方法 |
US10600062B2 (en) | 2016-03-15 | 2020-03-24 | Target Brands Inc. | Retail website user interface, systems, and methods for displaying trending looks by location |
US10776860B2 (en) | 2016-03-15 | 2020-09-15 | Target Brands, Inc. | Retail website user interface, systems, and methods for displaying trending looks |
US11574429B1 (en) * | 2019-04-30 | 2023-02-07 | Splunk Inc. | Automated generation of display layouts |
US11336946B1 (en) | 2020-08-19 | 2022-05-17 | Amazon Technologies, Inc. | Presenting options for selecting content via navigation bars and designated content spaces |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5107443A (en) * | 1988-09-07 | 1992-04-21 | Xerox Corporation | Private regions within a shared workspace |
US5144693A (en) * | 1988-12-30 | 1992-09-01 | Chipsoft Ca Corp. | Method and apparatus for generic form generation |
US7456832B1 (en) * | 1989-05-15 | 2008-11-25 | International Business Machines Corporation | Object database-driven interactive shell for a data processing system |
JPH0481924A (ja) * | 1990-07-25 | 1992-03-16 | Hitachi Ltd | 対話型計算機装置 |
JPH04372014A (ja) * | 1991-06-21 | 1992-12-25 | Oki Electric Ind Co Ltd | ウィンドウ・システム |
-
1993
- 1993-04-30 AT AT93107055T patent/ATE190149T1/de not_active IP Right Cessation
- 1993-04-30 EP EP93107055A patent/EP0622728B1/de not_active Expired - Lifetime
- 1993-04-30 DE DE69327948T patent/DE69327948T2/de not_active Expired - Lifetime
-
1994
- 1994-03-28 JP JP6057723A patent/JP2547964B2/ja not_active Expired - Fee Related
-
1995
- 1995-06-07 US US08/483,641 patent/US6320602B1/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10134270A1 (de) * | 2001-07-18 | 2003-02-06 | Heidenhain Gmbh Dr Johannes | Verfahren zur Erzeugung pixelorientierter Bilddateien zur Darstellung graphischer Symbole durch eine numerische Steuerung |
Also Published As
Publication number | Publication date |
---|---|
US6320602B1 (en) | 2001-11-20 |
EP0622728A1 (de) | 1994-11-02 |
ATE190149T1 (de) | 2000-03-15 |
EP0622728B1 (de) | 2000-03-01 |
JPH06332656A (ja) | 1994-12-02 |
DE69327948D1 (de) | 2000-04-06 |
JP2547964B2 (ja) | 1996-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69327948T2 (de) | Bereich-layout in einer Sicht auf einem grafischen Anzeigeschirm | |
DE69600794T2 (de) | Graphische entwicklungs- und verwaltungsumgebung für anwendungsprogramme | |
DE69524930T2 (de) | Vorrichtung zur visuellen Darstellung von Programmscheiben | |
DE3853788T2 (de) | Dokumentbildungssystem mit benannten Formaten und Schriftarten. | |
DE69522684T2 (de) | Statusanzeiger einer graphischen benutzerschnittstelle | |
DE68919503T2 (de) | Methode und System zur Darstellung einer Benutzeroberfläche auf einem Computerbildschirm. | |
DE3881331T2 (de) | Flexible Fensterverwaltung auf einer Rechneranzeige. | |
DE69331025T2 (de) | System und Verfahren für Rechnerschnittstellen | |
DE3586273T2 (de) | Implizite erzeugung einer superblockstruktur in einem vieldaten-edierungsgeraet. | |
DE69318571T2 (de) | Verfahren und system für die in-ort-wechselwirkung mit eingebetteten objekten | |
DE69620301T2 (de) | Fensterverwaltung | |
DE3689034T2 (de) | Elektronisches System zur Text-Grafik-Aufbereitung. | |
DE68923492T2 (de) | Verfahren zum Zugriff auf ausgewählte Fenster in einem Mehrprozessbetriebssystem. | |
DE3586274T2 (de) | Vieldaten-edierungsgeraet mit gebrauch von attributstroemen fuer textobjekte. | |
DE3586272T2 (de) | Integriertes vieldaten-edierungsgeraet. | |
DE69732547T2 (de) | Verfahren und Gerät zum Zusammenklappen und zur Ausdehnung auserwählter Bereiche von Arbeitsräumen auf einem von einem Rechner kontrollierten Anzeigesystem | |
DE69129265T2 (de) | Bildverschiebungssteuerung und Verfahren | |
DE69123173T2 (de) | Rollbalken mit vom System oder Benutzer bereitgestellten Informationen | |
DE69529071T2 (de) | Überfliegen von elektronisch gespeicherten Informationen | |
DE3852034T2 (de) | Hilfe-bereitstellung in einer datenverarbeitungsanlage. | |
DE69429860T2 (de) | Interaktives multimedia darstellungssystem | |
DE69428988T2 (de) | Interaktive anwenderschnittstelle | |
DE60008498T2 (de) | Verfahren und System zum Addieren und Löschen von Elementen in einem Bereich von mit Namen versehenen Zellen entsprechend verschiedener Methoden in einem elektronischen Kalkulationsblatt | |
DE69719413T2 (de) | Verfahren und Gerät zum Gruppieren von graphischen Objekten in einem Rechnersystem mit einer graphischen Benutzerschnittstelle | |
DE69030862T2 (de) | Automatisches Ikonerzeugungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7 |