Benutzeraktionen

Im folgenden werden die verschiedenen Möglichkeiten aufgelistet, Operationen und dazu erforderliche Daten auszuwählen und durchzuführen. Dabei werden zu den Interaktionsmöglichkeiten Richtlinien für Aufbau und Struktur der involvierten GUI-Komponenten (wie z.B. Menüs) aufgestellt.

Werkzeugleiste / permanente Modi

Die Werkzeugleiste besteht aus einer Reihe von Buttons, die das Verhalten von Schaltern nachbilden. Klickt der Benutzer einen Button an, dann bleibt dieser gedrückt bis der Benutzer einen anderen Button anklickt. Es kann immer nur ein Button gedrückt sein.

Jeder Button repräsentiert einen bestimmten Modus, der für die Graph-Area gilt. Entsprechend dem Modus verwandelt sich der Mauszeiger in ein anderes Symbol. Siehe auch Mauszeiger (Abschnitt namens Mauszeiger)).

Der Standard-Modus ist der Selektionsmodus. Nur in diesem Modus können Objekte selektiert und Operationen auf Objekte ausgeführt werden.

Selektieren und Markieren

Selektieren

Selektieren dient dazu, Objekte auszuwählen, auf denen Operationen ausgeführt werden können. Selektieren funktioniert im Window-Master, im View-Master, in einem Modus-Master, in den Graph-Windows und in einem Select-Dialog. Selektierte Objekte werden grafisch hervorgehoben, siehe Zustände (Abschnitt namens Zustände). Das Selektieren ist nicht zu verwechseln mit dem Markieren (Abschnitt namens Markieren), welches lediglich dazu dient, dem Benutzer visuelles Feedback zu geben und das nur in Graph-Windows zur Verfügung steht.

Window-Master, View-Master und Graph-Windows stellen drei getrennte Einheiten dar, d.h. das Selektieren in einer der drei Einheiten beeinflusst Selektionen in den jeweils anderen Einheiten nicht.

Der Benutzer selektiert ein einzelnes Element, indem er es mit der linken Maustaste anklickt. Damit werden alle bisher selektierten Objekte dieser Einheit automatisch deselektiert.

Ein einzelnes Element kann außerdem selektiert werden, indem es der Benutzer mit der rechten Maustaste anklickt. Damit wird zugleich ein Kontextmenü (siehe Kontextmenüs (Abschnitt namens Kontextmenüs)) aufgerufen, aus dem eine Operation ausgewählt werden kann, die unmittelbar auf das selektierte Element wirkt.

Im View-Master sowie in Graph-Windows ist es möglich, mehrere Objekte zu selektieren. Dies geht zum einen, indem der Benutzer die Shift-Taste drückt, während er mit der linken Maustaste die gewünschten Objekte nacheinander anklickt. Zum anderen ist es möglich, einen Rahmen um Objekte zu ziehen, die selektiert werden sollen, indem der Benutzer mit der linken Maustaste auf den Hintergrund einer Graph-Area klickt, die Maustaste gedrückt hält und damit einen Rahmen zieht, siehe Select and Mark (Abschnitt namens Select and Mark in Kapitel 5). Darüberhinaus ist es möglich, durch Ziehen eines Rahmen bei gedrückter Shift-Taste mehrere Objekte zu einer Selektion hinzuzufügen.

Klickt der Benutzer mit der rechten Maustaste auf eines der selektierten Objekte, so bleibt diese Selektion erhalten und die Operation, die aus dem Kontextmenü ausgewählt wird, wirkt auf alle selektierten Objekte.

Im View-Master und in Graph-Windows können Objekte deselektiert werden, indem auf eine Stelle der Graph-Area geklickt wird, an der sich kein Objekt befindet. Beachte: Der View-Master ist ein besonderes Graph-Window.

In Graph-Windows gibt es bei den Graph-Window-Buttons oberhalb der vertikalen Scroll-Bar einen Select-All-Button. Dieser selektiert alle RFG-Objekte im Graph-Window.

Mit Hilfe des Invert-Selection-Buttons kann die Selektion von RFG-Objekten im Graph-Window umkehrt werden.

Markieren

Das Markieren ist eine Operation auf selektierte RFG-Objekte. Zum Markieren und Demarkieren stehen daher alle Kombinationsmöglichkeiten zur Verfügung, die das Selektieren bietet. Abgesehen davon beeinflussen sich Markieren und Selektieren gegenseitig nicht.

Will der Benutzer RFG-Objekte markieren, dann selektiert er diese und führt die Operation Mark RFG-Object by Selection (Abschnitt namens Mark RFG-Object by Selection in Kapitel 5) aus. Es können auf diese Art auch beliebig viele RFG-Objekte zusätzlich markiert werden, ohne die bestehenden Markierungen zu beeinflussen.

Will der Benutzer RFG-Objekte demarkieren, dann selektiert er diese und führt die Operation Unmark RFG-Object by Selection (Abschnitt namens Unmark RFG-Object by Selection in Kapitel 5) aus.

Will der Benutzer alle RFG-Objekte demarkieren, dann führt er die Operation Unmark All RFG-Objects (Abschnitt namens Unmark All RFG-Objects in Kapitel 5) aus.

Menüs

Menüs haben nicht mehr als drei Ebenen. Sämtliche Menüstrukturen werden in Dateien gespeichert, so dass sie von den Entwicklern ohne größeren Aufwand verändert werden können.

Menü-Einträge sind ausgegraut, wenn die Vorbedingungen der dazugehörigen Operationen nicht erfüllt sind (z.B. Copy, wenn kein Knoten selektiert ist). Ansonsten ändern sich Menü-Einträge während einer OpenCAGE-Sitzung nicht.

Gibt es eine Operation, die auf verschiedenen Objekttypen (z.B. Views und selektierte Knotenmengen) arbeiten kann, dann gelten folgende Regeln:

Tabelle 3-1. Regeln für den Menüaufbau

BedingungVisualisierung
Die Operation ist in Ebene 1 oder 2 der Menühierarchie und es gibt viele verschiedene Objekttypen, auf die die Operation wirken kann. Es gibt einen Menüpunkt Operationsname, der Submenüs Objekttyp1, Objekttyp2, ... enthält.
Die Operation kann auf maximal drei verschiedene Objekttypen wirken und/oder die Operation befindet sich in Ebene drei der Menühierarchie. Es gibt Menüpunkte Operationsname Objekttyp1, Operationsname Objekttyp2, ... in derselben Ebene.
Zusätzlich zu den Objekttypen muss eine Reihe weiterer Informationen bestimmt werden, um die Operation durchzuführen. Diese Informationen werden für andere Operationen ebenfalls benötigt. Es existiert ein Menüpunkt, der einen Dialog öffnet, in dem der Benutzer den Objekttyp auswählt, auf den die Operation ausgeführt wird. Weitere Operationen greifen ebenfalls auf diesen Dialog zu.

Kontextmenüs

Für jede der GUI-Einheiten Window-Master, View-Master und Graph-Window gibt es ein eigenes Kontextmenü. Das Kontextmenü wird angezeigt, wenn der Benutzer mit der rechten Maustaste auf eine der GUI-Einheiten klickt. Es werden nur solche Operationen in einem Kontextmenü angeboten, die für die entsprechende GUI-Einheit verwendet werden können.

Dialoge

Buttons

Folgende Regeln gelten bezüglich Buttons in Dialogen:

  • Viele Dialoge besitzen einen Help-Button. Klickt der Benutzer diesen Button an, dann wird die Hilfeseite zum entsprechenden Dialog im Browser angezeigt. Ist noch kein Browser offen, dann startet OpenCAGE den vom Benutzer angegebenen Browser (siehe Programm-, Projektspezifische Einstellungen und Konfigurationsdateien (Abschnitt namens Programm-, Projektspezifische Einstellungen und Konfigurationsdateien in Kapitel 2)). Dem Browser wird die entsprechende URL übergeben. Das Hilfesystem wird im Rahmen dieses Projekts nur vorgesehen, aber nicht implementiert.

  • Buttons, die sich auf den ganzen Dialog beziehen, sind am unteren Rand angeordnet. Es sind nicht in jedem Dialog alle Buttons vorhanden. Von links nach rechts haben sie folgende Reihenfolge:

    • Operationsname / OK

    • Cancel

    • Close

    • Help

  • Buttons, die sich nur auf einen Teil vom Dialog beziehen, üblicherweise auf die linke oder die rechte Hälfte, werden zu diesem Dialogteil gruppiert.

  • Für die Vorselektion gelten folgende Regeln:

    • Handelt es sich um eine Warnung oder um einen Dialog für eine destruktive Aktion (wie z.B. Löschaktionen), so ist der Cancel-Button selektiert.

    • Handelt es sich um einen Mode-Master, so ist der Button, der sich am weitesten links befindet, selektiert.

    • Bei allen anderen Dialogen ist der OK-Button selektiert.

  • Ausnahmen bilden Dialoge, die nicht in OpenCAGE implementiert sind, sondern nur von OpenCAGE aus aufgerufen werden, wie z.B. der Dialog zum Auswählen von Dateien.

Parameter

Dialoge, die zum Bearbeiten von Parametereinstellung dienen, werden vertikal in zwei Hälften geteilt. In der linken Hälfte wird ein Baum bzw. eine Liste mit Elementen angezeigt. In der rechten Hälfte werden die Parameter zum links ausgewählten Element angezeigt und können bearbeitet werden.

Passen die Parameter nicht auf eine Dialogseite, dann werden sie zu Gruppen zusammengefasst und in einem Notizbuch dargestellt.

Texteingabefelder

Dialoge, die nur ein einzelnes Texteingabefeld enthalten, haben auf der linken Seite ein Fragezeichen-Symbol.

Prinzipiell ist es erlaubt, Zeichen aus dem gesamten Latin1-Zeichensatz einzugeben. Dies wird beschränkt durch die RFG-Bibliothek und GtkAda.

Shortcuts

Shortcuts bieten durch Drücken von Tastenkombinationen einen schnelleren Zugang zu Operationen, die der Benutzer oft ausführt. Auch die Shortcuts können vom Benutzer in einer Datei frei konfiguriert werden, siehe Programm-, Projektspezifische Einstellungen und Konfigurationsdateien (Abschnitt namens Programm-, Projektspezifische Einstellungen und Konfigurationsdateien in Kapitel 2). Dabei sind alle Buchstaben- und Zahlentasten in Kombination mit den Tasten Strg bzw. Ctrl und Alt erlaubt.

Gibt es mehrere Zuordnungen für eine Tastenkombination, dann wird die jeweils letzte verwendet.

Achtung! Der Benutzer hat selber Sorge zu tragen, dass es keine Doppelbelegungen von Tastenkombinationen durch das Betriebssystem und OpenCAGE gibt.