11.07.2015 Aufrufe

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.2 INTERAKTIVE BENUTZERSCHNITTSTELLE 33• Mengenelemente:der obere Teil des Mengen-Eingabepanels zeigt die bisher eingegebenen Mengenelemente <strong>und</strong>den Button Remove, mit dem Mengenelemente aus der Menge wieder entfernt werden können.Neben der im Dialog auf der Abbildung 4.9 verwendeten Anzeige der Mengenelemente in einerListe kann für die Anzeige der Mengenelemente auch eine Tabelle benutzt werden (Abb.4.10). Letztere ist insbesondere für die Eingabe von Produkttyp-Mengen von Vorteil, da jedesProdukttyp-Element in einer separaten Tabellenspalte angezeigt wird.Die beiden Teile des Mengen-Eingabebereichs werden durch eine Splittinglinie getrennt, mit derenHilfe das Größenverhältnis zwischen den beiden Teilen jederzeit verändert werden kann oder aucheiner der Teile zeitweise versteckt werden kann, um eine bessere Übersicht über den jeweils anderenTeil zu bekommen.4.2.6 Eingabe von eingeführten TypenAls eingeführte Typen bezeichnen wir Ausdrücke, die zwar keinen echten Typ darstellen, wohl aber –wie jeder echte Typ – eine Iteration über ihre Instanzen zulassen <strong>und</strong> in allen <strong>ODL</strong>-<strong>Sprachkonstrukte</strong>naußer dem new-Quantor mit dem vorangestellten Schlüsselwort element wie jeder andere Typ verwendetwerden können. Zurzeit agieren Mengenvariablen <strong>und</strong> Ausdrücke, die mengenwertige Ergebnissezurückliefern, als eingeführte Typen (s. auch S. 23).Das Eingabepanel, welches Eingabedialoge für eingeführte Typen verwenden, ähnelt denen fürMetamodelltypen: es handelt sich um ein Auswahlpanel (als Liste oder Radiobuttons), in dem einElement des eingeführten Typs auszuwählen ist. Betrachten wir folgende Beispiele für die Eingabedes Werts eines eingeführten Typs:• Mengenvariable:In der <strong>ODL</strong>-Abfragecontext intSet:set Int. context i:element intSet. truemuss zunächst eine Menge von ganzen Zahlen eingegeben werden, <strong>und</strong> danach ist eine derZahlen aus der Menge intSet für die Variable i auszuwählen. Die Abbildung 4.11 zeigtden für die Variable i geöffneten Eingabedialog, nachdem für intSet zuvor die Zahlen{1,3,5,8,12,15} eingegeben wurden.• Ausdruck mit mengenwertigem Ergebnis:Als Beispiel für die Auswahl eines Elements aus dem mengenwertigen Ergebnis eines Ausdrucksbetrachtet wir folgende <strong>ODL</strong>-Abfrage:context c:Component. context channel:element(c.Channels).truehier wird zunächst eine Komponente ausgewählt <strong>und</strong> anschließend muss ein Kanal aus der Listealler zur Komponente gehörenden Kanäle ausgewählt werden (Abb. 4.12).Generell ist die Auswahl eines Elements aus einer Menge, falls möglich, immer der Verwendungeines entsprechenden eingeschränkten Typs vorzuziehen, denn eine Abfrage der Formcontext var:element( entity.SomeAssociation ).trueist stets effizienter <strong>und</strong> bequemer als eine Abfrage der Formcontext var:{v:type | is SomeAssociation( entity, v )}.true.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!