Lade...
 

Widget-Properties

Widget-Properties

Für ein Window-Objekt können einige Eigenschaften gewählt werden. Hierfür stehen zum einen Widget-Flags und zum anderen Widget-Properties zur Verfügung. Während Flags für eine boolsche Eigenschaft stehen, somit entweder gesetzt sind oder aber nicht, haben Properties einen komplexeren Wert.

Deklaration

Sowohl Widget-Flags als auch Widget-Properties können in der Deklaration hinter den Namen bzw. Zugriffsausdruck aufgeführt werden (siehe Syntax von Window-Objekten).

Dynamisches Setzen

Widget-Flags können mithilfe von SetFlags verändert werden. Für Widget-Properties gibt es immer einen Widget-Befehl, der so heißt wie die Property selbst.

Liste

Property Beschreibung Parameter Befehle
BACKGROUND(color)

ändert die Hintergrundfarbe eines Widgets. color ist ein Color-Flag.

Ein Color-Flag ist ein Element aus der Menge:

[BLACK, BLUE, GREEN, RED, MAGENTA, CYAN, BROWN, LIGHTGRAY, DARKGRAY, LIGHTBLUE, LIGHTRED, LIGHTGREEN, LIGHTMAGENTA, YELLOW, WHITE]

Falls keine Schriftfarbe explizit angegeben ist, wird eine kontrastreiche Schriftfarbe passend zur ausgewählten Hintergrundfarbe automatisch berechnet..

Im Moment lediglich für Buttons und Prompts implementiert.

   
CONTEXTMENU(identifikator) Der Identifikator ist ein Bezeichner eines Items innerhalb einer Menu- oder ContextMenuList-Deklaration. Das unter
diesem Item hängende Untermenu wird automatisch beim Betätigen der rechten Maustaste eingeblendet. Wird daraufhin ein Menupunkt ausgewählt, wird wie zu Item beschrieben die jeweilige Aktion gestartet, in gleicher Weise, als wäre der Menueintrag aus dem Hauptmenu heraus aufgerufen worden. Zusätzlich kann man jedoch bei Ausführung von SELECT zu dem entsprechenden Item mittels GetCurrentWidget ermitteln, aus welchem Windowobjekt heraus der Menupunkt via ContextMenu aufgerufen wurde. Bei einem Ausruf aus dem Hauptmenu
liefert GetCurrentWidget NULL zurück. Soll ein ContextMenu nicht automatisch erscheinen, so kann es (nach Gestaltungsrichtlinie sollte dies als Reaktion auf die rechte Maustaste, also innerhalb MOUSE_CLICK_R erfolgen) mittels PopupMenu auch aus InstantView® heraus aufgerufen werden. In diesem Fall sollte auf die Angabe des Flags CONTEXTMENU verzichtet werden, da sonst das Menu zweimal (einmal automatisch, einmal gesteuert) erscheint.
STRING -
FONT(k) k = 0, 1, ..., 9 wählt einen Eintrag in der Font-Tabelle. Der dort eingetragene Font wird benutzt. Fonts werden mit
PMFonts in die Tabelle eingetragen. Für 0, 1 und 2 existieren vordefinierte Fonts. Der Font-Index kann später mit
SetFont verändert werden.
INTEGER SetFont
HELP(anchor) HELP("file#anchor") verbindet das Windowobjekt mit Online-Hilfe im HTML-Format. Wenn kein Filename angegeben wurde, gilt die im Modul festgelegte HTML-Datei. STRING -
HELP(n) Möchte man lieber das Help-System der Plattform (OS/2 PM, MS Windows) benutzten, so ist eine ganze Zahl n anzugeben, die auf das entsprechende Hilfe-Fenster verweist. Dabei muss n < 40000 sein. INTEGER -
ITEM(w, h), ITEM(w), ITEM(, h) Wenn Breite und Höhe eines Listboxeintrags von den durch die Größe der Listbox vorgegebenen Maßen abweichen, werden sie auf diese Weise angegeben. Eine größere Breite ist zusammen mit Flag HZ_SCROLL_BAR sinnvoll. Mehrzeilige Einträge benötigen eine explizite Höhenangabe. INTEGER -
LABEL(mlString)

Hierüber kann für das Widget eine Beschreibung festgelegt werden, welche beispielsweise für Blinde nutzer in MorphIT ausgegeben wird.

Ist LABEL nicht angegeben, so wird das Eingabefeld durch den Prompt beschrieben, der entsteht, wenn man dem Namen des Eingabefeldes "Pmt" hinzufügt und durch Punkte getrennte Teile des Namens in Camel-Case überführt. Bspw:

import.receivers[0] -> ImportReceiversPmt

Ist auch dies nicht der Fall, so wird das Flag TOOLTIP für die Beschreibung herangezogen.

STRING -
MIN_HEIGHT(h)

Widget: Höhe des Widgets fällt in keinem Falle unter den Wert h (Angabe in Minicells). Dies ist vor allem in Kombination mit Attachments von Nutzen.

Widget und Window: Die Höhenangabe wird mit dem ganzzahligen Wert h überschrieben, wenn letzterer größer ist.

INTEGER -
MIN_WIDTH(w)

Widget: Breite des Widgets fällt in keinem Falle unter den Wert w (Angabe in Minicells). Dies ist vor allem in Kombination mit Attachments von Nutzen.

Widget und Window: Die Breitenangabe wird mit dem ganzzahligen Wert w überschrieben, wenn letzterer größer ist.

INTEGER -
TOOLTIP(mlString) Der angegebene String wird als Hinweistext (Tooltip) eingeblendet, oder, falls ein Event TOOLTIP ebenfalls definiert ist, an diesen übergeben. Das Erscheinen des Tooltips wird vom System automatisch nach eine bestimmten Zeit des Verharrens des Maus-Cursors über dem Windowobjekt ausgelöst. Der String kann mehrsprachig sein. An das Event wird der jeweils zur eingestellten Sprache aktuelle übergeben. STRING SetTooltip, ClearTooltip
VOLATILE, VOLATILE(identifikator) Das Eingabefeld soll nur dann sichtbar sein, wenn das darzustellende Datum auch existiert, andernfalls wird es von FillWindow automatisch ausgeblendet. Wann fehlen Daten in einem Objekt? Das ist der Fall
 
  • wenn ein Slot im Objekt nicht existiert
  • wenn im Zugriffspfad ein Pointer den Wert NULL besitzt
  • wenn eine Funktion im Zugriffspfad NULL liefert.
  • beim Zugriff auf das k-te Element einer Collection mit Cardinalität < k

Mit einer Funktion kann man z.B. an beliebiger Stelle im Zugriffsaufdrucks entscheiden, ob dieser weiterverfolgt
werden soll oder nicht. Oft sollen noch andere Windowobjekte - z.B. der zum Eingabefeld gehörende Prompt - ebenfalls mit ein- und ausgeblendet werden. Für diese Objekte gibt man das VOLATILE-Flag mit dem gleichen Identifikator an, der hier eine Gruppe logisch zusammengehöriger Windowobjekte kennzeichnet. Falls sich ein Windowobjekt direkt auf ein 'normales' Datenmember eines Modellobjekts bezieht, ist Flag VOLATILE sinn- und funktionslos.
STRING -