-
Die vorliegende Erfindung betrifft
eine GUI-(grafische Benutzerschnittstelle)-Editierungsunterstützungsvonichtung zur Unterstützung der
Editierung einer GUI, beispielsweise eines Computeranwendungsprogramms.
-
Grafische Benutzerschnittstellen
werden manchmal durch GUI-Editierungsunterstützungsvorrichtungen
(die manchmal auch als GUI-Bildungsgeräte bezeichnet werden) ausgelegt
und geschaffen.
-
In einer herkömmlichen GUI-Editierungsunterstützungsvorrichtung
werden Tasten und Listen, die als GUI-Teile bezeichnet werden, aus
einer Palette gewählt
und in einem Fensterrahmen angeordnet, dessen Größe frei verändert werden kann, um so eine
GUI auszulegen und zu schaffen. Diese Operation wird von einem Entwickler
(Benutzer) der GUI ausgeführt.
Mit einem Anzeigeschirm der GUI werden Daten, die zwischen einem
Computer und seinem Benutzer ausgetauscht werden, auf einem Anzeigeschirm
der GUI dargestellt. Wenn eine GUI mit einer derartigen GUI-Editierungsunterstützungsvorrichtung
ausgelegt und geschaffen wird, treten die folgenden Probleme auf.
-
Mit der GUI-Editierungsunterstützungsvorrichtung
können
Schirme der GUI leicht in einer derartigen Weise ausgelegt und geschaffen
werden, dass der Benutzer Bilder zeichnet. Da der Benutzer jedoch
dazu tendiert, eine GUI ohne ein abschließendes Bild davon auszulegen
und zu schaffen bzw. zu erzeugen, sollte der Benutzer jedoch die
GUI später modifizieren.
D. h., es passiert oft, dass Anzeigeteile hinzugefügt und Funktionen
in einem Auslegungsprozess geändert
werden. Für
den Fall von Daten, von denen einer aus einer Vielzahl von Alternativen gewählt wird,
können
insbesondere andere Alternativen später hinzugefügt werden.
Die GUI-Teile werden als ein fester Typ und ein nicht-fester Typ
in Abhängigkeit
davon kategorisiert, ob Alternativen später hinzugefügt werden.
Wenn für
den Fall des festen Typs Alternativen später hinzugefügt werden,
sollten relevante Bildschirme der GUI neu erzeugt werden. Somit
sollte der Benutzer eine GUI unter Berücksichtigung davon auslegen
und erzeugen, welche und wie viele Teile für das abschließende Bild
davon verwendet werden.
-
Wenn z. B. der Benutzer eine GUI
erzeugt, von der eine aus einer Vielzahl von Alternativen gewählt wird,
kann er oder sie eine Darstellungseinrichtung (Teile) wie Herunterzieh-Menüs (Pull-down
Menüs),
exklusive Tasten und Listenboxen verwenden. In diesem Fall hängt die
Verwendung von diesen Einrichtungen von Operationstypen und der
Präferenz des
Benutzers (Entwicklers) ab.
-
In diesem Fall kann die herkömmliche GUI-Editierungsunterstützungsvorrichtung
eine bestimmte Darstellungseinrichtung nicht frei auf eine andere
Darstellungseinrichtung verändern.
Wenn somit ein bestimmter Teil verwendet worden ist oder durch einen
anderen ersetzt wird, sollte eine Operation äquivalent zu der Umstrukturierung
eines GUI-Schirms davon benötigt
werden.
-
Zusätzlich sollte der Benutzer
vor der Erzeugung eines realen Systems eine Attrappe davon erzeugen.
Jedoch ist die Erzeugung der Attrappe selbst sehr mühsam und
aufwendig.
-
Die vorliegende Endung wurde ausgehend von
dem voranstehend beschriebenen Gesichtspunkt durchgeführt.
-
Das US Patent mit der Nummer 5335320
offenbart ein GUI-Editierungssystem zum Entwickeln oder Editieren
einer neune GUI durch eine GUI-Umgebung. Um Fehler zu vermeiden,
hat das System Beschränkungen
für jedes
der GUI-Elemente gesetzt und beurteilt, ob eine Benutzereingabe
gültig
ist oder nicht, auf Grundlage der Beschränkungen. Ferner stellt das
System eine Vielzahl von Satzanalysemoden bereit, so dass die Interpretation
einer Benutzereingabe automatisch in Übereinstimmung mit diesen Analysemoden
verändert
wird, um eine Effizienz zu verbessern. Zusätzlich offenbar das Patent
die Verwaltung der GUI-Daten, um als Baumstrukturdaten editiert
zu werden.
-
Das US Patent mit der Nummer 5347627 adressiert
ein spezifisches Problem im Zusammenhang mit GUI-Editoren, die die
Integrität
von Quellendateien nicht aufrechterhalten, sobald manuelle Aktualisierungen
mit einem Texteditor ausgeführt
werden. In Übereinstimmung
mit der Offenbarung wird dieser Aspekt dadurch beseitigt, dass eine
GUI-Quellencodedatei bereitgestellt wird. Diese Datei enthält einen
Eintrag für
das Benutzerschnittstellenfeld und für jedes Objekt, als ein Icon,
einen Aktionsstab oder dgl. innerhalb des Felds. Die Objekteinträge umfassen
die Größe und den
Ort des Objekts. Der Benutzer hat die Möglichkeit, die Quellencodedatei
zu aktualisieren, editieren oder zu überarbeiten. Ein Compiler kompiliert
die GUI-Quellencodedatei, um eine GUI-Objektcodedatei zu bilden.
-
Das US Patent mit der Nummer 5555370
offenbart ein System zum Erhöhen
der Effizienz zum Bauen von Anwendungen durch Verringern der Notwendigkeit
für den
Benutzer zum erneuten Erzeugen von komplexen Objekten. Ein "Objekt" umfasst Merkmale,
wie Fenster, Textfelder, Tasten und Schieber zur Verwendung in der
Anwendung unter einer Entwicklung. Das System ermöglicht einem
Benutzer, ein Zusammensetzungsobjekt zu erzeugen, welches wenigstens
zwei einer Vielzahl von Objekten verwendet. Das Zusammensetzungsobjekt
wird automatisch mit den Objekten im Ansprechen auf eine Benutzereingabe
in Verbindung gebracht, wobei das Zusammensetzungsobjekt danach
von dem Benutzer gewählt
werden kann, um eine Anwendung effizient zu erzeugen, anstelle dass
jedes komplexe Objekt von Anfang an erzeugt wird.
-
Eine Aufgabe der vorliegenden Erfindung
ist die Bereitstellung einer GUI-Editierungsunterstützungsvonichtung,
die dem Benutzer eine Entwicklung und Erzeugung von GUI-interaktiven Schirmen erlaubt,
die im Betrieb und der Wartung überlegen sind,
eines GUI-Editierungsunterstützungsverfahrens,
und eines Aufzeichnungsmediums, welches ein GUI-Editierungsunterstützungsprogramm davon aufzeichnet.
-
Eine andere Aufgabe der vorliegenden
Erfindung ist die Bereitstellung einer GUI-Editierungsunterstützungsvorrichtung, die berücksichtigt,
welcher Teil ein umzuwandelnder GUI-Teil ist, eines GUI-Editierungsunterstützungsverfahrens
davon, und eines Aufzeichnungsmediums, welches ein GUI-Editierungsunterstützungsprogramm
davon aufzeichnet.
-
Eine weitere Aufgabe der vorliegenden
Endung ist die Bereitstellung einer GUI-Editierungsunterstützungsvorrichtung, die die
gegenwärtige
Position eines umzuwandelnden GUI-Teils berücksichtigt, eines GUI-Editierungsunterstützungsverfahrens
davon, und eines Aufzeichnungsmediums, welches ein GUI-Editierungsunterstützungsprogramm
davon aufzeichnet.
-
Um das voranstehend erwähnte Problem
zu lösen,
stellt die vorliegende Erfindung eine Vorrichtung zum Erzeugen eines
Anzeigeschirms für
Anzeigeteile bereit, die umfasst: eine Berechnungseinrichtung zum
Berechnen einer Anzeigeposition eines ersten Anzeigeteils auf einem
Anzeigeschirm;
eine erste Wähleinrichtung
zum Wählen,
entsprechend zu der berechneten Anzeigeposition, eines zweiten Anzeigeteils,
in den ein erster Anzeigeteil umgewandelt wird, wenn ein erster
Befehl für
den ersten Anzeigeteil, der auf dem Anzeigeschirm angezeigt wird,
herausgegeben wird; und
eine erste Steuereinrichtung zum Anzeigen
des zweiten Anzeigeteils anstelle des ersten Anzeigeteils auf dem
Anzeigeschirm.
-
Gemäß der vorliegenden Erfindung
wird dann, wenn der Benutzer ein GUI-Objekt (einen Anzeigeteil)
von einer GUI wählt,
die gerade ausgelegt wird, und dann eine Umwandlungstaste drückt, der gegenwärtig angezeigte
Teil in einen anderen Anzeigeteil umgewandelt. Wenn z. B. der Benutzer
eine Kennung "OK" wählt und
die Umwandlungstaste drückt,
dann wird die Kennung "OK" in ein Textfeld "OK" umgewandelt. Wenn
der Benutzer nochmals die Umwandlungstaste drückt, wird das Textfeld "OK" in eine Taste "OK" umgewandelt. Wenn
der Benutzer die Umwandlungstaste nochmals drückt, wird die Taste "OK" in eine Optionstaste "OK" umgewandelt. Wenn
der Benutzer ein Objekt wählt,
werden Objekte wie "Kennung", "Textfeld", "Taste" und "Überprüfungsbox" Umwandlungsalternativen.
-
Wenn der Benutzer eine Vielzahl von GUI-Objekten
wählt,
werden genauso Objekte "ein Satz
von Kennungen", "ein Satz von Textfeldern", "ein Textfeld mit
einer Vielzahl von Linien", "ein Satz von Befehlstasten", "ein Satz von Überprüfungsboxen", "ein Satz von Optionstasten", "eine Listenbox", "eine Combo-Box", "eine Herunterfall-Listenbox", "ein Tabulator-Dialog", und "eine Baumansicht" Umwandlungsalternativen.
Die obigen Anwendungen wie beispielsweise eine Kennung (ein Label)
sind lediglich Beispiele. Die vorliegende Endung ist nicht auf die
obigen Anwendungen beschränkt.
-
Die Reihenfolge von derartigen Wählalternativen
kann mit der Häufigkeit
der Verwendung jedes Teils und dem Kennungsnamen davon verändert und/oder
gelernt werden.
-
Diese und andere Aufgaben, Merkmale
und Vorteile der vorliegenden Erfindung ergeben sich näher im Hinblick
auf die folgende ausführliche
Beschreibung der bevorzugten Ausführungsformen davon, wie in
den beiliegenden Zeichnungen dargestellt.
-
In den Zeichnungen zeigen:
-
1 ein
Blockdiagramm, das den Aufbau einer GUI-Editierungsunterstützungsvorrichtung
gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung zeigt;
-
2 ein
Blockdiagramm, das den Aufbau eines Teileverwaltungsabschnitts zeigt,
der in 1 gezeigt ist;
-
3 ein
schematisches Diagramm, welches ein Beispiel eines anfänglichen
Zustands eines Fensters zeigt;
-
4A ein
schematisches Diagramm, welches ein Beispiel von Teiledaten zeigt,
die in einem Teilespeicherabschnitt gespeichert sind, der in 1 gezeigt ist;
-
4B ein
schematisches Diagramm, welches ein Beispiel von Teiledaten zeigt,
die in dem Teilespeicherabschnitt gespeichert sind, der in 1 gezeigt ist;
-
5 ein
schematisches Diagramm, das ein Fenster zeigt, in das Zeichenketten
eingegeben worden sind; _
-
6 ein
schematisches Diagramm, welches ein Beispiel eines Fensters zeigt,
in dem gerade eine Ziehen-(Drag)-und Fallenlassen-(Drop)-Operation
ausgeführt
wird;
-
7 ein
Flussdiagramm, das den Betrieb der GUI-Editierungsunterstützungsvorrichtung
in Übereinstimmung
mit der ersten Ausführungsform der
vorliegenden Erfindung zeigt;
-
8 ein
schematisches Diagramm, welches ein Beispiel eines Fensters zeigt,
von dem eine in 6 gezeigte
Kennungsgruppe auf eine Combo-Box geändert worden ist;
-
9 ein
schematisches Diagramm, das ein Beispiel eines Fensters zeigt, von
dem eine umgewandelte Standard-Combo mit einem nächsten alternativen Umwandlungsbefehl
angezeigt wird;
-
10 ein
schematisches Diagramm, welches ein Beispiel eines Fensters zeigt,
von dem ein umgewandeltes Menü mit
dem nächsten
alternativen Umwandlungsbefehl angezeigt wird;
-
11 ein
schematisches Diagramm, welches ein Beispiel eines Fensters zeigt,
von dem die Reihenfolge von Anzeigeteilen verändert ist;
-
12A bis 12E schematische Diagramme, die
Teiledaten zeigen, die in dem Teilespeicherabschnitt gespeichert
sind, der in 1 gezeigt
ist;
-
13 ein
Flussdiagramm, das einen Umwandlungsprozess der GUI-Editierungsunterstützungsvorrichtung
gemäß der ersten
Ausführungsform
der vorliegenden Erfindung zeigt;
-
14 ein
Blockdiagramm, das die Struktur einer GUI-Editierungsunterstützungsvorrichtung
gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung zeigt;
-
15 ein
Flussdiagramm, das einen Betrieb der GUI-Editierungsunterstützungsvorrichtung gemäß der zweiten
Ausführungsform
der vorliegenden Erfindung zeigt;
-
16 ein
schematisches Diagramm, das ein Beispiel eines Anzeigeschirms in Übereinstimmung
mit der zweiten Ausführungsform
der vorliegenden Erfindung zeigt;
-
17 ein
schematisches Diagramm, das ein Beispiel eines Anzeigeschirms gemäß der zweiten
Ausführungsform
der vorliegenden Erfindung zeigt;
-
18 ein
Blockdiagramm, das den Aufbau einer GUI-Editierungsunterstützungsvonichtung
gemäß einer
dritten Ausführungsform
der vorliegenden Erfindung zeigt;
-
19 ein
Flussdiagramm, das einen Betrieb der GUI-Editierungsunterstützungsvorrichtung gemäß der dritten
Ausführungsform
der vorliegenden Erfindung zeigt;
-
20 ein
schematisches Diagramm, das ein Beispiel eines Anzeigeschirms zum
Erläutern
der dritten Ausführungsform
der vorliegenden Erfindung zeigt;
-
21A und 21B schematische Diagramme,
die ein Beispiel eines Anzeigeschirms zum Erläutern der vierten Ausführungsform
der vorliegenden Endung zeigen;
-
22 ein
Blockdiagramm, das den Aufbau einer GUI-Editierungsunterstützungsvorrichtung
gemäß einer
vierten Ausführungsform
der vorliegenden Erfindung zeigt;
-
23 ein
Blockdiagramm zum Erläutern
eines Betriebs eines Ordnungs-Bestimmungsabschnitts, der in 22 gezeigt ist;
-
24A und 24C schematische Diagramme,
die Beispiele von Anzeigeschirmen zum Erläutern der fünften Ausführungsform der vorliegenden Endung
zeigen;
-
25 ein
Blockdiagramm, das den Aufbau einer GUI-Editierungsunterstützungsvorrichtung
gemäß der fünften Ausführungsform
der vorliegenden Endung zeigt;
-
26 ein
Flussdiagramm, das einen Gruppierungsprozess eines Teilegruppierungsabschnitts zeigt,
der in 25 gezeigt ist;
-
27A bis 27C schematische Diagramme, die
Beispiele des Gruppierungsprozesses des Teilegruppierungsabschnitts,
der in 25 gezeigt ist, zeigt;
und
-
28 ein
Blockdiagramm, das den Aufbau einer GUI-Editierungsunterstützungsvorrichtung
gemäß einer
sechsten Ausführungsform
der vorliegenden Erfindung zeigt.
-
1 ist
ein Blockdiagramm, das den Aufbau einer GUI-Editierungsunterstützungsvorrichtung gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung zeigt. Bezug nehmend auf 1 gibt ein Eingabeabschnitt 1 Zeichenkettendaten
und Bitkartendaten, die in einer zu erzeugenden GUI verwendet werden,
und Befehle usw. entsprechend zu jeder Operationsbedingung ein.
Der Eingabeabschnitt 1 wird durch eine Anzeigeeinrichtung
verwvklicht, beispielsweise eine Tastatur, eine Maus, usw. Ein Anzeigeabschnitt 2 zeigt
verschiedene Arten von internen Daten, die von einem Computer behandelt werden,
dem Benutzer an. In diesem Beispiel zeigt der Anzeigeabschnitt 2 Anzeigeteile
wie Fenster (Formen) und Kennungen bzw. Kennzeichnungen und eine
Maus-Bildmarke an. Zusätzlich
zu Textdaten zeigt der Anzeigeabschnitt 2 grafische Daten
an. Der Anzeigeabschnitt 2 wird durch eine so genannte Anzeige
oder dgl. verwirklicht. Der Eingabeabschnitt 1 und der
Anzeigeabschnitt 2 bilden eine Benutzerschnittstelle.
-
Ein Teileverwaltungsabschnitt 3 führt verschiedene
Verwaltungsprozesse für
Teiledaten, die auf dem Anzeigeabschnitt 2 angezeigt werden,
entsprechend zu verschiedenen Typen von Eingabeinformation, die
von dem Eingabeabschnitt 1 empfangen wird, aus. Die Einzelheiten
des Teileverwaltungsabschnitts 3 werden nachstehend noch
beschrieben. Ein Teilespeicherabschnitt 4 speichert Zeichenkettendaten
und Bitkartendaten, die von dem Eingabeabschnitt 1 empfangen
werden, als Teiledaten. Ein Umwandlungsabschnitt 5 wandelt
Teiledaten, die von dem Teileverwaltungsabschnitt 3 empfangen
werden, entsprechend sowohl zu einer Umwandlungsregel, die in einem
Regelspeicherabschnitt 6 gespeichert ist, und einer Umwandlungsfrequenzinformation,
die in einem Frequenzspeicherabschnitt 7 gespeichert ist,
um. Ein Lernabschnitt 8 lernt die Frequenzinformation entsprechend
zu dem vorgegebenen Lernalgorithmus und aktualisiert dadurch die Frequenzinformation,
die in dem Frequenzinformations-Speicherabschnitt 7 gespeichert
ist.
-
Als nächstes wird der Teileverwaltungsabschnitt 3 mit
Einzelheiten beschrieben werden.
-
2 ist
ein Blockdiagramm, das den Aufbau des Teileverwaltungsabschnitts 3 zeigt.
In 2 interpretiert ein
Eingabeinformations-Interpretationsabschnitt 21, ob eine
Eingabeinformation, die von dem Eingabeabschnitt 1 empfangen
wird, ein Befehl (oder dgl.), Zeichenkettendaten, oder Bitkartendaten sind.
-
Der Eingabeinformations-Interpretationsabschnitt 21 gibt
Daten oder Steuerinformation an jeden Abschnitt (der nachstehend
noch beschrieben wird) entsprechend zu dem Interpretationsergebnis
aus. Dieser Interpretationsprozess wird häufig entsprechend zu dem Betriebszustand
und dem Eingabemodus ausgeführt.
-
Wenn der Eingabeinformations-Interpretationsabschnitt 21 interpretiert
hat, dass die von dem Eingabeabschnitt 1 empfangene Eingabeinformation Zeichenkettendaten
oder Bitkartendaten sind, dann sendet der Eingabeinformations-Interpretationsabschnitt 21 die
Zeichenkettendaten oder dgl. an einen Teiledaten-Registrierungsabschnitt 22.
Der Teiledaten-Registrierungsabschnitt 22 sendet die empfangenen
Zeichenkettendaten und die Bitkartendaten als Teiledaten an den
Teilespeicherabschnitt 4.
-
Wenn der Eingabeinformations-Interpretationsabschnitt 21 interpretiert
hat, dass die von dem Eingabeabschnitt 1 empfangene Eingabeinformation ein
Teilewählbefehl
ist, dann sendet der Eingabeinformations-Interpretationsabschnitt 21 die
Eingabeinformation an einen Teilewählabschnitt 23. Der
Teilewählabschnitt 23 wählt einen
relevanten Teil (oder einen relevanten Satz von Teilen) in Übereinstimmung mit
der Eingabeinformation. Mit anderen Worten, der Teilewählabschnitt 23 wählt einen
Anzeigeteil entsprechend zu sowohl einer Positionsinformation, die die
Eingabeinformation bildet, als auch einer Schirminformation, die
in einem Anzeigedaten-Speicherabschnitt 24 gespeichert
ist. In diesem Fall kann der Teilewählabschnitt 23 eine
Vielzahl von Anzeigeteilen entsprechend zu der Eingabeinformation
wählen. Wenn
der Teilewählabschnitt 23 einen
Anzeigeteil gewählt
hat, dann sendet der Teilewählabschnitt 23 die
sich ergebende Information an einen Teiledaten-Leseabschnitt 25.
Zusätzlich
aktualisiert der Teilewählabschnitt 23 Anzeigedaten,
die in dem Anzeigedaten-Speicherabschnitt 23 gespeichert
sind, um so den Benutzer in die Lage zu versetzen, zu wissen, dass
der Anzeigeteil gewählt
worden ist. Der Anzeigeteil-Leseabschnitt 25 liest die
relevanten Teiledaten aus dem Teilespeicherabschnitt 4 entsprechend zu
der Information des Anzeigeteils und speichert vorübergehend
den Inhalt.
-
Wenn der Eingabeinformations-Interpretationsabschnitt 21 interpretiert
hat, dass die Eingabeinformation ein Teileumwandlungsbefehl ist,
dann sendet der Eingabeinformations-Interpretationsabschnitt 21 die
Eingabeinformation an einen Umwandlungsbefehlsabschnitt 26.
Der Umwandlungsbefehlsabschnitt 26 liest die Teiledaten
aus dem Teiledaten-Leseabschnitt 25 und sendet die Teiledaten
an den Umwandlungsabschnitt 5. Mit anderen Worten, die
Teiledaten entsprechen dem Anzeigeteil, der von dem Teilewählabschnitt 23 gewählt wird.
Der Umwandlungsabschnitt 5 erzeugt eine Liste von Alternativen
der gewählten
Teiledaten (einen Satz von Teilen) entsprechend zu sowohl der Umwandlungsregel,
die in dem Regelspeicherabschnitt 6 gespeichert ist, als auch
der Frequenzinformation, die in dem Frequenzinformations-Speicherabschnitt 7 gespeichert
ist, und übergibt
die Liste zurück
an einen Alternative-Wählabschnitt 27.
Der Alternative-Wählabschnitt 27 wählt eine
aus der Liste von Alternativen und schreibt den Inhalt des Anzeigedaten-Speicherabschnitts 24 entsprechend
zu den gewählten
Alternativen. Somit wird das umgewandelte Ergebnis auf dem Bildschirm
des Anzeigeabschnitts 2 angezeigt.
-
Eine nächste Alternative wird von
oben aus der Liste von Alternativen gewählt. Nachdem sämtliche
Alternativen gewählt
worden sind, wird eine andere Alternative von oben aus der Liste
von Alternativen gewählt.
Dieser Prozess wird in einer derartigen Weise durchgeführt, dass
dann, wenn ein Umwandlungsbefehl erfolgreich von dem Eingabeabschnitt 1 eingegeben
wird, der Eingabeinformations- Interpretationsabschnitt 1 den
Umwandlungsbefehl als einen nächsten
Alternative-Interpretationsbefehl interpretiert und den Umwandlungsbefehl
an den Alternative-Wählabschnitt 27 sendet.
-
Wenn der Eingabeinformations-Interpretationsabschnitt 21 interpretiert
hat, dass die von dem Eingabeabschnitt 1 empfangene Eingabeinformation ein
Teile-Auswahl-Aufliebungsbefehl ist, sendet der Eingabeinformations-Interpretationsabschnitt 21 die Eingabeinformation
an den Teilewählabschnitt 23 und
den Alternative-Wählabschnitt 27.
Der Teilewählabschnitt 23 aktualisiert
Anzeigedaten des Anzeigedaten-Wählabschnitts
24, um so den Benutzer in die Lage zu versetzen, zu wissen, dass
die Auswahl des Anzeigeteils aufgehoben worden ist. Andererseits sendet
der Alternative-Wählabschnitt 27 den
abschließend
gewählten
Anzeigeteil an den Lernabschnitt B.
-
Als nächstes wird ein Beispiel des
Betriebs der GUI-Editierungsunterstützungsvorrichtung in Übereinstimmung
mit der vorliegenden Erfindung beschrieben werden.
-
Wenn die GUI-Editierungsunterstützungsvorrichtung
gestartet wird, wird als ein anfänglicher Zustand
des Anzeigeabschnitts ein Fenster (eine Form) angezeigt, in dem
kein Teil angeordnet ist. 3 zeigt
ein Beispiel des anfänglichen
Zustands eines Fensters. In diesem Zustand ist kein Teil angeordnet.
Jedoch können
voreingestellte Teile definiert und als der anfängliche Zustand angezeigt werden.
-
Nun sei angenommen, dass fünf Zeichenketten
von dem Eingabeabschnitt 1 eingegeben werden. In diesem
Beispiel werden fünf
Zeichenketten "Datei", "Speichern", "Erneutes Speichern", "Öffnen" und "Ende" erzeugt.
Nachdem der Benutzer irgendeine Position auf dem Fenster mit der
Zeigeeinrichtung wie einer Maus (nicht gezeigt) bestimmt, eine relevante
Zeichenkette von dem Eingabeabschnitt 1 eingibt und den
Eintrag bestätigt,
erzeugt der Teiledaten-Registrierungsabschnitt 22 z. B.
einen Satz von Teiledaten, die aus den Zeichenkettendaten und den Daten
des voreingestellten Rahmens bestehen. Die Teiledaten werden in
dem Teilespeicherabschnitt 4 gespeichert.
-
Die 4A und 4B sind schematische Diagramme,
die Beispiele von Teiledaten zeigen, die in dem Teilespeicherabschnitt 4 gespeichert
sind. Wie in 4A gezeigt,
sind Teiledaten aus einer GUI-Teilenummer 401,
der Anzahl von Elementen 402, einer Elementenummer 403,
der Anzahl von unteren Elementen 404, einer Zeichenkette
405, einem Teilenamen 406, einem Wert 407, einem
Zustand 408, einer Position 409, einer Größe 410 und
einem unteren Element 411 gebildet. Es sei angenommen,
dass eine Zeichenkette, die von dem Eingabeabschnitt 1 empfangen
wird, mit einem Format gespeichert wird, welches sich z. B. auf "Kennung" bezieht. Wenn eine Zeichenkette "Datei" eingegeben wird,
werden Daten, wie in 4B gezeigt,
erzeugt und gespeichert.
-
Als nächstes werden die Teiledaten
einzeln ausführlich
beschrieben werden.
-
Die GUI-Teilenummer 401 ist
eine einzigartige Nummer des Teils.
-
Die Anzahl von Elementen 402 ist
die Anzahl von Teilen in der gleichen hierarchischen Ebene der gleichen
Gruppe. Da die Teiledaten nur eine Kennung "Datei" enthalten, ist in diesem Beispiel die
Anzahl von Elementen 1.
-
Die Elementnummer 403 ist
eine einzigartige Nummer jedes Teils in der gleichen hierarchischen Ebene
der gleichen Gruppe.
-
Die Anzahl von unteren Elementen 404 ist die
Anzahl von Teilen in niedrigeren hierarchischen Ebenen für den Fall,
dass ein Teil und ein anderer Teil eine hierarchische Verwandtschaft
aufweisen.
-
Die Zeichenkette 405 ist
eine Zeichenkette, die jeden Teil darstellt.
-
Der Teilename 406 ist der
Name des Teils.
-
Der Wert 407 ist der Wert jedes Teils.
Z. B. ist für
den Fall einer Überprüfungs-Box
(Check-Box), wenn sie überprüft wird,
der Wert 407 1. Wenn die Überprüfungs-Box
nicht geprüft
wird, ist der Wert 407 0. Wenn der Teil keinen Wert aufweist, ist
der Wert 407 null. Der Wert 407 hängt von jedem Teil ab.
-
Der Zustand 408 ist der
Zustand jedes Teils. Für
den Fall einer Taste, wenn sie nicht betätigt werden kann, ist der Zustand 408 ungültig. Wenn
der Teil betätigt
werden kann, ist der Zustand 408 gültig. Der Zustand 408 hängt von
jedem Teil ab.
-
Die Position 409 ist die
Position jedes Teils an dem Fenster. Z. B. wird die Position 409 mit
der Anzahl von Pixeln dargestellt.
-
Die Größe 410 ist die Größe jedes
Teils.
-
Das untere Element 411 ist
eine Information von Teilen in untereren hierarchischen Ebenen. Wenn
kein unterer Teil vorhanden ist, ist das untere Element 411 null.
-
5 zeigt
ein Fenster, bei dem die voranstehend beschriebenen fünf Zeichenketten
eingegeben worden sind. Die voranstehend beschriebenen Teiledaten
für die
Kennungen, die in 5 gezeigt sind,
sind gespeichert.
-
Als nächstes wählt der Benutzer die vier Kennungen "Speichern", "neues Speichern", "Öffnen" und "Ende" von
dem Eingabeabschnitt 1 und zieht diese an die Kennung "Datei" und lasst sie dort fallen. 6 zeigt ein Fenster in diesem
Zustand. Mit anderen Worten, wenn der Benutzer die Maus an der Position
der Kennung (des Anzeigeteils) auf dem Fenster des Anzeigeabschnitts 2 klickt,
wird eine Marke, die darstellt, dass die Kennung entsprechend zu
der Positionsinformation des Mauscursors gewählt worden ist, angezeigt.
Somit kann der Benutzer eine Eingabeoperation wie die Zieh- und
Fallen-lassen-Operation ausführen.
In diesem Beispiel wird angenommen, dass dann, wenn der Benutzer
erfolgreich Kennungen mit der Shift-Taste gedrückt anklickt, er oder sie eine
Vielzahl von Kennungen wählen
kann. Wenn der Benutzer den Mauscursor zieht und die Maustaste in
dem Zustand fallen lässt,
in dem die Kennung "Datei" mit dem gewählten Kennungssatz überlappt,
wird der Anzeigeteil auf dem Fenster in einen anderen Anzeigeteil
umgewandelt.
-
7 ist
ein Flussdiagramm, welches Operationen des Teileverwaltungsabschnitts 3 und
des Umwandlungsabschnitts 5 zeigen.
-
In dem Teileverwaltungsabschnitt 3 wählt der Teilewählabschnitt 23 Teiledaten
entsprechend zu der Eingabeinformation, die der Benutzer mit der Maus
(im Schritt 701) angeklickt hat, und der Teiledaten-Leseabschnitt 25 liest
die Teiledaten (im Schritt 702). Der Umwandlungsbefehlsabschnitt 26 liest
Teiledaten aus dem Teiledaten-Leseabschnitt 25 (im Schritt
704) und sendet die Teiledaten an den Umwandlungsabschnitt 5 (im
Schritt 705). Der Umwandlungsabschnitt 5 wandelt die Teiledaten
in andere Teiledaten (z. B. eine Combo-Box) um (im Schritt 706).
-
8 ist
ein schematisches Diagramm, welches ein Beispiel des Zustands zeigt,
in dem der Satz von Kennungen, die in 6 gezeigt
sind, in eine Combo-Box umgewandelt wird. Wenn der umgewandelte
Anzeigeteil nicht ein gewünschter
Anzeigeteil ist, gibt der Benutzer einen Alternative-Umwandlungsbefehl
von dem Eingabeabschnitt 1 ein (im Schritt 707). Somit
wird der nächste
Anzeigeteil angezeigt (im Schritt 708).
-
9 ist
ein schematisches Diagramm, welches ein Beispiel des Zustands zeigt,
in dem eine Standard-Combo-Box mit einem Nächste-Alternative-Umwandlungsbefehl
angezeigt wird. Wenn der Benutzer den Nächste-Alternative-Umwandlungsbefehl
mit dem Eingabeabschnitt 1 eingibt, wird ein Menü als die
nächste
Alternative angezeigt. 10 ist
ein schematisches Diagramm, welches ein Beispiel des Zustands zeigt,
in dem das Menü mit
dem Nächste-Alternative-Umwandlungsbefehl
angezeigt wird. In einer derartigen Weise wiederholt der Benutzer
die Eingabe des Nächste-Alternative-Umwandlungsbefehls,
bis ein gewünschter
Anzeigeteil angezeigt wird. Wenn der gewünschte Anzeigeteil angezeigt
wird, bestätigt
der Benutzer dies mit dem Eingabeabschnitt 1 (im Schritt
709). Infolgedessen ist der Prozess abgeschlossen.
-
Wenn die Anzeigeteile nicht in der
gewünschten
Ordnung angeordnet sind, kann der Benutzer die Teile direkt bewegen.
Mit anderen Worten, der Benutzer wählt einen gewünschten
der Anzeigeteile mit dem Eingabeabschnitt 1 und zieht ihn
dann an eine gewünschte
Position und lässt
ihn dort fallen. 11 ist
ein schematisches Diagramm, das ein Beispiel des Zustands zeigt,
in dem die Ordnung der Anzeigeteile geändert wird.
-
Unter der Annahme, dass fünf Kennungen "Datei", "Neu", "Öffnen", "Speichern", und "Ende" erzeugt werden,
all diese gleichzeitig gewählt
werden und sie in ein Menü umgewandelt
werden, werden Teiledaten in dem Teiledaten-Speicherabschnitt 4 gespeichert,
wie in den 12A bis 12E gezeigt.
-
Als nächstes wird unter Bezugnahme
auf 13 der Umwandlungsprozess
der GUI-Editierungsunterstützungsvorrichtung
gemäß der Ausführungsform
beschrieben werden.
-
13 ist
ein Flussdiagramm, das den Umwandlungsprozess der GUI-Editierungsunterstützungsvorrichtung
gemäß der Ausführungsform
zeigt.
-
Wenn Teiledaten ermittelt werden,
erzeugt der Umwandlungsabschnitt 5 eine Liste von verfügbaren Teilen
(im Schritt 1301). Der Umwandlungsabschnitt 5 erzeugt die
Liste in einem vorgegebenen Format. Für den Fall, dass ein Teil gewählt worden ist,
wird das Format in einer derartigen Weise definiert, dass "eine Kennung", "ein Text", "eine Taste", und "eine Überprüfungstaste" gewählt werden
können.
Für den
Fall, dass eine Vielzahl von Teilen gewählt worden ist, wird die Form
in einer derartigen Weise definiert, dass "ein Satz von Kennungen", "ein Satz von Textdateien", "ein Textfeld mit
einer Vielzahl von Linien", "ein Satz von Befehlstasten", "ein Satz von Überprüfungs-Boxen", "ein Satz von Optionstasten", "eine Liste-Box", "eine Combo-Box", "eine Herunterfall-Listen-Box", "ein Tabulator-Dialog", und "eine Baumansicht" gewählt werden
können.
-
Als nächstes bestimmt der Umwandlungsabschnitt 5,
ob eine Regel vorhanden ist oder nicht, die mit dem gegenwärtigen Zustand
entsprechend einer Regel, die in dem Regelspeicherabschnitt 6 gespeichert
ist, übereinstimmt
(im Schritt 1302).
-
Beispiele von Regeln, die in dem
Regelspeicherabschnitt 6 gespeichert sind, sind:
-
Regel 1: Wenn Zeichenkette = "OK", dann Teilename.
Taste + 1
-
Die Regel 1 stellt dar, dass dann,
wenn die gewählte
Zeichenkette "OK" ist, die Priorität der "Taste" als eine Teilealternative
um 1 angehoben wird.
-
Regel 2: Wenn Zeichenkette = "Löschen", dann Teilename. Menü – 1.
-
Die Regel 2 stellt dar, dass dann,
wenn die gewählte
Zeichenkette "Löschen" ist, die Priorität des "Menüs" als eine Teilealternative
um 1 verringert wird.
-
Regel 3: Wenn Zeichenkette 1 = "Datei" und Zeichenkette 2 = "Ende", dann Teilenamel.
Menü +
2; Teilename*. Taste + 1.
-
Die Regel 3 stellt dar, dass für den Fall,
dass eine Vielzahl von Teilen gewählt worden sind und Zeichenketten "Datei" und "Ende" umfassen, die Prioritäten des
Menüs und
der Taste um 2 bzw. 1 angehoben werden, so dass die "Datei" das Menü wird und die
anderen Alternativen Elemente des Menüs werden.
-
Regel 4: Wenn Anzahl von Elementen > 20, dann Teilename.
Optionstaste – 1.
-
Die Regel 4 stellt dar, dass für den Fall,
dass die Anzahl von gewählten
Teilen 20 oder mehr ist, die Priorität der Optionstaste um 1 verringert
wird.
-
Es sei darauf hingewiesen, dass die
voranstehend beschriebene Regeln nur Beispiele sind. Somit kann
der Benutzer diese Regeln hinzufügen, ändern und
löschen,
um so die GUI kundenspezifisch auszulegen.
-
Wenn der Umwandlungsabschnitt 5 bestimmt
hat, dass eine übereinstimmende
Regel vorhanden ist, geht der Fluss zum Schritt 1303. Im Schritt
1303 ändert
der Umwandlungsabschnitt 5 den Wert der Priorität der Liste
von verfügbaren
Teilen, die im Schritt 1301 erzeugt werden. Danach kehrt der Fluss
zum Schritt 1302 zurück.
Im Schritt 1302 bestimmt der Umwandlungsabschnitt 5, ob
eine übereinstimmende
Regel vorhanden ist oder nicht. Wenn keine übereinstimmende Regel vorhanden
ist, liest der Umwandlungsabschnitt 5 die Frequenzinformation
aus dem Frequenzinformations-Speicherabschnitt 7 und ändert den
Wert der Priorität
der Liste von verfügbaren
Teilen, die im Schritt 1301 erzeugt wird, entsprechend der Frequenzinformation
(im Schritt 1304). Danach geht der Fluss weiter zum Schritt 1305.
Im Schritt 1305 sortiert der Umwandlungsabschnitt 5 die
Liste von verfügbaren
Teilen, die im Schritt 1301 erzeugt werden, entsprechend der Priorität. Das sortierte
Ergebnis wird an den Alternative-Wählabschnitt 27 des
Teileverwaltungsabschnitts 3 gesendet (im Schritt 1306).
Somit wird die gewählte Alternative
angezeigt.
-
Nachdem der Benutzer den Anzeigeteil
bestätigt,
sendet der Alternative-Wählabschnitt 27 die Information
der bestätigten
Teiledaten an den Lernabschnitt B. Der Lernabschnitt 8 fügt "1" zu der gegenwärtigen Frequenzinformation
des Anzeigeteils entsprechend zu der Information hinzu und aktualisiert
die Frequenzinformation des Frequenzinformations-Speicherabschnitts 7 als
neue Frequenzinformation.
-
Der Lernabschnitt 8 kann
eine Ereignisbasis-Inferenz, ein funktionales Lernen und ein neuronales
Netz usw., sowie die Frequenzinformation, verwenden. In diesem Fall
speichert der Lernabschnitt 8 die Struktur eines bestätigten Anzeigeteils
als ein Ereignis. Wenn eine ähnliche
Struktur wie ein vergangenes Ereignis vorhanden ist, dann korrigiert
der Lernabschnitt 8 das vergangene Ereignis mit der Ereignisbasis-Inferenz und erzeugt
eine Alternative.
-
Für
den Fall, dass z. B. ein Menüereignis
von "Datei", "Neu", "Öffnen", "Neues
Speichern", "Speichern", und "Ende" als ein altes Ereignis
vorhanden ist, wird dann, wenn ein Satz von Kennungen "Datei, Neu, Öffnen, Speichern,
Ende" erzeugt wird,
das alte Ereignis als ein ähnliches
Ereignis gesucht. Da das gesuchte Ereignis ein Menü ist, kann "Menü" leicht als eine
Umwandlungsalternative gewählt
werden.
-
Als nächstes wird eine zweite Ausführungsform
der vorliegenden Erfindung beschrieben werden.
-
Wenn ein GUI-Teil umgewandelt wird,
wird ein neuer Teil erzeugt oder ein GUI-Teil, das erzeugt worden
ist, wird modifiziert. Da in dem letzteren Fall der GUI-Teil, der
umgewandelt werden soll, eine gewisse Bedeutung haben kann, wird
ein Beispiel, bei dem ein Teil mit dem Typ des gegenwärtigen Teils umgewandelt
wird, beschrieben werden.
-
14 ist
ein Blockdiagramm, das den Aufbau einer GUI-Editierungsunterstützungsvonichtung gemäß der zweiten
Ausführungsform
der vorliegenden Erfindung zeigt. In 14 werden
zur Vereinfachung ähnliche
Abschnitte wie diejenigen der in 2 gezeigten
ersten Ausführungsform
mit ähnlichen
Bezugszeichen bezeichnet. Ein Teileidentifizierungsabschnitt 141 identifiziert
den Typ eines Teils, der umgewandelt werden soll.
-
15 ist
ein Flussdiagramm, das den Betrieb des Teileidentifizierungsabschnitts 11 zeigt.
-
Z. B., wie in 16 gezeigt, wenn der Benutzer einen GUI-Teil,
der mit "Alter:" gekennzeichnet ist,
mit der Maus oder dgl. wählt
und die Umwandlungsoperation mit der Umwandlungstaste ausführt, sendet
ein Umwandlungsbefehlsabschnitt 26 einen Umwandlungsbefehl
an einen Umwandiungsabschnitt 5 und informiert den Teileidentifizierungsabschnitt 141 eines
GUI-Teils, der umgewandelt werden soll (siehe 4A und 4B).
Der Teileidentifizierungsabschnitt 141 identifiziert den
Typ des Teils mit den Daten, die von dem Umwandlungsbefehlsabschnitt 26 empfangen
werden. In diesem Beispiel extrahiert der Teileidentifizierungsabschnitt 141 die
folgenden zwei GUI-Teile und identifiziert die Typen davon.
-
Kennung ["Alter":"]()
-
Combo[]("Alter unter 20", "Alter 20 bis
Alter 30", "Alter 30 bis
Alter 40", "Alter 40 bis
Alter 50", "Alter 50 bis
Alter 60", "Alter über 60")
-
In diesem Fall wird jeder Teil wie
folgt bezeichnet.
-
Teiletyp[Name](strukturelles Element,...),
...
-
Der Teiletyp stellt den Typ des gegenwärtigen Teils
(Teilename) dar. Beispiele des Teiletyps sind eine Kennung, eine
Taste, eine Option, eine Combo, ein Rahmen, ein Menü usw. Mit
anderen Worten, Kennung["Alter":"]() stellt eine Kennung dar, die eine
Zeichenkette "Alter:" aufweist. Da eine
Kennung ein strukturelles Element nicht aufweist, wird sie durch
leere Klammern dargestellt. Wenn ein Teil eine Vielzahl von Zeichenketten
aufweist, werden sie mit Kommas abgegrenzt.
-
Für
den Fall eines GUI-Teils mit einem hierarchischen Aufbau, beispielsweise
einem Menü, weist
der Teil den Teiletyp und den Teilenamen anstelle einer Zeichenkette
auf. Wenn z. B. ein Menü hierarchisch
dargestellt wird, wie in 17 gezeigt, ist
das Format davon wie folgt.
-
Menü["Datei"]("Öffnen", "Schließen", [Menü]("Neu Lesen", "Neu Schreiben")
-
Wenn, wie voranstehend beschrieben,
der Teileidentifizierungsabschnitt 141 Information eines GUI-Teils
erhalten hat, sendet der Teileidentifizierungsabschnitt 141 die
Information des GUI-Teils an den Umwandlungsabschnitt 5.
Der Umwandlungsabschnitt 5 wandelt den gegenwärtigen GUI-Teil
in einen anderen GUI-Teil entsprechend zu der Regel, die in dem
Regelspeicherabschnitt 6 gespeichert ist, um.
-
Ein Beispiel der Notation einer Regel
ist wie folgt.
-
Teiletyp (Zeichenkette), Teiletyp
(Zeichenkette, ...), ... → Teilename
(Zeichenkette), Teilename (Zeichenkette, ...)
-
Mit anderen Worten, die linke Seite
(die linke Seite des Pfeils) stellt eine Erfüllungsbedingung dar. Wenn die
linke Seite erfüllt
ist, dann wird der Teil in einen Satz von Teilen umgewandelt.
-
Die folgende Regel (die folgende
Notation kann anstelle der obigen Wenn-Dann-(If-Then)-Regel verwendet
werden.):
-
Kennung[""]() → Taste["Löschen"]()
stellt dar, dass eine Kennung "Löschen" in eine Taste "Löschen" umgewandelt wird.
Anstelle einer Zeichenkette kann ein Variablen-Name verwendet werden.
-
Kennung[$a + "Taste"](), Kennung[$b]() → Taste[$a]().Taste[$b]()
-
Wenn eine Kennung "OK-Taste" und eine Kennung "Löschen" umgewandelt werden, wird "OK" und "Löschen" $a und $b zugewiesen und in zwei Tasten "OK" bzw. "Löschen" umgewandelt. Es sei nun angenommen,
dass der Regelspeicherabschnitt 6 die folgende Regel speichert.
Regel
1[30]:Kennung[$a](), Combo[$b*] → Rahmen[$a](Option[$b*]())
Regel
2[10]:Kennung[$a]() → Taste[$a*]()
Regel
3[20]:Combo[]($a*) → Kusto[]($a*)
Regel
4[15]:Kennung[$a](), Combo[$b*] → Menü[$a]($b*)
-
Der Wert in Klammern [] stellt die
Intensität (Gewichtung)
jeder Regel dar. Eine Variable mit einem Sternchen "*" stellt eine Vielzahl von Einzelheiten
dar.
-
Unter der Annahme, dass der Teileidentifizierungsabschnitt 141 eine
Information eines GUI-Teils ermittelt, ist die Übereinstimmung jeder Regel
wie folgt gegeben. Die Übereinstimmung
jeder Regel stellt die Anzahl von Bedingungen dar, die erfüllt sind.
Regel
1 = 2
Regel 2 = 1
Regel 3 = 1
Regel 4 = 2
-
Wenn die Intensität jeder Regel mit der Übereinstimmung
multipliziert wird, wird die Priorität von jeder Regel wie folgt
gegeben.
Regel 1 = 60
Regel 2 = 10
Regel 3 = 20
Regel
4 = 30
-
Somit ist die Priorität von Umwandlungsalternativen
in der Ordnung der Regel 1, Regel 4, Regel 3 und Regel 2.
-
Als nächstes wird eine dritte Ausführungsform
der vorliegenden Erfindung beschrieben werden.
-
In der dritten Ausführungsform
wird ein geeigneter GUI-Teil effektiver als eine Wählalternative entsprechend
zu dem Schirm, auf dem der GUI-Teil angeordnet ist, oder zu der
Position in dem Fenster, bestimmt.
-
18 ist
ein Blockdiagramm, das den Aufbau einer GUI-Editierungsunterstützungsvorrichtung gemäß der dritten
Ausführungsform
der vorliegenden Endung zeigt.
-
In 18 berechnet
ein Positionsberechnungsabschnitt 181 die Position eines
gegenwärtigen
GUI-Teils auf dem
Bildschirm. Die Position jedes GUI-Teils auf dem Bildschirm wird
sowohl mit dem Verhältnis
zwischen der Mittenposition jedes GUI-Teils und der oberen Kante
des Schirms als auch dem Verhältnis
zwischen der Mittenposition jedes GUI-Teils und der linken Kante
des Schirms dargestellt.
-
19 ist
ein Flussdiagramm, das den Betrieb der GUI-Editierungsunterstützungsvorrichtung gemäß der dritten
Ausführungsform
der vorlegenden Endung zeigt.
-
Wenn der Benutzer einen GUI-Teil
mit der Maus wählt
und dann die Umwandlungstaste für
die Umwandlungsoperation (im Schritt 1901) drückt, dann sendet der Umwandlungsbefehlsabschnitt 26 einen
Umwandlungsbefehl an einen Umwandlungsabschnitt 5 (im Schritt
1902) und informiert einen Positionserfassungsabschnitt 181 über einen
GUI-Teil, der umgewandelt werden soll (im Schritt 1903). Der Positionserfassungsabschnitt 181 berechnet
die Position des GUI-Teils (im Schritt 1904). Für den Fall eines Fensters,
das in 20 gezeigt ist,
werden die Werte einer Taste 1 (12,5%, 12,5%), einer Taste 2 (37,5%,
87,5%) und einer Taste (65,5%, 87,5%) an den Umwandlungsabschnitt 5 ausgegeben
(im Schritt 1905). Absolute Koordinaten auf einem Anzeigeschirm
können
anstelle von relativen Koordinaten darauf verwendet werden. Der
Umwandlungsabschnitt 5 wandelt den GUI-Teil in einen relevanten GUI-Teil
entsprechend zu den Ausgangsdaten des Umwandlungsabschnitts 5 um
(im Schritt 1906). Für den
Fall der Taste 1 wird er, da die Taste 1 an einer oberen
Position des Schirms angeordnet ist, in ein oberes Menü umgewandelt.
Da die Taste 2 an einem unteren Abschnitt des Bildschirms
angeordnet ist, wird für
den Fall der Taste 2 die Taste 2 in ein unteres Menü umgewandelt.
-
Die folgende Regel ist ein Beispiel
einer Regel, die in dem Regelspeicherabschnitt 6 gespeichert ist.
-
Regel 5[20]:Kennung[$a](>50%, <50%)() → Taste[$a]()
-
Die Werte in Prozent, die als Argumente
der Kennung gegeben sind, sind Bedingungen im Vergleich mit der
gegenwärtigen
Position eines GUI-Teils. Mit anderen Worten, wenn die obere/untere
Position der Umwandlungs-Alternative-Kennung größer als 50% (angeordnet in
der unteren Hälfte
des Fensters) ist und die links/rechts-Position kleiner als 50%
(angeordnet an der linken Hälfte
des Fensters) ist, dann sind die Bedingungen der Regel erfüllt.
-
Wenn eine optimale Alternative eines GUI-Teils
dem Benutzer in einer derartigen Weise angeboten wird, dass ein
GUI-Teil, der an einer oberen Position des Fensters angeordnet werden
soll, in ein Menü umgewandelt
wird, kann gemäß der vorliegenden
Erfindung eine benutzerfreundlichere GUI strukturiert werden.
-
In 18 ist
der Teileidentifizierungsabschnitt 141 zusätzlich zu
dem Positionserfassungsabschnitt 181 angeordnet. Jedoch
kann nur der Positionserfassungsabschnitt 181 angeordnet
sein. In diesem Fall werden die Regeln 1 bis 4 nicht
benötigt.
-
Als nächstes wird eine vierte Ausführungsform
der vorliegenden Erfindung beschrieben werden.
-
Wenn in einem in 21A gezeigten Fenster viele "Tasten" vorhanden sind,
ist es für
den Benutzer mühsam
diese mit welchem GUI-Teil als ein Titel davon anzuordnen. In Übereinstimmung
mit der vierten Ausführungsform
wird somit die Ordnung von GUI-Teilen entsprechend zu den Positionen
davon auf dem Fenster bestimmt.
-
Es sein angenommen, dass sieben GUI-Teile
(Tasten) "Alter:", "Alter unter 20", "Alter 20 bis
Alter 30", "Alter 30 bis
Alter 40", "Alter 40 bis
Alter 50", "Alter 50 bis
Alter 60",
und "Alter über 60" in einem Fenster
verteilt sind, welches in 21A gezeigt
ist.
-
22 ist
ein Blockdiagramm, das den Aufbau der GUI-Editierungsunterstützungsvorrichtung gemäß der vierten
Ausführungsform
der vorliegenden Endung zeigt.
-
Wenn die in 21A gezeigten sieben GUI-Teile gewählt worden
sind und die Umwandlungsoperation ausgeführt worden ist, ermittelt ein Ordnungs-Berechnungsabschnitt 221,
der in 22 gezeigt ist,
die Ordnung von umzuwandelnden GUI-Teilen. Wenn z. B., wie in 21B gezeigt, ein Rechteck 211,
welches sämtliche
gewählten
GUI-Teile umschreibt, ein Porträt-Rechteck
ist, bestimmt der Ordnungs-Berechnungsabschnitt 221 die
Ordnung der GUI-Teile nach unten. Wenn die Differenz zwischen der
Höhe eines
bestimmten GUI-Teils und die Höhe
eines anderen GUI-Teils N oder weniger ist (wobei N eine Konstante
ist), bestimmt der Ordnungs-Berechnungsabschnitt 221 die
Ordnung der GUI-Teile so, dass GUI-Teile auf der linken Seite Vorrang
gegenüber
GUI-Teilen auf der rechten Seite haben.
-
Wenn das Rechteck 211, welches
die gewählten
GUI-Teile umschreibt, ein Landschafts-Rechteck ist, bestimmt der
Ordnungs-Berechnungsabschnitt 221 die Ordnung der GUI-Teile nach
rechts. Wenn in diesem Fall die Differenz zwischen der Breite eines
bestimmten GUI-Teils und die Breite eines anderen GUI-Teils M oder
weniger ist, bestimmt der Ordnungs-Berechnungsabschnitt 221 die
Ordnung der GUI-Teile
so, dass obere GUI-Teile Vorrang gegenüber unteren GUI-Teilen haben.
Eine inverse Anzahl der Teile-Größe, die
gerade angeordnet ist, kann für
M und N verwendet werden.
-
Da in dem in 21B gezeigten Beispiel das umschriebene
Rechteck 211 ein Porträt-Rechteck
als das bestimmte Ergebnis ist, bestimmt der Ordnungs-Berechnungsabschnitt 221 die
Ordnung der GUI-Teile so, dass die oberen GUI-Teile Vorrang gegenüber den
unteren GUI-Teilen aufweisen.
-
23 ist
ein Flussdiagramm zum Erläutern des
Betriebs des Ordnungs-Bestimmungsabschnitts 221.
-
In 23 bestimmt
der Ordnungs-Bestimmungsabschnitt 221, ob die rechteckige
Fläche,
die sämtliche
GUI-Teile umschreibt, ein Porträt-Rechteck oder
ein Landschafts-Rechteck ist (im Schritt 2301).
-
Wenn die rechteckförmige Fläche ein
Porträt-Rechteck
als das bestimmte Ergebnis im Schritt 2301 ist, setzt der Ordnungs-Bestimmungsabschnitt 221 eine
Vertikalvorrangs-Marke (im Schritt 2302), da der Ordnungs-Berechnungsabschnitt 221 die
Ordnung der GUI-Teile so bestimmt, dass die oberen GUI-Teile Vorrang
gegenüber
den unteren GUI-Teilen haben. Wenn andererseits die rechteckförmige Fläche ein
Landschaftsrechteck ist, setzt der Ordnungs-Bestimmungsabschnitt 221 eine
Horizontalvorrang-Marke (im Schritt 2303). In diesem Fall werden
die GUI-Teile aus der Richtung gewählt, die von den Marken dargestellt
wird. Als nächstes
führt der Ordnungs-Bestimmungsabschnitt 221 einen
Initialisierungsprozess für
einen Schleifenprozess aus (im Schritt 2304). Der Ordnungs-Bestimmungsabschnitt 221 wiederholt
den folgenden Prozess, bis der Wert einer Variable j größer als
die Anzahl von GUI-Teilen ist (im Schritt 2305).
-
Der Ordnungs-Bestimmungsabschnitt 221 wählt i-te
und j-te GUI-Teile entsprechend zu den Richtüngsvonangs-Marken (im Schritt
2306). Als nächstes
bestimmt der Ordnungs-Bestimmungsabschnitt 221, ob die
Differenz zwischen den Positionen der zwei GUI-Teile innerhalb der
Konstanten N ist oder nicht (im Schritt 2307). Für den Fall des vertikalen Vorrangs
ist die Differenz zwischen den Positionen von zwei GUI-Teilen die
Differenz zwischen den horizontalen Mittenachsen von zwei GUI-Teilen.
Somit ist die Differenz die Höhe.
Für den
Fall des horizontalen Vorrangs ist die Diffferenz zwischen den Positionen
von zwei GUI-Teilen die Differenz zwischen den vertikalen Mittenachsen
von zwei GUI-Teilen. Wenn die Differenz innerhalb der Konstanten
N als das bestimmte Ergebnis im Schritt 2307 ist, dann bestimmt
der Ordnungs-Bestimmungsabschnitt 221, ob der i-te GUI-Teil
auf der linken Seite des j-ten GUI-Teils angeordnet ist oder nicht
(oder ob der i-te GUI-Teil über
dem j-ten GUI-Teil für
den Fall des horizontalen Vorrangs angeordnet ist oder nicht) (im Schritt
2308). Wenn der i-te GUI-Teil links von dem (oder über dem)
j-ten GUI-Teil angeordnet ist, wird die Ordnung des j-ten GUI-Teils
als (p – 1)
bestimmt, unter der Annahme, dass die Ordnung des i-ten GUI-Teils
mit p bestimmt wird (im Schritt 2309). Wenn die Differenz größer als
die Konstante N als das bestimmte Ergebnis im Schritt 2307 ist,
dann rückt
der Fluss vor zum Schritt 2309.
-
Wenn der i-te GUI-Teil nicht auf
der linken Seite von dem (oder über
dem) j-ten GUI-Teil als das bestimmte Ergebnis im Schritt 2308 angeordnet
ist, ersetzt der Ordnungs-Bestimmungsabschnitt 221 die Priorität des i-ten
GUI-Teils mit der Priorität
des j-ten GUI-Teils. Danach verschiebt der Ordnungs-Bestimmungsabschnitt 221 einen
relevanten GUI-Teil um eins und inkrementiert dadurch die Variable
um 1 (im Schritt 2311). Der Ordnungs-Bestimmungsabschnitt 221 wiederholt
den voranstehend beschriebenen Prozess, bis die voranstehend beschriebenen
Bedingungen erfüllt
sind.
-
Mit dem voranstehend beschriebenen
Prozess ist die Reihenfolge der GUI-Teile wie folgt bestimmt.
- 1. "Alter:"
- 2. "Alter unter 20"
- 3. "Alter 20 bis
Alter 30"
- 4. "Alter 30 bis
Alter 40"
- 5. "Alter 40 bis
Alter 50"
- 6. "Alter 50 bis
Alter 60"
- 7. "Alter über 60"
-
Für
den Fall, dass die folgende Regel in dem Regelspeicherabschnitt 6 gespeichert
worden ist:
-
Taste[$a](), Taste[$b*]() → Kennung[$a](), Combo[$b*]()
wird
ein umgewandelter Schirm, wie in 16 gezeigt,
erhalten, wenn die Regel erfüllt
ist.
-
Das Ordnungs-Bestimmungsverfahren
von GUI-Teilen ist nicht auf das voranstehend beschriebene Verfahren
beschränkt,
solange wie die Ordnung davon in einzigartiger Weise bestimmt wird.
Beispiele der Ordnungs-Bestimmungsverfahren sind eine Auswählordnung
von Teilen, ein linker Vorrang, ein oberer Vorrang, ein unterer
Vorrang und ein linker Vorrang der ersten L GUI-Teile.
-
Als nächstes wird eine fünfte Ausführungsform
der vorliegenden Endung beschrieben werden.
-
In der fünften Ausführungsform werden eine Vielzahl
von GUI-Teilen gruppiert und umgewandelt, um so die GUI-Teile optimal
anzuordnen.
-
Für
den Fall, dass GUI-Teile in einem Fenster, wie in 24A gezeigt, angeordnet sind, werden sie,
wie in 24B gezeigt,
angezeigt, wenn sie normal umgewandelt werden. Andererseits werden
gemäß der fünften Ausführungsform
die GUI-Teile wie in 24C gezeigt,
umgewandelt.
-
25 ist
ein Blockdiagramm, das den Aufbau einer GUI-Editierungsunterstützungsvorrichtung gemäß der fünften Ausführungsform
der vorliegenden Endung zeigt.
-
Wenn in 25 ein Teilegruppierungsabschnitt 251 einen
Gruppierungsbefehl von dem Eingabeabschnitt 1 empfängt, dann
gruppiert der Teilegruppierungsabschnitt 251 einen bestimmten
Satz von GUI-Teilen entsprechend zu einer vorgegebenen Regel. Entsprechend
eines Gruppierungs-Aufhebungsbefehls,
der von dem Eingabeabschnitt 1 empfangen wird, hebt ein
Teilegruppierungs-Aufhebungsabschnitt 252 die
Gruppierung des Satzes von GUI-Teilen, die durch den Teilegruppierungsabschnitt 251 gruppiert
worden sind (in eine Gruppe zusammengefasst worden sind) auf.
-
26 ist
ein Flussdiagramm, das einen Gruppierungsprozess des Teilegruppierungsabschnitts 251 zeigt.
-
Der Teilegruppierungsabschnitt 251 korreliert
jeweils zwei von sämtlichen
GUI-Teilen, die angeordnet sind (im Schritt 2601). Als nächstes ermittelt der
Teilegruppierungsabschnitt 251 den geraden Abstand zwischen
diesen zwei GUI-Teilen (im Schritt 2602). Dieser Abstand ist der
gerade Abstand zwischen den Mittelpunkten von diesen GUI-Teilen.
-
27A ist
ein schematisches Diagramm zum Berechnen des geraden Abstands zwischen
jeweils zwei GUI-Teilen. Mit anderen Worten, 27A zeigt den Zustand, bei dem die Mittelpunkte
von jeweils zwei GUI-Teilen in dem in 24A gezeigten Fenster
mit einer geraden Linie verbunden sind.
-
Der Teilegruppierungsabschnitt 251 wählt die
längste
Linie von den korrelierten Linien (im Schritt 2603). Der Teilegruppierungsabschnitt 251 dekorreliert
die GUI-Teile entsprechend zu der gewählten Linie (im Schritt 2604).
Danach führt
der Teilegruppierungsabschnitt 251 sukzessive eine Nachverfolgung
der Linien für
die individuellen GUI-Teile in einer vorgegebenen Ordnung aus (im
Schritt 2605). Der Teilegruppierungsabschnitt 251 bestimmt,
ob sämtliche
GUI-Teile mit den Linien verbunden worden sind oder nicht (die GUI-Teile
nämlich
getrennt worden sind) (im Schritt 2606). In der Realität führt der Teilegruppierungsabschnitt 251 eine
Nachverfolgung von GUI-Teilen " 2" von einem GUI-Teil "1" aus (unter der Annahme, dass der GUI-Teil "Nationalität" "1" ist.
Wenn der Teilegruppierungsabschnitt 251 einen GUI-Teil " 2" von dem GUI-Teil "1" verfolgen kann, markiert der Teilegruppierungsabschnitt 251 eine "1" in einer internen Tabelle (z. B. einer
Feldvariablen). Somit kann der Teilegruppierungsabschnitt 251 bestimmen,
ob jeder GUI-Teil getrennt worden ist oder nicht (siehe 27B).
-
Wenn der bestimmte GUI-Teil als das
bestimmte Ergebnis im Schritt 2606 nicht getrennt worden ist, kehrt
der Fluss zum Schritt 2603 zurück,
um den voranstehend beschriebenen Prozess zu wiederholen.
-
Nachdem jeder GUI-Teil dekorreliert
worden ist und der Zustand, der in 27C gezeigt
ist, stattgefunden hat, beendet der Teilegruppierungsabschnitt 251 den
Prozess, da eine Gruppe von "Nationalität", "Japan", und "Außer Japan" und eine Gruppe von "Geschlecht", "Männlich", und "Weiblich" getrennt worden sind.
-
Das Verfahren zum Berechnen des Abstands
zwischen jedem GUI-Teil ist nicht auf das voranstehend beschriebene
Verfahren beschränkt.
Mit anderen Worten, der Abstand zwischen Kantenpositionen von GUI-Teilen
können
verwendet werden. Zusätzlich
ist das Gruppierungsverfahren nicht auf das voranstehend beschriebene
Verfahren beschränkt.
Mit anderen Worten, nachdem GUI-Teile, die gruppiert werden sollen,
mit der Maus gewählt sind,
kann ein Gruppierungsbefehl eingegeben werden.
-
Als nächstes wird eine sechste Ausführungsform
der vorliegenden Erfindung beschrieben werden.
-
Wenn in der fünften Ausführungsform zwei oder mehrere
Gruppen mit dem gleichen Abstand vorhanden sind, kann die Anzahl
von Gruppen, die getrennt werden sollen, unter Umständen nicht
bestimmt werden. Um dieses Problem zu lösen, erfasst in der sechsten
Ausführungsform
ein Gruppenanzahl-Berechnungsabschnitt
die Anzahl von Gruppen.
-
28 ist
ein Blockdiagramm, das den Aufbau einer GUI-Editierungsunterstützungsvorrichtung gemäß der sechsten
Ausführungsform
der vorliegenden Endung zeigt.
-
Wenn der Benutzer einen Gruppentrennbefehl
von einem Eingabeabschnitt eingibt, identifiziert ein Teileidentifizierungsabschnitt 141 den
Typ eines gewählten
GUI-Teils und sendet die sich ergebenden Daten an einen Gruppenanzahl-Zählabschnitt 281. Der
Gruppenanzahl-Zählabschnitt 281 zählt die
Anzahl von GUI-Teilen jeder Gruppe und behandelt eine Gruppe mit
der kleinsten Anzahl von GUI-Teilen als eine Alternative der Anzahl
von Gruppen und sendet die sich ergebenden Daten an eine Gruppierungsabschnitt 251.
Der Gruppierungsabschnitt 251 trennt die GUI-Teile, bis
die befohlene Anzahl von Gruppen erhalten wird. Wenn der Benutzer
den Gruppierungsbefehl erneut eingibt, trennt der Gruppierungsabschnitt 251 die
GUI-Teile, bis die befohlene Anzahl von Gruppen ermittelt wird.
-
Wie voranstehend beschrieben, können gemäß der GUI-Editierungsunterstützungsvorrichtung der
vorliegenden Erfindung GUI-Teile leicht durch andere GUI-Teile ersetzt
werden, wenn sie eine ähnliche
Bedeutung haben. Somit kann eine benutzerfreundlichere GUI leicht
geschaffen werden.
-
Da der Typ jedes GUI-Teils, die Position
auf dem Bildschirm davon und die Ordnung davon berücksichtigt
werden, kann zusätzlich,
gemäß der vorliegenden
Erfindung, eine GUI-Editierungsunterstützungsvorrichtung
bereitgestellt werden, die im Betrieb und hinsichtlich des Umwandlungswirkungsgrads überlegen
ist.