source: xtideuniversalbios/trunk/Assembly_Library/Inc/Dialog.inc@ 612

Last change on this file since 612 was 593, checked in by Tomi Tilli, 6 years ago

Flashing now works again.
Hack to get Windows 95 to work properly (MODULE_WIN95_CMOS_HACK included for 386 builds by default).
Edited makefile to produce large 386 build.
Fixed recovery time for QDI Vision VLB-IDE controllers.
No more warnings with Nasm 2.13.xx and later.
File dialog now properly restores default drive when file selection is cancelled.

File size: 2.6 KB
Line 
1; File name : Dialog.inc
2; Project name : Assembly Library
3; Created date : 15.9.2010
4; Last update : 22.10.2010
5; Author : Tomi Tilli
6; Description : Defines for Menu library dialogs.
7%ifndef DIALOG_INC
8%define DIALOG_INC
9
10; Struct and defines for all dialogs
11struc DIALOG
12 .menu resb MENU_size
13 .fpDialogIO resb 4 ; Ptr to DIALOG_INPUT + dialog specific data
14 .pParentMenu resb 2
15endstruc
16
17DIALOG_DELTA_WIDTH_FROM_PARENT EQU 5
18DIALOG_MAX_WIDTH EQU 60
19DIALOG_MAX_HEIGHT EQU 25
20
21
22; Dialog parameter and return value structs
23struc DIALOG_INPUT
24 .fszTitle resb 4
25 .fszItems resb 4
26 .fszInfo resb 4
27endstruc
28
29struc WORD_DIALOG_IO
30 .dialogInput resb DIALOG_INPUT_size
31 .bUserCancellation resb 1
32 .bNumericBase resb 1
33 .wMin resb 2
34 .wMax resb 2
35 .wReturnWord resb 2
36endstruc
37
38struc STRING_DIALOG_IO
39 .dialogInput resb DIALOG_INPUT_size
40 .bUserCancellation resb 1
41 resb 1
42 .fnCharFilter resb 2 ; Optional, can be NULL to accept all
43 .wBufferSize:
44 .wReturnLength resb 2 ; String length without NULL
45 .fpReturnBuffer resb 4
46endstruc
47
48
49; Progress bar dialog
50PROGRESS_COMPLETE_CHARACTER EQU BLOCK_FULL_FOREGROUND
51PROGRESS_INCOMPLETE_CHARACTER EQU BLOCK_MOSTLY_BACKGROUND
52
53struc PROGRESS_DIALOG_IO
54 .dialogInput resb DIALOG_INPUT_size
55 resb 2
56 .wCurrentProgressValue resb 2
57 .wMaxProgressValue resb 2
58 .wMinProgressValue resb 2
59 .fnTaskWithParamInDSSI resb 2
60
61 ; Progress Dialog internal values
62 .wProgressPerCharacter resb 2
63 .wStartTimeTicks resb 2
64endstruc
65
66struc DRIVE_DIALOG_IO
67 .dialogInput resb DIALOG_INPUT_size
68 .bUserCancellation resb 1
69 resb 1
70 .cReturnDriveLetter resb 1
71 .bReturnDriveNumber resb 1
72endstruc
73
74
75; File dialog
76FILENAME_BUFFER_SIZE EQU 14 ; 8+1+3+NULL+alignment
77MAX_FILE_DIALOG_INFO_LINES EQU 3
78FLG_FILEDIALOG_DRIVES EQU (1<<0) ; Allow changing drive
79FLG_FILEDIALOG_DIRECTORY EQU (1<<1) ; Select directory instead of file
80FLG_FILEDIALOG_NEW EQU (1<<2) ; Allow creating new file or directory
81
82KEY_FILEDIALOG_CHANGE_DRIVE EQU 3Ch ; F2
83KEY_FILEDIALOG_SELECT_DIRECTORY EQU 3Dh ; F3
84KEY_FILEDIALOG_NEW_FILE_OR_DIR EQU 3Eh ; F4
85
86struc FILE_DIALOG_IO
87 ; DIALOG_INPUT adjusted for File Dialog
88 .fszTitle resb 4
89 .fszItemBuffer resb 4 ; For generating file strings
90 resb 4
91
92 .bUserCancellation resb 1
93 resb 1
94 .bDialogFlags resb 1
95 .bFileAttributes resb 1
96 resb 2
97 .fpFileFilterString: ; Ptr to NULL terminated search string (may include path and wildcards)
98 .szFile resb FILENAME_BUFFER_SIZE
99endstruc
100
101
102%endif ; DIALOG_INC
Note: See TracBrowser for help on using the repository browser.