Non RFG manipulation

Die folgenden Use-Cases beschreiben Operationen, die den RFG nicht manipulieren. Es sind im wesentlichen Use-Cases, die für die graphische Darstellung notwendig sind. (Un)Mark/(Un)Select-Aktionen werden unter Select and Mark (Abschnitt namens Select and Mark) beschrieben.

Abbildung 5-2. Use-Case-Diagramm: non RFG manipulation

Use-Case-Diagramm: non RFG manipulation

Assign Layout to Selection

Richtet alle selektierten Knoten im aktuellen Graph-Window nach einem gewählten Layout aus.

Vorbedingungen

  • Mindestens ein Knoten in einem Graph-Window ist selektiert.

mögliche Einstiegspunkte

  • Menüleiste

  • Masterbar

  • Skript

Ablauf

  1. OpenCAGE öffnet den Layout-Master Layout-Master (Abschnitt namens Layout-Master in Kapitel 4.

  2. Der Benutzer wählt ein Layout aus.

  3. Der Benutzer drückt den To Selection -Button.

  4. OpenCAGE ändert den Mauszeiger in den Layout-Selection-Pointer (Abschnitt namens Pointer in Kapitel 4).

  5. Der Benutzer bewegt den Pointer in eine Graph-Area und klickt die linke Maustaste.

  6. OpenCAGE startet das entsprechende Layoutplugin.

    1. Die Layouts werden später in einem gesonderten Dokument beschrieben. Dieses wird erst in der entsprechenden Iterationsphase erstellt.

    2. Gegebenenfalls erfolgen weitere Interaktionen zwischen OpenCAGE und Benutzer. (Abfrage von einem Knoten, um den gruppiert werden soll)

  7. Das Layoutplugin gruppiert die selektierten Knoten im gewählten Graph-Window neu. Die Kanten werden an die neue Gruppierung angepasst.

Alternative Abläufe

erster alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein Fenster von OpenCAGE, das kein Graph-Window ist.

  1. Der Layout-Selection-Pointer wird durch den No-Pointer ersetzt, um anzuzeigen, dass dieses Fenster kein Layout annehmen kann.

  2. Klickt der Benutzer nun die linke Maustaste, dann wird der No-Pointer wieder durch den Standard-Pointer ersetzt und der Use-Case abgebrochen.

zweiter alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein Fenster, das nicht zu OpenCAGE gehört

  1. OpenCAGE ändert den Mauszeiger in den Standard-Pointer.

dritter alternativer Ablauf

Bedingungen:

  • Der Benutzer klickt mit dem Layout-Selection-Pointer auf ein Graph-Window, in dem kein Knoten selektiert ist.

  1. OpenCAGE ändert den Mauszeiger in den Standard-Pointer. Der Use-Case wird abgebrochen.

Assign Layout to Window

Richtet alle Knoten in einem zu wählenden Graph-Window nach einem gewählten Layout aus.

Vorbedingungen

  • Es existiert ein Graph-Window.

mögliche Einstiegspunkte

  • Menüleiste

  • Masterbar

  • Skript

Ablauf

  1. OpenCAGE öffnet den Layout-Master Layout-Master (Abschnitt namens Layout-Master in Kapitel 4).

  2. Der Benutzer wählt ein Layout aus.

  3. Der Benutzer drückt den To Window Button.

  4. OpenCAGE ändert den Mauszeiger in den Layout-Window-Pointer (Abschnitt namens Pointer in Kapitel 4).

  5. Der Benutzer bewegt den Pointer in eine Graph-Area und klickt die linke Maustaste.

  6. OpenCAGE startet das entsprechende Layoutplugin.

    1. Die Layouts werden später in einem gesonderten Dokument beschrieben. Dieses wird erst in der entsprechenden Iterationsphase erstellt.

    2. Gegebenenfalls erfolgen weitere Interaktionen zwischen OpenCAGE und Benutzer. (Abfrage von einem Knoten, um den gruppiert werden soll)

  7. Das Layoutplugin gruppiert alle Knoten im gewählten Graph-Window neu. Die Kanten werden an die neue Gruppierung angepasst.

Alternative Abläufe

erster alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein Fenster von OpenCAGE, das kein Graph-Window ist.

  1. Der Layout-Window-Pointer wird durch den No-Pointer ersetzt, um anzuzeigen, dass dieses Fenster kein Layout annehmen kann.

  2. Klickt der Benutzer nun die linke Maustaste, dann wird der No-Pointer wieder durch den Standard-Pointer ersetzt und der Use-Case abgebrochen.

zweiter alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein Fenster, das nicht zu OpenCAGE gehört

  1. OpenCAGE ändert den Mauszeiger in den Standard-Pointer.

Filter to Selection

Zeigt nur die RFG-Objekte einer Selektion an, die bestimmten Kriterien entsprechen.

Vorbedingungen

  • Es existiert ein Graph-Window.

mögliche Einstiegspunkte

  • Masterbar

  • Menüleiste

  • Skript

Ablauf

  1. OpenCAGE öffnet den Filter-Master Filter/Select-Master (Abschnitt namens Filter/Select-Master in Kapitel 4.

  2. Der Benutzer wählt ein Filter aus und trifft eventuell noch weitere Einstellungen.

  3. Der Benutzer drückt den To Selection -Button.

  4. OpenCAGE ändert den Mauszeiger in den Filter-Selection-Pointer.

  5. Der Benutzer bewegt den Pointer in eine Graph-Area und klickt die linke Maustaste.

  6. OpenCAGE wendet die Kriterien auf alle selektierten RFG-Objekte des aktuellen Graph-Windows an, indem nur noch solche RFG-Objekte angezeigt werden, die den Kriterien entsprechen. Kanten werden nur dann angezeigt, wenn Quell- und Zielknoten den Kriterien entsprechen. Entspricht nur einer der beiden Knoten den Kriterien, so wird sie als unvollständige Kante angezeigt. Alle anderen Kanten werden nicht angezeigt.

Alternative Abläufe

erster alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein anderes OpenCAGE-Window.

  1. Der Filter-Selection-Pointer wird durch den No-Pointer ersetzt, um anzuzeigen, dass dieses Fenster kein Layout annehmen kann.

  2. Klickt der Benutzer nun die linke Maustaste, dann wird der No-Pointer wieder durch den Standard-Pointer ersetzt und der Use-Case abgebrochen.

zweiter alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein Fenster, das nicht zu OpenCAGE gehört.

  1. OpenCAGE ändert den Mauszeiger in den Standard-Pointer.

Filter to Window

Zeigt nur die RFG-Objekte an, die bestimmten Kriterien entsprechen.

Vorbedingungen

  • Es existiert ein Graph-Window.

mögliche Einstiegspunkte

  • Menüleiste

  • Masterbar

  • Skript

Ablauf

  1. OpenCAGE öffnet den Filter-Master (Abschnitt namens Filter/Select-Master in Kapitel 4.

  2. Der Benutzer wählt einen Filter aus und trifft eventuell noch weitere Einstellungen.

  3. Der Benutzer drückt den Button Filter Window.

  4. OpenCAGE ändert den Mauszeiger in den Filter-Window-Pointer.

  5. Der Benutzer bewegt den Pointer in eine Graph-Area und klickt die linke Maustaste.

  6. OpenCAGE wendet die Kriterien auf das aktuelle Graph-Window und zeigt nur noch die RFG-Objekte an, die den Kriterien entsprechen. Kanten werden nur dann angezeigt, wenn Quell- und Zielknoten den Kriterien entsprechen. Entspricht nur einer der Knoten den Kriterien, so wird die Kante als unvollständige Kante angezeigt. Alle anderen Kanten werden nicht angezeigt.

Alternative Abläufe

erster alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein anderes OpenCAGE- Window.

  1. Der Filter-Window-Pointer wird durch den No-Pointer ersetzt, um anzuzeigen, dass dieses Fenster kein Layout annehmen kann.

  2. Klickt der Benutzer nun die linke Maustaste, dann wird der No-Pointer wieder durch den Standard-Pointer ersetzt und der Use-Case abgebrochen.

zweiter alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein Fenster, das nicht zu OpenCAGE gehört

  1. OpenCAGE ändert den Mauszeiger in den Standard-Pointer.

Unfilter

Hebt die Filterung von RFG-Objekten auf.

Vorbedingungen

  • Es existiert ein Graph-Window.

mögliche Einstiegspunkte

  • Menüleiste

  • Masterbar

  • Skript

Ablauf

  1. OpenCAGE öffnet den Filter-Master (Abschnitt namens Filter/Select-Master in Kapitel 4.

  2. Der Benutzer drückt den Unfilter-Button.

  3. OpenCAGE ändert den Mauszeiger in den Unfilter-Pointer (siehe Abschnitt namens Pointer in Kapitel 4).

  4. Der Benutzer bewegt den Pointer in eine Graph-Area und klickt die linke Maustaste.

  5. OpenCAGE hebt alle Filter für das aktuelle Graph-Window auf und setzt das Filterstatus-Feld zurück.

Alternative Abläufe

erster alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein anderes OpenCAGE-Window.

  1. Es wird der No-Pointer angezeigt, um anzuzeigen, dass in diesem Fenster keine Filterung aufgehoben werden kann.

  2. Klickt der Benutzer nun die linke Maustaste, dann wird der No-Pointer wieder durch den Standard-Pointer ersetzt und der Use-Case abgebrochen.

zweiter alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein Fenster, das nicht zu OpenCAGE gehört.

  1. OpenCAGE ändert den Mauszeiger in den Standard-Pointer.

Show attributes

Zeigt die Attribute an den Knoten im Graph-Window an.

Vorbedingungen

Es existiert ein aktuelles Graph-Window.

mögliche Einstiegspunkte

  • Skript

  • Kontextmenü

Ablauf

  1. OpenCAGE blendet alle Attribute, die in der Konfigurationsdatei ausgewählt sind, zu allen Knoten des aktuellen Graph-Windows ein.

Hide attributes

Versteckt die Attribute an den Knoten im Graph-Window.

Vorbedingungen

  • Es existiert ein aktuelles Graph-Window.

mögliche Einstiegspunkte

  • Skript

  • Kontextmenü

Ablauf

  1. OpenCAGE blendet die Attribute aller Knoten im aktuellen Graph-Window aus.

Show Metric

Ändert die Knotengröße nach einer ausgewählten Metrik.

Vorbedingungen

  • Es existiert ein Graph-Window.

mögliche Einstiegspunkte

  • Menüleiste

  • Masterbar

  • Skript

Ablauf

  1. OpenCAGE öffnet den Metric-Master Metric-Master (Abschnitt namens Metric-Master in Kapitel 4).

  2. Der Benutzer drückt den To Window Button.

  3. OpenCAGE ändert den Mauszeiger in den Metrics-Window-Pointer Pointer (Abschnitt namens Pointer in Kapitel 4).

  4. Der Benutzer bewegt den Pointer in eine Graph-Area und klickt die linke Maustaste.

  5. OpenCAGE ändert die Knotengröße aller Knoten im aktuellen Graph-Window nach der ausgewählten Metrik.

Alternative Abläufe

erster alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein Fenster von OpenCAGE, das kein Graph-Window ist.

  1. Der Metrics-Window-Pointer wird durch den No-Pointer ersetzt, um anzuzeigen, dass in diesem Fenster die Funktion nicht ausgeführt werden kann.

  2. Klickt der Benutzer nun die linke Maustaste, dann wird der No-Pointer wieder durch den Standard-Pointer ersetzt und der Use-Case abgebrochen.

zweiter alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein Fenster, das nicht zu OpenCAGE gehört.

  1. OpenCAGE ändert den Mauszeiger in den Standard-Pointer.

Hide Metric

Ändert die Knotengröße zur Standardgröße.

Vorbedingungen

  • Es existiert ein Graph-Window.

mögliche Einstiegspunkte

  • Menüleiste

  • Masterbar

  • Skript

Ablauf

  1. OpenCAGE öffnet den Metric-Master (Abschnitt namens Metric-Master in Kapitel 4).

  2. Der Benutzer drückt den Hide Button.

  3. OpenCAGE ändert den Mauszeiger in den Metrics-Window-Pointer (Abschnitt namens Pointer in Kapitel 4).

  4. Der Benutzer bewegt den Pointer in eine Graph-Area und klickt die linke Maustaste.

  5. OpenCAGE stellt die Knoten im aktuellen Graph-Window wieder in der Standardgröße dar.

Alternative Abläufe

erster alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein Fenster von OpenCAGE, das kein Graph-Window ist.

  1. Der Metrics-Window-Pointer wird durch den No-Pointer ersetzt, um anzuzeigen, dass in diesem Fenster die Funktion nicht ausgeführt werden kann.

  2. Klickt der Benutzer nun die linke Maustaste, dann wird der No-Pointer wieder durch den Standard-Pointer ersetzt und der Use-Case abgebrochen.

zweiter alternativer Ablauf

Bedingungen:

  • Der Benutzer bewegt den Pointer über ein Fenster, das nicht zu OpenCAGE gehört.

  1. OpenCAGE ändert den Mauszeiger in den Standard-Pointer.

Remove Conflict-Highlighting to Selection

Macht das Conflict-Highlighting selektierter RFG-Objekte rückgängig.

Vorbedingungen

  • Es existiert mindestens ein selektiertes RFG-Objekte mit Conflict-Highlighting.

mögliche Einstiegspunkte

  • Kontextmenü

  • Skript

Ablauf

  1. OpenCAGE macht das Conflict-Highlighting aller selektierter RFG-Objekte rückgängig.

Remove Conflict-Highlighting Everywhere

Macht das Conflict-Highlighting aller RFG-Objekte rückgängig.

Vorbedingungen

  • Es existiert mindestens ein RFG-Objekt mit Conflict-Highlighting.

mögliche Einstiegspunkte

  • Kontextmenü

  • Skript

Ablauf

  1. OpenCAGE macht das Conflict-Highlighting aller RFG-Objekte in allen Graph-Windows rückgängig.

Move Nodes

Verschiebt Knoten innerhalb eines Graph-Windows.

Vorbedingungen

  • Mindestens ein Knoten muss im aktuellen Graph-Window sichtbar sein.

mögliche Einstiegspunkte

  • Direkte Manipulation

  • Skript

Ablauf

  1. Der Benutzer selektiert die zu verschiebende Knotenmenge.

  2. Der Benutzer drückt mit der linken Maustaste auf die zu verschiebende Knotenmenge und hält die Taste gedrückt. Falls kein Knoten selektiert ist und der Benutzer klickt auf einen Knoten wird dieser automatisch selektiert.

  3. Der Benutzer bewegt den Standard-Pointer an die Stelle innerhalb des aktuellen Graph-Windows, an die die Knotenmenge verschoben werden soll.

  4. Beim Verschieben des Standard-Pointers erscheint unter dem Pointer die Kontur der Knotenmenge. Diese wird mit dem Pointer mitbewegt.

  5. Der Benutzer lässt die linke Maustaste los.

  6. Die Knotenmenge wird von ihrer ursprünglichen Position an die Position der Kontur verschoben. Die Kontur der Knotenmenge verschwindet.

Alternative Abläufe

erster alternativer Ablauf

Bedingungen:

  • Der Benutzer verschiebt den Pointer über das Graph-Window hinaus.

  • Der Pointer befindet sich nicht über der Graph-Area eines OpenCAGE-Fensters.

  1. Der Standard-Pointer wird durch den No-Parking-Pointer ersetzt, um anzuzeigen, dass die Knotenmenge nicht an diese Stelle verschoben werden darf.

  2. Lässt der Benutzer die linke Maustaste los, dann bleibt die Knotenmenge an ihrer ursprünglichen Position, die Kontur der Knotenmenge verschwindet und der No-Parking-Pointer wird durch den Standard-Pointer ersetzt.

  3. Verschiebt der Benutzer den Pointer in die Graph-Area des Graph-Windows, in dem sich der Knoten befindet, dann wird der Use-Case ab Schritt 3 regulär abgearbeitet.

  4. Verschiebt der Benutzer den Pointer in die Graph-Area eines Graph- Windows, in der sich die Knotenmenge nicht befindet, dann tritt keine Veränderung ein, d.h. es wird weiterhin der No-Parking-Pointer angezeigt und es ist weiterhin verboten, die Knotenmenge hierher zu verschieben. Allerdings ist in den Anforderungen, die den Rahmen dieses Projektes überschreiten, an dieser Stelle eine Drag&Drop-Funktionalität vorgesehen.

zweiter alternativer Ablauf

Bedingungen:

  • Der Benutzer verschiebt den Pointer an den Rand des aktuellen Graph-Windows.

  1. OpenCAGE scrollt die Graph-Area, sofern dies möglich ist.

Edit Node Annotation

Zeigt im Dialogfenster Edit Node Annotation (Abschnitt namens Edit Node Annotation in Kapitel 4) die Beschreibung des selektierten Knotens an.

Vorbedingungen

  • Genau ein Knoten im aktuellen Graph-Window ist selektiert.

mögliche Einstiegspunkte

  • Kontextmenü

  • Skript

Ablauf

  1. OpenCAGE öffnet den Dialog Edit Node Annotation (Abschnitt namens Edit Node Annotation in Kapitel 4).

  2. Der Benutzer ändert den Beschreibungstest und klickt den OK-Button.

  3. OpenCAGE speichert die neue Beschreibung.

Open Source-Code

Öffnet den Editor, der den Quellcode anzeigt, der dem Knoten zugeordnet ist.

Vorbedingungen

  • Mindenstens ein Entitätsknoten muss im Graph-Window sichtbar sein.

mögliche Einstiegspunkte

  • Direkte Manipulation

  • Skript

Ablauf

  1. Der Benutzer führt einen Doppelklick auf den zu öffnenden Entitätsknoten aus.

  2. OpenCAGE selektiert den Knoten und öffnet den Editor, in dem der Quellcode, den der Knoten referenziert, angezeigt wird.

Alternative Abläufe

erster alternativer Ablauf

Bedingung: Der Editor wird nicht gefunden.

  1. OpenCAGE zeigt den Fehlerdialog Error: Editor not found (Abschnitt namens Error: Editor not found in Kapitel 4) an.

Show Graph-Window

Öffnet ein neues Graph-Window, in dem alle Knoten und ihre induzierten Kanten angezeigt werden, die sich genau eine Hierarchie unter dem AC-Knoten befinden.

Vorbedingungen

  • Mindestens ein AC-Knoten muss im aktuellen Graph-Window sichtbar sein.

mögliche Einstiegspunkte

  • Direkte Manipulation

  • Skript

Ablauf

  1. Der Benutzer führt einen Doppelklick auf den zu öffnenden AC-Knoten aus.

  2. OpenCAGE selektiert den Knoten.

  3. OpenCAGE öffnet ein neues Graph-Window, in dem alle Knoten, die sich genau eine Hierarchie unter dem AC-Knoten befinden, und ihre induzierten Kanten angezeigt werden. Dabei wird der Style des aktuellen Graph-Windows übernommen.

  4. OpenCAGE setzt dieses neue Graph-Window als aktuelles Graph-Window.

Show/Hide edges of other views

Zeigt oder versteckt die Kanten anderer Views im aktuellen Graph-Window.

Vorbedingungen

  • Es existiert ein aktuelles Graph-Window.

mögliche Einstiegspunkte

  • Kontextmenü

  • Skript

Ablauf

  1. OpenCAGE zeigt den Dialog Select Views (Abschnitt namens Select Views in Kapitel 4) an.

  2. Der Benutzer wählt in einer Liste aller Views die Views aus, von denen die Kanten im aktuellen Graph-Window angezeigt werden sollen. Falls schon Kanten aus anderen Views angezeigt werden, sind diese Views in der Liste ausgewählt. Durch Klicken auf Listenelemente werden diese in der Markierung invertiert.

  3. Der Benutzer klickt den OK-Button.

  4. OpenCAGE zeigt bzw. verbirgt alle Kanten aus den ausgewählten Views im aktuellen Graph-Window. Ist nur einer der dieser Kante zugehörigen Knoten sichtbar, wird die Kante als unvollständige Kante angezeigt.

Zoom In

Zoomt in ein Graph-Window hinein

Vorbedingungen

  • Es existiert ein Graph-Window.

  • Der Zoom-Mode ist aktiv, das heisst, dass der Mauszeiger als Zoom-Pointer angezeigt wird.

mögliche Einstiegspunkte

  • Werkzeugleiste

  • Skript

Ablauf

  1. Der Benutzer klickt mit der linken Maustaste in das Graph-Window, in das er hineinzoomen will.

  2. OpenCAGE setzt dieses Fenster als aktuelles Graph-Window und zoomt aus diesem heraus. (Der Vergrösserungsfaktor wird in der Konfigurationsdatei festgelegt.)

Alternative Abläufe

erster alternativer Ablauf

Bedingung: Der Graph ist im Maßstab kleiner als 1:1 (bzgl. der Knoten-Bitmaps) sichtbar.

  1. OpenCAGE behält den aktuellen Zoom bei.

Zoom Out

Zoomt aus einem Graph-Window heraus

Vorbedingungen

  • Es existiert ein Graph-Window.

  • Der Zoom-Mode ist aktiv, dass heisst dass der Mauszeiger als Zoom-Pointer angezeigt wird.

mögliche Einstiegspunkte

  • Werkzeugleiste

  • Skript

Ablauf

  1. Der Benutzer klickt mit der linken Maustaste in das Graph-Window, aus dem er herauszoomen will.

  2. OpenCAGE setzt dieses Fenster als aktuelles Graph-Window und zoomt aus diesem heraus. (Der Verkleinerungsfaktor wird in der Konfigurationsdatei festgelegt.)

Alternative Abläufe

erster alternativer Ablauf

Bedingung: Der komplette Graph ist in dem Graph-Window sichtbar.

  1. OpenCAGE behält den aktuellen Zoom bei.