1 | ; File name : MenuPage.inc |
---|
2 | ; Project name : XTIDE Univeral BIOS Configurator |
---|
3 | ; Created date : 16.4.2010 |
---|
4 | ; Last update : 25.4.2010 |
---|
5 | ; Author : Tomi Tilli |
---|
6 | ; Description : Structs for menu pages and items. |
---|
7 | %ifndef MENUPAGE_INC |
---|
8 | %define MENUPAGE_INC |
---|
9 | |
---|
10 | ; Variables for menu page (main menu and submenus) |
---|
11 | struc MENUPAGE |
---|
12 | .bItemCnt resb 1 ; Number of MENUPAGEITEM structs |
---|
13 | resb 1 |
---|
14 | .prgbItemToVal resb 2 ; Ptr to menuitem index to value lookup table |
---|
15 | .rgMenuPageItem: ; MENUPAGEITEM structs (variable number) |
---|
16 | endstruc |
---|
17 | |
---|
18 | |
---|
19 | ; Variables for single menuitem |
---|
20 | struc MENUPAGEITEM |
---|
21 | .fnActivate resb 2 ; Offset to Menuitem activation function |
---|
22 | .fnNameFormat resb 2 ; Offset to Menuitem name formatting function |
---|
23 | .pValue resb 2 ; Offset to Menuitem value |
---|
24 | |
---|
25 | .pSubMenuPage: ; Ptr to MENUPAGE for new submenu |
---|
26 | .wValueMin resb 2 ; Minimum integer value |
---|
27 | |
---|
28 | .rgszLookup: ; Ptr to lookup table for string values |
---|
29 | .wValueMax: ; Maximum integer value |
---|
30 | .wValueMask resb 2 ; Bitmask for Menuitem value flag |
---|
31 | |
---|
32 | .szName resb 2 ; Offset to Menuitem name string |
---|
33 | .szInfo resb 2 ; Offset to Menuitem information string |
---|
34 | .szHelp resb 2 ; Offset to Menuitem help string |
---|
35 | .szDialog resb 2 ; Offset to new value or other dialog string |
---|
36 | .bFlags resb 1 ; Menuitem flags |
---|
37 | .bType resb 1 ; Menuitem type |
---|
38 | endstruc |
---|
39 | |
---|
40 | ; Bit defines for MENUPAGEITEM.bFlags |
---|
41 | FLG_MENUPAGEITEM_VISIBLE EQU (1<<0) ; Item is visible |
---|
42 | |
---|
43 | ; Values for MENUPAGEITEM.bType |
---|
44 | TYPE_MENUPAGEITEM_BACK EQU (0<<1) ; Back to previous submenu |
---|
45 | TYPE_MENUPAGEITEM_NEXT EQU (1<<1) ; Open next submenu |
---|
46 | TYPE_MENUPAGEITEM_SPECIAL EQU (2<<1) ; Special menuitem without value |
---|
47 | TYPE_MENUPAGEITEM_UNSIGNED_BYTE EQU (3<<1) ; Menuitem with unsigned byte value |
---|
48 | TYPE_MENUPAGEITEM_UNSIGNED_WORD EQU (4<<1) ; Menuitem with unsigned word value |
---|
49 | TYPE_MENUPAGEITEM_HEX_BYTE EQU (5<<1) ; Menuitem with hexadecimal byte value |
---|
50 | TYPE_MENUPAGEITEM_HEX_WORD EQU (6<<1) ; Menuitem with hexadecimal word value |
---|
51 | TYPE_MENUPAGEITEM_FLAG EQU (7<<1) ; Menuitem with boolean flag value |
---|
52 | |
---|
53 | |
---|
54 | %endif ; MENUPAGE_INC |
---|