AES
Klemmbrett-Funktionen
MagiC Funktionen
Die folgenden Routinen wurden mit MagiC 4 eingeführt, und
erlauben die Erstellung und Handhabung von Listboxen:
Hinweis: Die Existenz dieser Funktionen kann per appl_getinfo
(Opcode 7) festgestellt werden.
Querverweis: Listboxen im Dialog Style-Guidelines WDIALOG
Name: |
»List Box Scroll To, Slider A« - Slider der Listbox setzen.
|
AES-Nummer: |
175 (Unterfunktion 4)
|
Deklaration: |
void lbox_ascroll_to ( LIST_BOX *box, int16_t first, GRECT
*box_rect, GRECT *slider_rect );
oder
void lbox_scroll_to ( ... );
|
Beschreibung: |
Die Funktion positioniert den Slider-A in einer Listbox. Es
gilt:
Parameter |
Bedeutung |
box |
Zeiger auf Listbox-Struktur |
first |
Index des ersten sichbaren Eintrags |
box_rect |
Redraw-Rechteck der Listbox (oder NULL) |
slider_rect |
Redraw-Rechteck des Sliders (oder NULL) |
Hinweis: Die Funktion arbeitet im Prinzip wie ein Aufruf
von lbox_set_slider mit anschließendem lbox_update. Der Unterschied
liegt darin, daß (falls möglich) gescrollt wird, um möglichst wenig
neu zeichnen zu müssen. Sollte sich die Elemenliste der Listbox
geändert haben, darf diese Funktion daher nicht benutzt
werden.
|
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_do lbox_set_slider
|
C: |
void lbox_ascroll_to ( LIST_BOX *box, int16_t first, GRECT
*box_rect, GRECT *slider_rect );
oder
void lbox_scroll_to ( ... );
|
Umsetzung: |
void lbox_ascroll_to ( LIST_BOX *box, int16_t first,
GRECT *box_rect,
GRECT *slider_rect )
oder
void lbox_scroll_to ( ... )
{
addr_in[0] = box;
addr_in[1] = box_rect;
addr_in[2] = slider_rect;
int_in[0] = 4;
int_in[1] = first;
crys_if (175);
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
175 # Opcode der Funktion |
control+2 |
control[1] |
2 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
3 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
addr_in+4 |
addr_in[1] |
box_rect |
addr_in+8 |
addr_in[2] |
slider_rect |
int_in |
int_in[0] |
4 # Unterfunktion |
int_in+2 |
int_in[1] |
first |
|
Name: |
»List Box Scroll To, Slider B« - Slider einer Listbox
positionieren.
|
AES-Nummer: |
175 (Unterfunktion 7)
|
Deklaration: |
void lbox_bscroll_to ( LIST_BOX *box, int16_t first, GRECT
*box_rect, GRECT *slider_rect );
|
Beschreibung: |
Die Funktion positioniert den Slider-B einer Listbox. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf Listbox-Struktur |
first |
Index des ersten sichtb. Eintrags |
box_rect |
Redraw-Rechteck (oder NULL) |
slider_rect |
Redraw-Rechteck (oder NULL) |
Hinweis: Der Parameter box_rect ist das
Redraw-Rechteck für die Listbox und slider_rect ist das
Redraw-Rechteck für den Slider.
Die Funktion arbeitet prinzipiell wie ein Aufruf von
lbox_set_bsldr mit anschließendem lbox_update; wenn möglich wird
aber gescrollt, um nur wenig neu zeichnen zu müssen. Sollte sich die
Elementliste der Listbox geändert haben, darf lbox_bscroll_to daher
nicht benutzt werden.
|
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_free_items lbox_get_slct_item
|
C: |
void lbox_bscroll_to ( LIST_BOX *box, int16_t first, GRECT
*box_rect, GRECT *slider_rect );
|
Umsetzung: |
void lbox_bscroll_to ( LIST_BOX *box, int16_t first,
GRECT *box_rect,
GRECT *slider_rect )
{
addr_in[0] = box;
addr_in[1] = box_rect;
addr_in[2] = slider_rect;
int_in[0] = 7;
int_in[0] = first;
crys_if (175);
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
175 # Opcode der Funktion |
control+2 |
control[1] |
2 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
3 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
addr_in+4 |
addr_in[1] |
box_rect |
addr_in+8 |
addr_in[2] |
slider_rect |
int_in |
int_in[0] |
7 # Unterfunktion |
int_in+2 |
int_in[1] |
first |
|
Name: |
»List Box Count Items« - Anzahl der Listenelemente ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 0)
|
Deklaration: |
int16_t lbox_cnt_items ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion ermittelt die Anzahl der Elemente einer Listbox.
Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf Listbox-Struktur |
|
Ergebnis: |
Die Funktion gibt die Anzahl der Elemente der Listbox zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_free_items lbox_get_slct_item
|
C: |
int16_t lbox_cnt_items ( LIST_BOX *box );
|
Umsetzung: |
int16_t lbox_cnt_items ( LIST_BOX *box )
{
addr_in[0] = box;
int_in[0] = 0;
crys_if (174);
return ( int_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
1 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
0 # Unterfunktion |
int_out |
int_out[0] |
Return-Wert |
|
Name: |
»List Box Create« - Initialisieren einer Listbox.
|
AES-Nummer: |
170
|
Deklaration: |
LIST_BOX *lbox_create ( OBJECT *tree, SLCT_ITEM slct, SET_ITEM
set, LBOX_ITEM *items, int16_t visible_a, int16_t first_a, int16_t
*ctrl_objs, int16_t *objs, int16_t flags, int16_t pause_a, void
*user_data, DIALOG *dialog, int16_t visible_b, int16_t first_b,
int16_t entries_b, int16_t pause_b );
|
Beschreibung: |
Die Funktion legt Speicherplatz für eine Listbox an, und
initialisiert deren Objekte. Es gilt:
Parameter |
Bedeutung
|
|
|
tree |
Zeiger auf den Objektbaum des Dialogs
|
slct |
Zeiger auf die Auswahlroutine
|
set |
Zeiger auf die Set-Routine
|
items |
Zeiger auf eine verkette Liste der Listbox-Elemente (oder NULL)
|
visible_a |
Anzahl sichtbarer Einträge (Slider A)
|
first_a |
erstes sichtbares Element (Slider A)
|
ctrl_objs |
Zeiger auf ein Feld mit den Objektnummern der Buttons und der
Slider. Es gilt:
ctrl_objs[0] = |
Box der Scroll-Objekte
|
ctrl_objs[1] = |
Scrolling nach oben/links
|
ctrl_objs[2] = |
dto. nach unten/rechts
|
ctrl_objs[3] = |
Slider-Hintergrund
|
ctrl_objs[4] = |
Slider-Box
|
Falls die Listbox 2 Slider besitzt, enthalten
ctrl_objs[5-8] die Nummern der Objekte von Slider B:
ctrl_objs[5] = |
Scrolling nach oben/links
|
ctrl_objs[6] = |
dto. nach unten/rechts
|
ctrl_objs[7] = |
Slider-Hintergrund
|
ctrl_objs[8] = |
Slider-Box
|
|
objs |
Zeiger auf ein Feld mit den Objektnummern der Listbox-Einträge
(insgesamt entries Einträge). Es gilt:
objs[0] |
= erstes Objekt
|
objs[entries-1] |
= letztes Objekt
|
Die Objekte sollten normalerweise den Status TOUCHEXIT besitzen.
|
flags |
verschiedene Flags
|
pause_a |
Verzögerung beim Scrolling in ms (Slider A)
|
user_data |
Zeiger für die Applikation
|
dialog |
Zeiger auf die Fensterdialog-Struktur, oder NULL
|
visible_b |
Anzahl sichtbarer Elemente (Slider B)
|
first_b |
erstes sichtbares Element (Slider B)
|
entries_b |
Anzahl der Elemente (Slider B)
|
pause_b |
Verzögerung beim Scrolling in ms (Slider B)
|
Hinweis: Das Initialisieren erfolgt dadurch, daß für
jedes der in objs angegebenen Objekte die Routine set
aufgerufen wird. Durch den Aufruf dieser Funktion wird die Listbox
nicht gezeichnet. Die Buttons, der Slider und dessen
Hintergrund sollten den Status TOUCHEXIT besitzen. Falls die Listbox
nur Buttons und keinen Slider besitzt müssen ctrl_objs[3] und
ctrl_objs[4] (bzw. [7/8]) den Wert -1 enthalten.
Unabhängig von der Hauptscrollrichtung kann die Listbox noch
einen zweiten Slider haben, wenn die Elemente selber noch gescrollt
werden sollen; dies kann z.B. bei einer vertikalen Listbox mit
Textelementen, die breiter als die Box selbst sind, sinnvoll sein.
Achtung: Sowohl slct als auch set sind
Funktionen, deren Parameter auf dem Stack übergeben werden. Die
Funktionen dürfen die Register d0-d2 und a0-a2 verändern.
slct wird immer dann aufgerufen, wenn ein Eintrag ausgewählt
oder aufgehoben wird. Die Variable selected aus der LBOX_ITEM
Struktur enthält beim Aufruf von slct bereits den neuen
Status des Objekts.
|
Ergebnis: |
Die Funktion liefert einen Zeiger auf die Struktur der Listbox
(oder im Fehlerfall den Wert NULL) zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_delete lbox_do
|
C: |
LIST_BOX *lbox_create ( OBJECT *tree, SLCT_ITEM slct, SET_ITEM
set, LBOX_ITEM *items, int16_t visible_a, int16_t first_a, int16_t
*ctrl_objs, int16_t *objs, int16_t flags, int16_t pause_a, void
*user_data, DIALOG *dialog, int16_t visible_b, int16_t first_b,
int16_t entries_b, int16_t pause_b );
|
Umsetzung: |
LIST_BOX *lbox_create ( OBJECT *tree, SLCT_ITEM slct,
SET_ITEM set,
LBOX_ITEM *items, int16_t visible_a,
int16_t first_a, int16_t *ctrl_objs,
int16_t *objs, int16_t flags,
int16_t pause_a, void *user_data,
DIALOG *dialog, int16_t visible_b,
int16_t first_b, int16_t entries_b,
int16_t pause_b )
{
addr_in[0] = tree;
addr_in[1] = slct;
addr_in[2] = set;
addr_in[3] = items;
addr_in[4] = ctrl_objs;
addr_in[5] = objs;
addr_in[6] = user_data;
addr_in[7] = dialog;
int_in[0] = visible_a;
int_in[1] = first_a;
int_in[2] = flags;
int_in[3] = pause_a;
int_in[4] = visible_b;
int_in[5] = first_b;
int_in[6] = entries_b;
int_in[7] = pause_b;
crys_if (170);
return ( addr_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
170 # Opcode der Funktion |
control+2 |
control[1] |
4/8 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
8 # Einträge in addr_in |
control+8 |
control[4] |
1 # Einträge in addr_out |
addr_in |
addr_in[0] |
tree |
addr_in+4 |
addr_in[1] |
slct |
addr_in+8 |
addr_in[2] |
set |
addr_in+12 |
addr_in[3] |
items |
addr_in+16 |
addr_in[4] |
ctrl_objs |
addr_in+20 |
addr_in[5] |
objs |
addr_in+24 |
addr_in[6] |
user_data |
addr_in+28 |
addr_in[7] |
dialog |
int_in |
int_in[0] |
visible_a |
int_in+2 |
int_in[1] |
first_a |
int_in+4 |
int_in[2] |
flags |
int_in+6 |
int_in[3] |
pause_a |
int_in+8 |
int_in[4] |
visible_b |
int_in+10 |
int_in[5] |
first_b |
int_in+12 |
int_in[6] |
entries_b |
int_in+14 |
int_in[7] |
pause_b |
addr_out |
addr_out[0] |
Return-Wert |
|
Name: |
»List Box Delete« - Speicher für Listbox freigeben.
|
AES-Nummer: |
173
|
Deklaration: |
int16_t lbox_delete ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion gibt den Speicherplatz für eine Listbox wieder
frei. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
|
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: |
Listboxen
|
Querverweis: |
Binding lbox_create lbox_do
|
C: |
int16_t lbox_delete ( LIST_BOX *box );
|
Umsetzung: |
int16_t lbox_delete ( LIST_BOX *box )
{
addr_in[0] = box;
crys_if (173);
return ( int_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
173 # Opcode der Funktion |
control+2 |
control[1] |
0 # Einträge in int_in |
control+4 |
control[2] |
1 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_out |
int_out[0] |
Return-Wert |
|
Name: |
»List Box Do« - Button einer Listbox abarbeiten.
|
AES-Nummer: |
172
|
Binding: |
Bindings für lbox_do
|
Beschreibung: |
Die Funktion reagiert auf die Betätigung eines Buttons einer
Listbox. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
obj |
Nummer des ausgewählten Objekts |
Hinweis: Die Funktion sollte nach form_do (oder von der
Servicefunktion des Fensterdialogs) aufgerufen werden. Doppelklicks
(s.u.) werden von der Funktion am gesetzten obersten Bit (obj |
0x8000) der Objektnummer erkannt. Bei der zurückgelieferten
Objektnummer ist das oberste Bit in jedem Fall gelöscht.
|
Ergebnis: |
Die Funktion liefert die Nummer des ausgewählten Objekts (oder
den Wert -1, falls ein Doppelklick auf einen Eintrag erfolgte) zurück. Im
letzteren Fall sollte der Dialog geschlossen werden, und die Aktion
als Klick auf den Ok-Button angesehen werden.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_delete lbox_create
|
C: |
WORD lbox_do ( LIST_BOX *box, WORD obj );
|
Implementierung: |
WORD lbox_do ( LIST_BOX *box, WORD obj )
{
addr_in[0] = box;
int_in[0] = obj;
crys_if (172);
return ( int_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
172 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
1 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
obj |
int_out |
int_out[0] |
Return-Wert |
|
Name: |
»List Box Free Items« - Elementliste freigeben.
|
AES-Nummer: |
175 (Unterfunktion 2)
|
Deklaration: |
void lbox_free_items ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion gibt den Speicherplatz für die Elemente der
Listbox zurück. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
Hinweis: Voraussetzung für die vollständige Freigabe
des Speicherplatzes ist, daß für jedes Listenelement der Speicher
mit Malloc angefordert wurde.
Wurde hingegen eine eigene Speicherverwaltung benutzt (z.B. die
der C-Standard-Library), so muß auch eine eigene Funktion zum
Freigeben des Speichers aufgerufen werden.
|
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_free_list lbox_delete
|
C: |
void lbox_free_items ( LIST_BOX *box );
|
Umsetzung: |
void lbox_free_items ( LIST_BOX *box )
{
addr_in[0] = box;
int_in[0] = 2;
crys_if (175);
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
175 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
2 # Unterfunktion |
|
Name: |
»List Box Free Itemlist« - Elementliste freigeben.
|
AES-Nummer: |
175 (Unterfunktion 3)
|
Deklaration: |
void lbox_free_list ( LBOX_ITEM *items );
|
Beschreibung: |
Die Funktion gibt den Speicherplatz für die Elemente der
Listbox zurück. Es gilt:
Parameter |
Bedeutung |
items |
Zeiger auf eine verkettete Liste der Einträge |
Hinweis: Die Funktion arbeitet wie lbox_free_items. Im
Gegensatz dazu wird diese Funktion aber mit einem Zeiger auf das erste
Listenelement aufgerufen.
|
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_free_items lbox_delete
|
C: |
void lbox_free_list ( LBOX_ITEM *items );
|
Umsetzung: |
void lbox_free_list ( LBOX_ITEM *items )
{
addr_in[0] = items;
int_in[0] = 3;
crys_if (175);
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
175 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
items |
int_in |
int_in[0] |
3 # Unterfunktion |
|
Name: |
»List Box Get First Visible Item, Slider A« - Index des
ersten sichtbaren Elementes ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 4)
|
Deklaration: |
int16_t lbox_get_afirst ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion ermittelt den Index des ersten sichtbaren
Elementes der Listbox für Slider-A. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
|
Ergebnis: |
Die Funktion liefert den Index des ersten sichtbaren Elementes
der Listbox zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_get_idx lbox_get_item
|
C: |
int16_t lbox_get_afirst ( LIST_BOX *box );
oder
int16_t lbox_get_first ( ... );
|
Umsetzung: |
int16_t lbox_get_afirst ( LIST_BOX *box )
oder
int16_t lbox_get_first ( ... )
{
addr_in[0] = box;
int_in[0] = 4;
crys_if (174);
return ( int_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
1 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
4 # Unterfunktion |
int_out |
int_out[0] |
Return-Wert |
|
Name: |
»List Box Get Number Of Visible Items, Slider A« - Anzahl der
sichtbaren Elemente ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 2)
|
Deklaration: |
int16_t lbox_get_avis ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion ermittelt die Anzahl der sichtbaren Einträge
einer Listbox für Slider-A. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
|
Ergebnis: |
Die Funktion liefert die Anzahl der sichtbaren Einträge der
Listbox zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_get_tree lbox_get_first
|
C: |
int16_t lbox_get_avis ( LIST_BOX *box );
oder
int16_t lbox_get_visible ( ... );
|
Umsetzung: |
int16_t lbox_get_avis ( LIST_BOX *box )
oder
int16_t lbox_get_visible ( ... )
{
addr_in[0] = box;
int_in[0] = 2;
crys_if (174);
return ( int_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
1 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
2 # Unterfunktion |
int_out |
int_out[0] |
Return-Wert |
|
Name: |
»List Box Get Number Of Items, Slider B« - Anzahl der
Elemente ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 11)
|
Deklaration: |
int16_t lbox_get_bentries ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion ermittelt die Anzahl der Einträge einer Listbox
für Slider B. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
|
Ergebnis: |
Die Funktion liefert die Anzahl der Einträge für den Slider-B
zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_free_items lbox_delete
|
C: |
int16_t lbox_get_bentries ( LIST_BOX *box );
|
Umsetzung: |
int16_t lbox_get_bentries ( LIST_BOX *box )
{
addr_in[0] = box;
int_in[0] = 11;
crys_if (174);
return ( int_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
1 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
11 # Unterfunktion |
int_out |
int_out[0] |
Return-Wert |
|
Name: |
»List Box Get First Visible Item, Slider B« - Index des
ersten sichtbaren Elements ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 12)
|
Deklaration: |
int16_t lbox_get_bfirst ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion ermittelt den Index des ersten sichtbaren
Elementes einer Listbox für Slider B. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
|
Ergebnis: |
Die Funktion liefert den Index des ersten sichtbaren Elements
der Listbox für Slider-B zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_free_items lbox_delete
|
C: |
int16_t lbox_get_bfirst ( LIST_BOX *box );
|
Umsetzung: |
int16_t lbox_get_bfirst ( LIST_BOX *box )
{
addr_in[0] = box;
int_in[0] = 12;
crys_if (174);
return ( int_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
1 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
12 # Unterfunktion |
int_out |
int_out[0] |
Return-Wert |
|
Name: |
»List Box Get Number Of Visible Items, Slider B« - Anzahl
sichtbarer Einträge ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 10)
|
Deklaration: |
int16_t lbox_get_bvis ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion ermittelt die Anzahl der sichtbaren Einträge
einer Listbox für Slider B. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
|
Ergebnis: |
Die Funktion liefert die Anzahl der sichtbaren Einträge
zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_free_items lbox_delete
|
C: |
int16_t lbox_get_bvis ( LIST_BOX *box );
|
Umsetzung: |
int16_t lbox_get_bvis ( LIST_BOX *box )
{
addr_in[0] = box;
int_in[0] = 10;
crys_if (174);
return ( int_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
1 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
10 # Unterfunktion |
int_out |
int_out[0] |
Return-Wert |
|
Name: |
»List Box Get Item Index« - Index eines Elementes ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 9)
|
Deklaration: |
int16_t lbox_get_idx ( LBOX_ITEM *items, LBOX_ITEM *search );
|
Beschreibung: |
Die Funktion liefert den Index eines bestimmten Elements der
Listbox zurück. Es gilt:
Parameter |
Bedeutung |
items |
Zeiger auf erstes Listenelement |
search |
Zeiger auf zu suchendes Element |
|
Ergebnis: |
Die Funktion liefert den Index des Elementes zurück, bzw. den
Wert -1, falls das angegebene Element nicht in der Liste ist.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_get_item lbox_get_first
|
C: |
int16_t lbox_get_idx ( LBOX_ITEM *items, LBOX_ITEM *search );
|
Umsetzung: |
int16_t lbox_get_idx ( LBOX_ITEM *items, LBOX_ITEM *search )
{
addr_in[0] = items;
addr_in[1] = search;
int_in[0] = 9;
crys_if (174);
return ( int_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
1 # Einträge in int_out |
control+6 |
control[3] |
2 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
items |
addr_in+4 |
addr_in[1] |
search |
int_in |
int_in[0] |
9 # Unterfunktion |
int_out |
int_out[0] |
Return-Wert |
|
Name: |
»List Box Get Item« - Zeiger auf n-tes Element der Listbox
ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 7)
|
Deklaration: |
LBOX_ITEM *lbox_get_item ( LIST_BOX *box, int16_t n );
|
Beschreibung: |
Die Funktion liefert einen Zeiger auf das n-te Element
der Listbox zurück. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf Listbox-Struktur |
n |
Index des gewünschten Elements |
|
Ergebnis: |
Die Funktion liefert einen Zeiger auf das n-te Element
der Liste (oder im Fehlerfall den Wert NULL) zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_get_first lbox_get_idx
|
C: |
LBOX_ITEM *lbox_get_item ( LIST_BOX *box, int16_t n );
|
Umsetzung: |
LBOX_ITEM *lbox_get_item ( LIST_BOX *box, int16_t n )
{
addr_in[0] = box;
int_in[0] = 7;
int_in[1] = n;
crys_if (174);
return ( addr_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
2 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
1 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
7 # Unterfunktion |
int_in+2 |
int_in[1] |
n |
addr_out |
addr_out[0] |
Return-Wert |
|
Name: |
»List Box Get Items« - Zeiger auf erstes Listenelement
ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 6)
|
Deklaration: |
LBOX_ITEM *lbox_get_items ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion liefert einen Zeiger auf das erste Element der
Listbox zurück. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
|
Ergebnis: |
Die Funktion liefert einen Zeiger auf das erste Listenelement
der Listbox zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_get_first lbox_get_idx
|
C: |
LBOX_ITEM *lbox_get_items ( LIST_BOX *box );
|
Umsetzung: |
LBOX_ITEM *lbox_get_items ( LIST_BOX *box )
{
addr_in[0] = box;
int_in[0] = 6;
crys_if (174);
return ( addr_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
1 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
6 # Unterfunktion |
addr_out |
addr_out[0] |
Return-Wert |
|
Name: |
»List Box Get Index Of Selected Item« - Index des ersten
selektierten Eintrags ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 5)
|
Deklaration: |
int16_t lbox_get_slct_idx ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion liefert den Index des ersten selektierten Eintrags
der Listbox zurück. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
|
Ergebnis: |
Die Funktion liefert den Index des ersten, selektierten
Eintrags der Listbox zurück. Falls kein Eintrag selektiert ist, wird
der Wert -1 zurückgegeben.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_get_slct_item
|
C: |
int16_t lbox_get_slct_idx ( LIST_BOX *box );
|
Umsetzung: |
int16_t lbox_get_slct_idx ( LIST_BOX *box )
{
addr_in[0] = box;
int_in[0] = 5;
crys_if (174);
return ( int_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
1 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
5 # Unterfunktion |
int_out |
int_out[0] |
Return-Wert |
|
Name: |
»List Box Get Selected Item« - Zeiger auf erstes selektiertes
Element ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 8)
|
Deklaration: |
LBOX_ITEM *lbox_get_slct_item ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion ermittelt das erste selektierte Element einer
Listbox. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
|
Ergebnis: |
Die Funktion liefert einen Zeiger auf das erste selektierte
Element der Listbox (oder den Wert NULL) zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_get_slct_idx
|
C: |
LBOX_ITEM *lbox_get_slct_item ( LIST_BOX *box );
|
Umsetzung: |
LBOX_ITEM *lbox_get_slct_item ( LIST_BOX *box )
{
addr_in[0] = box;
int_in[0] = 8;
crys_if (174);
return ( addr_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
1 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
8 # Unterfunktion |
addr_out |
addr_out[0] |
Return-Wert |
|
Name: |
»List Box Get Tree« - Objektbaum des Dialogs ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 1)
|
Deklaration: |
OBJECT *lbox_get_tree ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion ermittelt den Zeiger auf den Objektbaum der
Dialogbox. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
|
Ergebnis: |
Die Funktion liefert einen Zeiger auf den Objektbaum des
Dialogs zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_get_udata lbox_get_first
|
C: |
OBJECT *lbox_get_tree ( LIST_BOX *box );
|
Umsetzung: |
OBJECT *lbox_get_tree ( LIST_BOX *box )
{
addr_in[0] = box;
int_in[0] = 1;
crys_if (174);
return ( addr_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
1 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
1 # Unterfunktion |
addr_out |
addr_out[0] |
Return-Wert |
|
Name: |
»List Box Get User Data« - Zeiger auf programmeigene Daten
ermitteln.
|
AES-Nummer: |
174 (Unterfunktion 3)
|
Deklaration: |
void *lbox_get_udata ( LIST_BOX *box );
|
Beschreibung: |
Die Funktion ermittelt den Zeiger auf die programmeigenen
Daten. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
|
Ergebnis: |
Die Funktion liefert einen Zeiger auf die programmspezifischen
Daten zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_get_tree lbox_get_first
|
C: |
void *lbox_get_udata ( LIST_BOX *box );
|
Umsetzung: |
void *lbox_get_udata ( LIST_BOX *box )
{
addr_in[0] = box;
int_in[0] = 3;
crys_if (174);
return ( addr_out[0] );
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
174 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
1 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
3 # Unterfunktion |
addr_out |
addr_out[0] |
Return-Wert |
|
Name: |
»List Box Set Slider A« - Slider einer Listbox setzen.
|
AES-Nummer: |
175 (Unterfunktion 0)
|
Deklaration: |
void lbox_set_asldr ( LIST_BOX *box, int16_t first, GRECT *rect
);
|
Beschreibung: |
Die Funktion positioniert den Slider-A einer Listbox. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
first |
Index des ersten sichtbaren Eintrags |
rect |
Zeiger auf Redraw-Rechteck, oder NULL |
Hinweis: Der Inhalt der Listbox wird durch diesen Aufruf
nicht aktualisiert, ggfs. muß also lbox_update aufgerufen
werden. Besitzt rect den Wert NULL, so wird nur die Position
der Sliderobjekte geändert, aber die Objekte selbst werden
nicht gezeichnet.
|
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_scroll_to
|
C: |
void lbox_set_asldr ( LIST_BOX *box, int16_t first, GRECT *rect
);
oder
void lbox_set_slider ( ... );
|
Umsetzung: |
void lbox_set_asldr ( LIST_BOX *box, int16_t first,
GRECT *rect )
oder
void lbox_set_slider ( ... )
{
addr_in[0] = box;
addr_in[1] = rect;
int_in[0] = 0;
int_in[1] = first;
crys_if (175);
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
175 # Opcode der Funktion |
control+2 |
control[1] |
2 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
2 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
addr_in+4 |
addr_in[1] |
rect |
int_in |
int_in[0] |
0 # Unterfunktion |
int_in+2 |
int_in[1] |
first |
|
Name: |
»List Box Set Number Of Entries, Slider B« - Anzahl der
Elemente für Slider-B setzen.
|
AES-Nummer: |
175 (Unterfunktion 6)
|
Deklaration: |
void lbox_set_bentries ( LIST_BOX *box, int16_t entries );
|
Beschreibung: |
Die Funktion setzt die Anzahl der Elemente (bzw.
Unterteilungen) für Slider-B einer Listbox. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
entries |
Anzahl der Elemente |
|
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_free_items lbox_cnt_items
|
C: |
void lbox_set_bentries ( LIST_BOX *box, int16_t entries );
|
Umsetzung: |
void lbox_set_bentries ( LIST_BOX *box, int16_t entries )
{
addr_in[0] = box;
int_in[0] = 6;
int_in[1] = entries;
crys_if (175);
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
175 # Opcode der Funktion |
control+2 |
control[1] |
2 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
1 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
int_in |
int_in[0] |
6 # Unterfunktion |
int_in+2 |
int_in[1] |
entries |
|
Name: |
»List Box Set Slider B« - Positioniert den Slider B einer
Listbox.
|
AES-Nummer: |
175 (Unterfunktion 5)
|
Deklaration: |
void lbox_set_bsldr ( LIST_BOX *box, int16_t first, GRECT *rect
);
|
Beschreibung: |
Die Funktion positioniert den Slider-B einer Listbox. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
first |
Index des ersten sichtbaren Eintrags |
rect |
Redraw-Rechteck (oder NULL) |
Hinweis: Der Slider wird innerhalb des Redraw-Rechtecks
rect neu gezeichnet. Der Inhalt der Listbox wird nicht
aktualisiert, d.h. evtl. muß lbox_update aufgerufen werden. Ist
rect 0L, dann wird nur die Position der Sliderobjekte
geändert, aber die Objekte werden nicht gezeichnet.
|
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_free_items lbox_cnt_items
|
C: |
void lbox_set_bsldr ( LIST_BOX *box, int16_t first, GRECT *rect
);
|
Umsetzung: |
void lbox_set_bsldr ( LIST_BOX *box, int16_t first,
GRECT *rect )
{
addr_in[0] = box;
addr_in[1] = rect;
int_in[0] = 5;
int_in[1] = first;
crys_if (175);
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
175 # Opcode der Funktion |
control+2 |
control[1] |
2 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
2 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
addr_in+4 |
addr_in[1] |
rect |
int_in |
int_in[0] |
5 # Unterfunktion |
int_in+2 |
int_in[1] |
first |
|
Name: |
»List Box Set New Item List« - neue Elementliste setzen.
|
AES-Nummer: |
175 (Unterfunktion 1)
|
Deklaration: |
void lbox_set_items ( LIST_BOX *box, LBOX_ITEM *items );
|
Beschreibung: |
Die Funktion setzt eine neue Liste mit Listbox-Einträgen. Es
gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
items |
Zeiger auf die neue Element-Liste |
Hinweis: Die alte Liste muß vorher per lbox_free_items
freigegeben werden. Der Parameter items kann auch den Wert
NULL besitzen, falls die Listbox leer ist, und keine Einträge
enthält.
|
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_free_items lbox_cnt_items
|
C: |
void lbox_set_items ( LIST_BOX *box, LBOX_ITEM *items );
|
Umsetzung: |
void lbox_set_items ( LIST_BOX *box, LBOX_ITEM *items )
{
addr_in[0] = box;
addr_in[1] = items;
int_in[0] = 1;
crys_if (175);
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
175 # Opcode der Funktion |
control+2 |
control[1] |
1 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
2 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
addr_in+4 |
addr_in[1] |
items |
int_in |
int_in[0] |
1 # Unterfunktion |
|
Name: |
»List Box Update« - Inhalt der Listboxobjekte aktualisieren.
|
AES-Nummer: |
171
|
Deklaration: |
void lbox_update ( LIST_BOX *box, GRECT *rect );
|
Beschreibung: |
Die Funktion bringt den Inhalt der Listbox-Objekte auf den
neuesten Stand. Es gilt:
Parameter |
Bedeutung |
box |
Zeiger auf die Listbox-Struktur |
rect |
Zeiger auf Redraw-Rechteck, oder NULL |
Hinweis: Die Aktualisierung erfolgt, indem die Funktion
set (vgl. lbox_create) für jedes der Objekte aufgerufen wird.
Besitzt rect nicht den Wert NULL, so wird es als Zeiger auf
eine Rechtecks-Beschreibung interpretiert, welche für den Redraw der
Listbox benutzt wird. Anderenfalls werden die Objekte nur aktualisiert
aber nicht gezeichnet.
|
Ergebnis: |
Die Funktion liefert kein Ergebnis zurück.
|
Verfügbar: |
Das Vorhandensein dieser Funktion kann per appl_getinfo (Opcode 7)
festgestellt werden.
|
Gruppe: |
Listboxen
|
Querverweis: |
Binding lbox_do lbox_scroll_to
|
C: |
void lbox_update ( LIST_BOX *box, GRECT *rect );
|
Umsetzung: |
void lbox_update ( LIST_BOX *box, GRECT *rect )
{
addr_in[0] = box;
addr_in[1] = rect;
crys_if (171);
}
|
GEM-Arrays: |
Adresse |
Feldelement |
Belegung |
control |
control[0] |
171 # Opcode der Funktion |
control+2 |
control[1] |
0 # Einträge in int_in |
control+4 |
control[2] |
0 # Einträge in int_out |
control+6 |
control[3] |
2 # Einträge in addr_in |
control+8 |
control[4] |
0 # Einträge in addr_out |
addr_in |
addr_in[0] |
box |
addr_in+4 |
addr_in[1] |
rect |
|
Ende der Schleife, evtl. lbox_get_slct_item()...
Bit |
|
|
|
0 |
0 |
Die Box scrollt horizontal.
|
1 |
Die Box scrollt vertikal.
|
|
1 |
0 |
kein automatisches Scrolling
|
1 |
Es wird autmatisch gescrollt, sobald bei gedrückter Maustaste
der Mauszeiger über das erste oder letzte Element hinausbewegt wird.
|
|
2 |
0 |
Die Auswahl-Routine wird erst aufgerufen, wenn das automatische
Scrolling aufgehört hat, d.h. sie wird für den letzten selektierten
Eintrag aufgerufen.
|
1 |
Beim automatischen Scrolling wird die Auswahl-Routine beim
Scrolling für jeden selektieren Eintrag aufgerufen.
|
|
3 |
0 |
Bei Bewegung des Sliders wird ein Rahmen verschoben
(graf_slidebox), die Listbox wird erst nach Loslassen der Maustaste
aktualisiert.
|
1 |
Der Slider ist ein Real-Time-Slider.
|
|
4 |
0 |
Mehrfachselektion innerhalb der Listbox ist möglich.
|
1 |
Es kann nur ein Element selektiert werden.
|
|
5 |
0 |
Mehrfachselektion ist ohne Shift-Taste möglich.
|
1 |
Mehrfachselektion ist nur mit Shift-Taste möglich.
|
|
6 |
0 |
Bei Selektion ist der Status immer SELECTED.
|
1 |
Bei Selektion wird der Status immer gewechselt.
|
|
7 |
0 |
Die Listbox hat nur einen Slider.
|
1 |
Die Listbox hat zwei Slider.
|
|
Hinweis: Es dürfte nützlich sein, die folgenden
Konstanten in eine Header-Datei zu übernehmen, um so die
Programmierung zu vereinfachen:
#define LBOX_VERT 1 /* Listbox mit vertik. Slider */
#define LBOX_AUTO 2 /* Auto-Scrolling */
#define LBOX_AUTOSLCT 4 /* automatische Darst. beim Auto-Scrolling */
#define LBOX_REAL 8 /* Real-Time-Slider */
#define LBOX_SNGL 16 /* nur ein anwählbarer Eintrag */
#define LBOX_SHFT 32 /* Mehrfachselektionen mit Shift */
#define LBOX_TOGGLE 64 /* Status eines Eintrags bei Selekt. wechseln */
#define LBOX_2SLDRS 128 /* Listbox hat hor. und vertikalen Slider */
Das Flag LBOX_SNGL kann auch mit LBOX_SHFT oder LBOX_TOGGLE
kombiniert werden, um in einer Listbox mit nur einem anwählbaren
Eintrag auch Deselektion zu ermöglichen. LBOX_SNGL + LBOX_SHFT
bedeutet, daß der selektierte Eintrag durch Klick mit gedrückter
Shift-Taste deselektiert werden kann. LBOX_SNGL + LBOX_TOGGLE bewirkt
bei einem Klick auf einen selektierten Eintrag dessen Deselektion.
Querverweis: Listboxen lbox_create
AES
Klemmbrett-Funktionen
MagiC Funktionen