[41] | 1 | ; File name : Dialog.inc
|
---|
| 2 | ; Project name : Assembly Library
|
---|
| 3 | ; Created date : 15.9.2010
|
---|
[45] | 4 | ; Last update : 28.9.2010
|
---|
[41] | 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
|
---|
| 11 | struc DIALOG
|
---|
| 12 | .menu resb MENU_size
|
---|
| 13 | .fpDialogIO resb 4 ; Ptr to DIALOG_INPUT + dialog specific data
|
---|
| 14 | .pParentMenu resb 2
|
---|
| 15 | endstruc
|
---|
| 16 |
|
---|
| 17 | DIALOG_DELTA_WIDTH_FROM_PARENT EQU 5
|
---|
| 18 | DIALOG_MAX_WIDTH EQU 60
|
---|
| 19 | DIALOG_MAX_HEIGHT EQU 25
|
---|
| 20 |
|
---|
| 21 |
|
---|
| 22 | ; Dialog parameter and return value structs
|
---|
| 23 | struc DIALOG_INPUT
|
---|
| 24 | .fszTitle resb 4
|
---|
| 25 | .fszItems resb 4
|
---|
| 26 | .fszInfo resb 4
|
---|
| 27 | endstruc
|
---|
| 28 |
|
---|
| 29 | struc 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
|
---|
| 36 | endstruc
|
---|
| 37 |
|
---|
| 38 | struc 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
|
---|
| 46 | endstruc
|
---|
| 47 |
|
---|
| 48 | struc PROGRESS_DIALOG_IO
|
---|
| 49 | .dialogInput resb DIALOG_INPUT_size
|
---|
| 50 | resb 2
|
---|
| 51 | .wCurrentProgressValue resb 2
|
---|
| 52 | .wMaxProgressValue resb 2
|
---|
| 53 | .wMinProgressValue resb 2
|
---|
| 54 | .fnTaskWithParamInDSSI resb 2
|
---|
| 55 |
|
---|
| 56 | ; Progress Dialog internal values
|
---|
| 57 | .wProgressPerCharacter resb 2
|
---|
| 58 | .wStartTimeTicks resb 2
|
---|
| 59 | endstruc
|
---|
| 60 |
|
---|
| 61 | struc FILE_DIALOG_IO
|
---|
| 62 | ; DIALOG_INPUT adjusted for File Dialog
|
---|
| 63 | .fszTitle resb 4
|
---|
| 64 | .fszItemBuffer resb 4 ; For generating file strings
|
---|
| 65 | resb 4
|
---|
| 66 |
|
---|
| 67 | .bUserCancellation resb 1
|
---|
| 68 | resb 1
|
---|
| 69 | .bDialogFlags resb 1
|
---|
| 70 | .bFileAttributes resb 1
|
---|
| 71 | resb 2
|
---|
| 72 | .fpFileFilterString: ; Ptr to NULL terminated search string (may include path and wildcards)
|
---|
| 73 | .szFile resb FILENAME_BUFFER_SIZE
|
---|
| 74 | endstruc
|
---|
| 75 |
|
---|
| 76 |
|
---|
[45] | 77 | ; Progress bar dialog
|
---|
| 78 | PROGRESS_COMPLETE_CHARACTER EQU BLOCK_FULL_FOREGROUND
|
---|
| 79 | PROGRESS_INCOMPLETE_CHARACTER EQU BLOCK_MOSTLY_BACKGROUND
|
---|
| 80 |
|
---|
[41] | 81 | ; File dialog
|
---|
| 82 | FILENAME_BUFFER_SIZE EQU 14 ; 8+1+3+NULL+alignment
|
---|
| 83 | MAX_FILE_DIALOG_INFO_LINES EQU 3
|
---|
| 84 | FLG_FILEDIALOG_DRIVES EQU (1<<0) ; Allow changing drive
|
---|
| 85 | FLG_FILEDIALOG_DIRECTORY EQU (1<<1) ; Select directory instead of file
|
---|
| 86 | FLG_FILEDIALOG_NEW EQU (1<<2) ; Allow creating new file or directory
|
---|
| 87 |
|
---|
| 88 | KEY_FILEDIALOG_CHANGE_DRIVE EQU 3Ch ; F2
|
---|
| 89 | KEY_FILEDIALOG_SELECT_DIRECTORY EQU 3Dh ; F3
|
---|
| 90 | KEY_FILEDIALOG_NEW_FILE_OR_DIR EQU 3Eh ; F4
|
---|
| 91 |
|
---|
| 92 |
|
---|
| 93 | %endif ; DIALOG_INC
|
---|