Name: |
»WindowDialog Create« - Fensterdialog erstellen. |
AES-Nummer: |
160 |
Deklaration: |
DIALOG *wdlg_create ( HNDL_OBJ handle_exit, OBJECT *tree, void
*user_data, int16_t code, void *data, int16_t flags ); |
Beschreibung: |
Die Funktion fordert Speicherplatz für eine Dialogstruktur an,
und initialisiert diese. Es gilt:
Parameter |
Bedeutung |
|
|
handle_exit |
Zeiger auf eine Service-Funktion |
tree |
Zeiger auf den Objektbaum |
user_data |
Zeiger auf Benutzerinformationen |
code |
wird in handle_exit über die Komponente clicks übergeben |
data |
wird in handle_exit über die Komponente data übergeben |
flags |
verschiedene Flags
1 = Hintergrundbedienung zulassen
|
|
Ergebnis: |
Die Funktion liefert einen Zeiger auf die erstellte
Dialogstruktur zurück. |
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden. |
Gruppe: |
Fensterdialoge |
Querverweis: |
Binding wdlg_open wdlg_close
|
Name: |
»WindowDialog Event« - Dialogbearbeitung. |
AES-Nummer: |
166 |
Deklaration: |
int16_t wdlg_evnt ( DIALOG *dialog, EVNT *events ); |
Beschreibung: |
Die Funktion dient zur Auswertung bzw. Bearbeitung von
Ereignissen eines Fensterdialogs. Es gilt:
Parameter |
Bedeutung |
dialog |
Zeiger auf den Dialog |
events |
Zeiger auf EVNT-Struktur |
Hinweis: Diese Funktion muß im Event-Loop aufgerufen
werden. Im Bitvektor mwhich der EVNT-Struktur werden die
Ereignis-Bits gelöscht, die sich auf den Fensterdialog beziehen. Nach
dem Aufruf dieser Funktion kann die EVNT-Struktur von der
Applikation zur Auswertung der für sie bestimmten Events benutzt
werden.
Falls die Funktion den Wert 0 zurückliefert, muß der Dialog (per
wdlg_close geschlossen werden.
Achtung: Das Iconifying wird nicht von dieser
Funktion unterstützt. Wird der Iconifier bei wdlg_open als
Fensterelement angemeldet muß daher dieses Ereignis selbst ausgewertet
und behandelt werden. Das gleiche gilt, wenn man den Sizer als Element
anmeldet. |
Ergebnis: |
Die Funktion liefert den Wert 1 zurück, wenn kein Fehler
aufgetreten ist. Bei einem Rückgabewert von 0 muß der Dialog
geschlossen werden. |
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden. |
Gruppe: |
Fensterdialoge |
Querverweis: |
Binding wdlg_open wdlg_close
|
Name: |
»WindowDialog Open« - öffnet einen Fensterdialog. |
AES-Nummer: |
161 |
Deklaration: |
int16_t wdlg_open ( DIALOG *dialog, int8_t *title, int16_t
kind, int16_t x, int16_t y, int16_t code, void *data ); |
Beschreibung: |
Die Funktion öffnet einen Fensterdialog auf dem Bildschirm. Es
gilt:
Parameter |
Bedeutung |
dialog |
Zeiger auf den Dialog |
title |
Fenstername oder NULL |
kind |
Komponenten des Fensters |
x |
x-Koordinate |
y |
y-Koordinate des Dialogs |
code |
wird handle_exit in der Komponente clicks übergeben |
data |
wird handle_exit in der Komponente data übergeben |
Hinweis: Bevor die Funktion zum Aufrufer zurückkehrt, wird
noch die Serviceroutine handle_exit mit der Funktionsnummer
HNDL_OPEN aufgerufen. Bei Koordinaten von (-1,-1) wird der Dialog
zentriert dargestellt. |
Ergebnis: |
Die Funktion liefert die Fensterkennung des Dialogs zurück,
bzw. im Fehlerfall den Wert 0. |
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden. |
Gruppe: |
Fensterdialoge |
Querverweis: |
Binding wdlg_close wdlg_delete
|
Name: |
»WindowDialog Redraw« - Objekt in einem Dialog zeichnen. |
AES-Nummer: |
167 |
Deklaration: |
void wdlg_redraw ( DIALOG *dialog, GRECT *rect, int16_t obj,
int16_t depth ); |
Beschreibung: |
Die Funktion zeichnet ein Objekt in einem Dialog, unter
Beachtung der Rechteckliste des Fensters. Es gilt:
Parameter |
Bedeutung |
dialog |
Zeiger auf den Dialog |
rect |
Zeiger auf das begrenzende Rechteck |
obj |
Nummer des Startobjektes |
depth |
Anzahl der zu zeichnenden Ebenen |
Hinweis: Um ein Objekt innerhalb des Dialogs zu zeichnen,
sollte immer diese Funktion und nicht objc_draw verwendet
werden. Vor Anwendung der Funktion ist wie üblich ein Aufruf von
wind_update nötig. |
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück. |
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden. |
Gruppe: |
Fensterdialoge |
Querverweis: |
Binding objc_draw WM_REDRAW
|
Name: |
»WindowDialog Set Edit Object« - Editfeld im Dialog aktivieren. |
AES-Nummer: |
165 (Unterfunktion 0) |
Deklaration: |
int16_t wdlg_set_edit ( DIALOG *dialog, int16_t obj ); |
Beschreibung: |
Die Funktion aktiviert ein Editfeld eines Fensterdialogs. Es
gilt:
Parameter |
Bedeutung |
dialog |
Zeiger auf den Dialog |
obj |
Nummer des neuen Edit-Objekts bzw. 0, falls keins aktiv sein soll |
Hinweis: Aktivieren bedeutet in diesem Zusammenhang, daß
der Cursor im angegebenen Objekt gezeichnet, und in einem evtl. vorher
aktiven Objekt gelöscht wird. |
Ergebnis: |
Die Funktion liefert die Nummer des aktuellen Editobjekts
zurück. Ein Wert von 0 bedeutet, daß kein solches aktiv ist. |
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden. |
Gruppe: |
Fensterdialoge |
Querverweis: |
Binding wdlg_open wdlg_close
|
Name: |
»WindowDialog Iconify« - Fensterdialog ikonifizieren. |
AES-Nummer: |
165 (Unterfunktion 3) |
Deklaration: |
int16_t wdlg_set_iconify ( DIALOG *dialog, GRECT *g, int8_t
*title, OBJECT *tree, int16_t obj ); |
Beschreibung: |
Die Funktion ermöglicht das Ikonifizieren eines Fensterdialogs.
Es gilt:
Parameter |
Bedeutung |
dialog |
Zeiger auf den Dialog |
g |
neue Position des Fensters |
title |
neuer Fenstertitel, oder NULL |
tree |
neuer Fensterbaum, oder NULL |
obj |
zu zentrierendes Objekt, oder -1 |
Hinweis: Die neue Position des Fensters wird man
normalerweise von der Nachricht WM_ICONIFY übernehmen; es ist aber
auch möglich durch Koordinaten von -1,-1,-1,-1 diese direkt von MagiC
ermitteln zu lassen.
Die Funktion ändert die Position und Größe des Wurzelobjektes. Da
man i.a. für ikonifizierte Fenster einen anderen Objektbaum anzeigen
möchte, kann dieser im Parameter tree angegeben werden. Der
Objektbaum besteht normalerweise nur aus einem Wurzelobjekt (G_BOX)
und einem anzuzeigenden Icon vom Typ G_ICON oder G_CICON. Soll das
Icon im Fenster zentriert dargestellt werden, so übergibt man dessen
Objektnummer im Parameter obj.
Beim Setzen eines neuen Fenstertitels ist zu beachten, dass der
Aufrufer bei einem späteren Unikonify den alten Titel selbst
restaurieren muss. |
Ergebnis: |
Die Funktion liefert stets den Wert 1 zurück. |
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden. Diese Funktion ist erst ab WDIALOG 1.05
vorhanden. Wenn sie nicht vorhanden ist, enthält intout[0] eine 0. |
Gruppe: |
Fensterdialoge |
Querverweis: |
Binding wdlg_set_uniconify
|
Name: |
»WindowDialog Set Size« - Größe eines Dialogs verändern. |
AES-Nummer: |
165 (Unterfunktion 2) |
Deklaration: |
int16_t wdlg_set_size ( DIALOG *dialog, GRECT *new_size ); |
Beschreibung: |
Die Funktion ermöglicht es, die Größe eines Fensterdialogs zu
verändern. Es gilt:
Parameter |
Bedeutung |
|
|
dialog |
Zeiger auf den Dialog |
new_size |
neue Position und Größe der Arbeitsfläche des Fensters
|
Hinweis: Die Funktion ändert weder Position noch Größe des
Wurzelobjektes. Soll dieses verschoben oder vergrößert werden, so
müssen die Objektausmaße vor dem Aufruf der Funktion geändert
werden.
Achtung: Die Buttons müssen sich immer vollständig
innerhalb der Arbeitsfläche des Fensters befinden, da form_button die
Rechteckliste nicht beachtet. Der normale Anwendungsfall für
diese Funktion sind vergrößerbare Dialoge, die ein Sizer-Objekt in der
rechten unteren Ecke enthalten. |
Ergebnis: |
Die Funktion liefert stets den Wert 1 zurück. |
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden. |
Gruppe: |
Fensterdialoge |
Querverweis: |
Binding wdlg_open wdlg_close
|
Name: |
»WindowDialog Uniconify« - Fensterdialog unikonifizieren. |
AES-Nummer: |
165 (Unterfunktion 4) |
Deklaration: |
int16_t wdlg_set_uniconify ( DIALOG *dialog, GRECT *g, int8_t
*title, OBJECT *tree ); |
Beschreibung: |
Die Funktion ermöglicht das Unikonifizieren eines
Fensterdialogs. Es gilt:
Parameter |
Bedeutung |
dialog |
Zeiger auf den Dialog |
g |
neue Position des Fensters |
title |
neuer Fenstertitel, oder NULL |
tree |
neuer Fensterbaum, oder NULL |
Hinweis: Die neue Position des Fensters wird man
normalerweise von der Nachricht WM_UNICONIFY übernehmen.
Die Funktion ändert die Position und Größe des Wurzelobjektes. Da
man i.a. für ikonifizierte Fenster einen anderen Objektbaum angezeigt
hatte, kann der ursprüngliche Baum im Parameter tree angegeben
und damit zurückgesetzt werden. Über den Parameter title kann
der alte Fenstertitel gesetzt werden, der vor dem Ikonify gültig war. |
Ergebnis: |
Die Funktion liefert stets den Wert 1 zurück. |
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden. Diese Funktion ist erst ab WDIALOG 1.05
vorhanden. Wenn sie nicht vorhanden ist, enthält intout[0] eine 0. |
Gruppe: |
Fensterdialoge |
Querverweis: |
Binding wdlg_set_iconify
|