$Header: /home/radek/cvs/forth-book/db-qf-moduly/ezUI,v 1.5 2003/12/28 18:21:57 radek Exp $
ezUI je modul a nástroje pro tvorbu grafického rozhraní aplikace na PalmOS.
Tabulka 17.6. Seznam souborů modulu ezUI [1:3]
soubor | obsah |
---|---|
ezUIbase | defunuje slova a hodnoty společné pro ostatní soubory modulu |
ezUI | hlavni soubor, jádro modulu ezUI, definuje slova pro pole a ovládací prvky |
ezDate | definuje slova pro výběr datumu |
ezTime | definuje slova pro výběr času |
arraymove | definuje slova pro posouvání bloku buňek ze zásobníku do paměti a zpět |
wrapnum | funkce pro „wrapping“ čísla v specifikovaném páru limit. |
string2anyfield | dovoluje přesouvání řetězců do polí jenž nejsou editovatelná |
pushbuttons | definuje slova pro nastavování a získávání stavu tlačítek v množině tlačítek |
Tabulka 17.7. Slova v modulu ezUI [1:3:6]
slovo | zásobník | popis |
---|---|---|
stringfield | ( GET → str u ) ( str u SET → ) | |
intfield | ( GET → n ) ( n SET → ) | |
dblfield | ( GET → n. ) ( n. SET → ) | |
listfield | ( GET → n ) ( n SET → ) | |
checkbox | ( GET → n ) ( n SET → ) | |
button | ( ) |
Modul definuje nekolik typů prvků rozhraní. Všechny se definují podle voru
číslo
jméno_typu
jméno
tedy například řádek
1001 stringfield ClientName
definuje prvek s identifikačním číslem 1010 jako textové pole pojmenovane ClientName
Definovane prvky jsou objekty kterým je možno zasílat metody. Všem ovládacím prvkm je možno zaslat metody
schová, zneviditelní, ovládací prvek
opět zviditelní, ovládací prvek
vrátí identifikační číslo id ovládacího prveku
Volání metody ovládacího prvku který není na aktuálním formuláři způsobí chybu PalmOS
Metodu getid
můžeme použít v době běhu ... . Například zjištění zda-li číslo v TOS je shodné s id ovládacího prvku „mycontrol“ můžeme udělat takto:
[ getid mycontrol ] = if
slova v hranatých závorkách jsou vykonána v době kompilace a hodnota takto zjištěná je uložena do programu. Tedy je-li id „mycontrol“ 1020, uvedený příklad se zkompiluje stejně jako kód
1020 = if
Pro všechny typy polí mohou být použity metody:
get
vrátí hodnotu v poli
set
nastavi hodnotu v poli
vrátí 1 je-li pole dirty, jinak vrátí 0
nastaví status dirty na danou hodnotu