Für allgemeine Informationen über den Procedure Builder, siehe Kapitel Kapitel 18.
Sie können bestimmte Platzhalter in der Definition der Prozeduren und
Packages verwenden. In der folgenden Liste finden Sie deren Beschreibung:
|
|
| Platzhalter |
Beschreibung |
| <COMPID> |
Die ID der Komponente
|
| <COMPNAME> |
Der Name der Komponente
|
| <COMPFEATURE> |
Das Merkmal der Komponente
|
| <COMPCLASS> |
Die Klasse der Komponente
|
| <CURRENTVALUE> |
Der aktuelle Wert der Komponente, z.B. der Text eines Textfeldes
oder der aktuelle Wert einer Combobox etc.
|
| <CURRENTENABLEDSTATE> |
Der aktuelle Status, ob die Komponente enabled ist.
|
| <CURRENTSELECTEDSTATE> |
Der aktuelle Status, ob die Komponente selektiert ist.
|
| <CURRENTEDITABLESTATE> |
Der aktuelle Status, ob die Komponente editierbar ist.
|
| <PCOMPID> |
Die ID der Elternkomponente
|
| <PCOMPNAME> |
Der Name der Elternkomponente
|
| <PCOMPFEATURE> |
Das Merkmal der Elternkomponente
|
| <PCOMPCLASS> |
Die Klasse der Elternkomponente
|
| <GPCOMPID> |
Die ID der Großelternkomponente
|
| <GPCOMPNAME> |
Der Name der Großelternkomponente
|
| <GPCOMPFEATURE> |
Das Merkmal der Großelternkomponente
|
| <GPCOMPCLASS> |
Die Klasse der Großelternkomponente
|
|
|
| | Tabelle 41.1: Platzhalter für Komponentenprozeduren | |
Für Prozeduren einer Container oder Composite Komponente können Sie
zusätzlich noch Platzhalter für deren Kindkomponenten definieren. Diese
sind in der folgenden Liste erklärt:
|
|
| Platzhalter |
Beschreibung |
| <CCOMPID> |
Die ID der Kindkomponente
|
| <CCOMPNAME> |
Der Name der Kindkomponente
|
| <CCOMPFEATURE> |
Das Merkmal der Kindkomponente
|
| <CCOMPCLASS> |
Die Klasse der Kindkomponente
|
| <CCURRENTVALUE> |
Der aktuelle Wert der Kindkomponente, z.B. der Text eines Textfeldes
oder der aktuelle Wert einer Combobox etc.
|
| <CCURRENTENABLEDSTATE> |
Der aktuelle Status, ob die Kindkomponente enabled ist.
|
| <CCURRENTSELECTEDSTATE> |
Der aktuelle Status, ob die Kindkomponente selektiert ist.
|
| <CCURRENTEDITABLESTATE> |
Der aktuelle Status, ob die Kindkomponente editierbar ist.
|
|
|
| | Tabelle 41.2: Zusätzliche Platzhalter für Containerprozeduren | |
Sie können die Erstellungen von Packages und Prozeduren über das Setzen des
'Beschreibung' Attributes des jeweiligen 'Package' bzw. 'Prozedur' Knotens beeinflußen.
|
|
| Beschreibungsattribut |
Beschreibung |
| @NOTINHERIT |
Wenn dieser Wert gestzt ist, dann wird dieses Package bzw. diese Prozedur nur für
Komponenten von exakt dieser Klasse verwendet und nicht für
deren Ableitungen.
|
| @FORCHILDREN |
Wenn dieser Wert für Container/Composite Prozeduren gesetzt ist,
dann wird QF-Test in dieser Prozedur versuchen, die einzelnen
Prozeduren der Kindkomponenten auzurufen.
|
| @EXCEPT |
Hier kann man Klassen angeben, wofür das Package bzw. die Prozedur nicht erstellt
werden soll. Dieser Wert ist dann nützlich, wenn Sie Prozeduren
für eine abstrakte Klasse definiert haben und nicht alle
Ableitungen die entsprechenden Prozeduren benötigen.
|
| @CONDITION |
Hier kann man eine Bedingung für die Erstellung eines Packages,
einer Prozedur oder eines Aufrufs angeben. Bedingungen können
entweder in Jython, Groovy oder als regulärer Ausdruck definiert
werden. Näheres hierzu finden Sie weiter unten.
|
| @SWTSTYLE |
Prüft eine bestimmte Eigentschaft eines SWT-Buttons. Dieses
SWT-spezifische Attribut ist notwendig, weil SWT zwischen
Checkboxen, Comboboxen, Radiobuttons und normale Buttons nur
mittels einer bestimmten Eigenschaft unterscheidet. Für einen
normalen Button können Sie @SWTSTYLE=PUSH, für
einen Radiobutton @SWTSTYLE=RADIO definieren etc..
|
| @SUBITEM |
Funktioniert zur Zeit nur für Menüs. Wenn dieser Wert gesetzt ist
wird das Package bzw. die Prozedur nur für Menüelemente der zweiten Hierarchieebene
erstellt.
|
|
|
| | Tabelle 41.3: Bemerkungsattribute für die Prozedurenerstellung | |
In einigen Fällen kann es nützlich sein die Komponentenhierarchie in
der Packagestruktur abzubilden. Dieser Ansatz erleichtert das Auffinden
der jeweiligen Prozedur. Wenn Sie die Komponentenhierarchie in die
Erstellung miteinbeziehen wollen, können Sie folgende Platzhalter in den
Packgenamen verwenden:
|
|
| Platzhalter |
Beschreibung |
| <HIERARCHY> |
Erstellt Packages für die gesamte Komponentehierarchie.
|
| <IHIERARCHY> |
Erstellt Packages nur für interessante Komponenten in der
Hierarchie. Eine interessante Komponente hat ein gesetztes
'Merkmal' Attribut.
|
|
|
| | Tabelle 41.4: Platzhalter für die Hierarchie | |
@CONDITION erlaubt es Ihnen, eine
Bedingung für die Erstellung eines Knotens zu konfigurieren. Diese wird
zum Erstellzeitpunkt ausgewertet.
Diese Bedingungen können verwendet werden, um auf einen bestimmten
Namen zu prüfen oder auf das Vorhandensein eines bestimmten
Buchstabens zu reagieren. Falls die Bedingung nicht erfüllt wird,
wird der entsprechende Knoten nicht erzeugt. Sie können
selbstverständlich alle bekannten Platzhalter wie <COMPID> oder
<CCOMPNAME> verwenden.
|
|
| Bedingung |
Bedeutung |
| @CONDITION jython "<COMPFEATURE>".startswith("abc") |
Hier wird eine Jythonbedingung definiert, die den Knoten nur
dann erzeugt, wenn das Merkmal des Knotens mit 'abc' beginnt.
Es ist hier möglich sämtliche Vergleichsmethoden von Jython zu verwenden.
|
| @CONDITION groovy "<COMPFEATURE>".startsWith("abc") |
Hier wird eine Groovybedingung definiert, die den Knoten nur
dann erzeugt, wenn das Merkmal des Knotens mit 'abc' beginnt.
Es ist hier möglich sämtliche Vergleichsmethoden von Groovy zu verwenden.
|
| @CONDITION regexp "<COMPFEATURE>" =~ "abc.*" |
Hier wird eine Bedingung mittels regulären Ausdrucks definiert, die den Knoten nur
dann erzeugt, wenn das Merkmal des Knotens den Ausdruck
'abc.*' entspricht.
Es ist hier möglich sämtliche Möglichkeiten von regulären
Ausdrücken von Java zu verwenden.
|
| @CONDITION regexp "<COMPFEATURE>" !~ "abc.*" |
Hier wird eine Bedingung mittels regulären Ausdrucks definiert, die den Knoten nur
dann erzeugt, wenn das Merkmal des Knotens nicht den Ausdruck
'abc.*' entspricht.
Es ist hier möglich sämtliche Möglichkeiten von regulären
Ausdrücken von Java zu verwenden.
|
|
|
| | Tabelle 41.5: Beispiele für @CONDITION | |
Falls Sie mehrzeilige Bedingungen definieren wollen, können Sie dies
mit einem '\' am Ende der ersten Zeile tun.