menu item ids

This commit is contained in:
Joshua Bell
2018-02-18 23:44:08 -08:00
parent f91dea76d7
commit d945386aa6

View File

@@ -3119,6 +3119,16 @@ file_menu:
DEFINE_MENU_ITEM label_eject, 'E', 'e' DEFINE_MENU_ITEM label_eject, 'E', 'e'
DEFINE_MENU_ITEM label_quit, 'Q', 'q' DEFINE_MENU_ITEM label_quit, 'Q', 'q'
menu_item_id_new_folder := 1
menu_item_id_open := 3
menu_item_id_close := 4
menu_item_id_close_all := 5
menu_item_id_select_all := 6
menu_item_id_copy_file := 8
menu_item_id_delete_file := 9
menu_item_id_eject := 11
menu_item_id_quit := 12
view_menu: view_menu:
DEFINE_MENU 5 DEFINE_MENU 5
DEFINE_MENU_ITEM label_by_icon, 'J', 'j' DEFINE_MENU_ITEM label_by_icon, 'J', 'j'
@@ -3127,6 +3137,12 @@ view_menu:
DEFINE_MENU_ITEM label_by_size, 'K', 'k' DEFINE_MENU_ITEM label_by_size, 'K', 'k'
DEFINE_MENU_ITEM label_by_type, 'L', 'l' DEFINE_MENU_ITEM label_by_type, 'L', 'l'
menu_item_id_view_by_icon := 1
menu_item_id_view_by_name := 2
menu_item_id_view_by_date := 3
menu_item_id_view_by_size := 4
menu_item_id_view_by_type := 5
special_menu: special_menu:
DEFINE_MENU 13 DEFINE_MENU 13
DEFINE_MENU_ITEM label_check_drives DEFINE_MENU_ITEM label_check_drives
@@ -3143,6 +3159,16 @@ special_menu:
DEFINE_MENU_SEPARATOR DEFINE_MENU_SEPARATOR
DEFINE_MENU_ITEM label_rename_icon DEFINE_MENU_ITEM label_rename_icon
menu_item_id_check_drives := 1
menu_item_id_format_disk := 3
menu_item_id_erase_disk := 4
menu_item_id_disk_copy := 5
menu_item_id_lock := 7
menu_item_id_unlock := 8
menu_item_id_get_info := 10
menu_item_id_get_size := 11
menu_item_id_rename_icon := 13
.addr $0000,$0000 .addr $0000,$0000
.assert * = $AD58, error, "Segment length mismatch" .assert * = $AD58, error, "Segment length mismatch"
@@ -6143,6 +6169,8 @@ L42C3: .byte 0
.proc handle_keydown_impl .proc handle_keydown_impl
;; Keep in sync with desktop_aux::menu_item_id_*
;; jump table for menu item handlers ;; jump table for menu item handlers
dispatch_table: dispatch_table:
;; Apple menu (1) ;; Apple menu (1)
@@ -6212,8 +6240,8 @@ dispatch_table:
;; no menu 7 ?? ;; no menu 7 ??
.addr cmd_check_drives ; duplicate??? .addr cmd_check_drives ; duplicate???
.addr cmd_noop ; -------- .addr cmd_noop ; --------
.addr L59A0 ; ??? .addr L59A0 ; ???
.addr L59A0 .addr L59A0
.addr L59A0 .addr L59A0
.addr L59A0 .addr L59A0
@@ -6278,10 +6306,10 @@ L43A1: sta $E25D
menu_dispatch2: menu_dispatch2:
ldx menu_click_params::menu_id ldx menu_click_params::menu_id
bne L43B3 bne :+
rts rts
L43B3: dex ; x has top level menu id : dex ; x has top level menu id
lda offset_table,x lda offset_table,x
tax tax
ldy menu_click_params::item_num ldy menu_click_params::item_num
@@ -10374,13 +10402,13 @@ disable_menu_items:
sta disableitem_params::disable sta disableitem_params::disable
lda #menu_id_file lda #menu_id_file
sta disableitem_params::menu_id sta disableitem_params::menu_id
lda #1 ; > New Folder lda #desktop_aux::menu_item_id_new_folder
sta disableitem_params::menu_item sta disableitem_params::menu_item
MGTK_RELAY_CALL MGTK::DisableItem, disableitem_params MGTK_RELAY_CALL MGTK::DisableItem, disableitem_params
lda #4 ; > Close lda #desktop_aux::menu_item_id_close
sta disableitem_params::menu_item sta disableitem_params::menu_item
MGTK_RELAY_CALL MGTK::DisableItem, disableitem_params MGTK_RELAY_CALL MGTK::DisableItem, disableitem_params
lda #5 ; > Close All lda #desktop_aux::menu_item_id_close_all
sta disableitem_params::menu_item sta disableitem_params::menu_item
MGTK_RELAY_CALL MGTK::DisableItem, disableitem_params MGTK_RELAY_CALL MGTK::DisableItem, disableitem_params
@@ -10410,19 +10438,19 @@ check_menu_items:
sta disableitem_params::disable sta disableitem_params::disable
lda #menu_id_file lda #menu_id_file
sta disableitem_params::menu_id sta disableitem_params::menu_id
lda #3 ; > Open lda #desktop_aux::menu_item_id_open
jsr disable_menu_item jsr disable_menu_item
lda #menu_id_special lda #menu_id_special
sta disableitem_params::menu_id sta disableitem_params::menu_id
lda #7 ; > Lock lda #desktop_aux::menu_item_id_lock
jsr disable_menu_item jsr disable_menu_item
lda #8 ; > Unlock lda #desktop_aux::menu_item_id_unlock
jsr disable_menu_item jsr disable_menu_item
lda #10 ; > Get Info lda #desktop_aux::menu_item_id_get_info
jsr disable_menu_item jsr disable_menu_item
lda #11 ; > Get Size lda #desktop_aux::menu_item_id_get_size
jsr disable_menu_item jsr disable_menu_item
lda #13 ; > Rename Icon lda #desktop_aux::menu_item_id_rename_icon
jsr disable_menu_item jsr disable_menu_item
rts rts
@@ -10439,19 +10467,19 @@ disable_menu_item:
sta disableitem_params::disable sta disableitem_params::disable
lda #menu_id_file lda #menu_id_file
sta disableitem_params::menu_id sta disableitem_params::menu_id
lda #3 ; > Open lda #desktop_aux::menu_item_id_open
jsr enable_menu_item jsr enable_menu_item
lda #menu_id_special lda #menu_id_special
sta disableitem_params::menu_id sta disableitem_params::menu_id
lda #7 ; > Lock lda #desktop_aux::menu_item_id_lock
jsr enable_menu_item jsr enable_menu_item
lda #8 ; > Unlock lda #desktop_aux::menu_item_id_unlock
jsr enable_menu_item jsr enable_menu_item
lda #10 ; > Get Info lda #desktop_aux::menu_item_id_get_info
jsr enable_menu_item jsr enable_menu_item
lda #11 ; > Get Size lda #desktop_aux::menu_item_id_get_size
jsr enable_menu_item jsr enable_menu_item
lda #13 ; > Rename Icon lda #desktop_aux::menu_item_id_rename_icon
jsr enable_menu_item jsr enable_menu_item
rts rts
@@ -19584,18 +19612,20 @@ done: rts
;;; ================================================== ;;; ==================================================
LB9B8: MGTK_RELAY_CALL MGTK::ScreenToWindow, event_params .proc LB9B8
MGTK_RELAY_CALL MGTK::ScreenToWindow, event_params
MGTK_RELAY_CALL MGTK::MoveTo, $D20D MGTK_RELAY_CALL MGTK::MoveTo, $D20D
MGTK_RELAY_CALL MGTK::InRect, rect1 MGTK_RELAY_CALL MGTK::InRect, rect1
cmp #MGTK::inrect_inside cmp #MGTK::inrect_inside
beq LB9D8 beq :+
rts rts
LB9D8: jsr measure_path_buf1 : jsr measure_path_buf1
stax $06 stax $06
cmp16 $D20D, $06 cmp16 $D20D, $06
bcs LB9EE bcs LB9EE
jmp LBA83 jmp LBA83
.endproc
.proc LB9EE .proc LB9EE
ptr := $6 ptr := $6
@@ -19621,7 +19651,8 @@ LBA10: MGTK_RELAY_CALL MGTK::TextWidth, ptr
jmp LBB05 jmp LBB05
.endproc .endproc
LBA42: lda $08 .proc LBA42
lda $08
cmp path_buf2 cmp path_buf2
bcc LBA4F bcc LBA4F
dec path_buf2 dec path_buf2
@@ -19653,7 +19684,7 @@ LBA6C: lda path_buf2,x
LBA7C: dey LBA7C: dey
sty path_buf2 sty path_buf2
jmp LBB05 jmp LBB05
.endproc
.proc LBA83 .proc LBA83
params := $6 params := $6
@@ -19675,7 +19706,8 @@ LBA7C: dey
jmp LBC5E jmp LBC5E
.endproc .endproc
LBABF: inc $08 .proc LBABF
inc $08
ldy #$00 ldy #$00
ldx $08 ldx $08
LBAC5: cpx path_buf1 LBAC5: cpx path_buf1
@@ -19707,6 +19739,9 @@ LBAF7: lda $D3C1,y
bpl LBAF7 bpl LBAF7
lda $08 lda $08
sta path_buf1 sta path_buf1
;; fall through
.endproc
LBB05: jsr draw_filename_prompt LBB05: jsr draw_filename_prompt
rts rts
@@ -20193,8 +20228,10 @@ start:
lda LCBANK1 lda LCBANK1
lda LCBANK1 lda LCBANK1
sta SET80COL sta SET80COL
stx startdesktop_params::machine stx startdesktop_params::machine
sty startdesktop_params::subid sty startdesktop_params::subid
cpy #0 cpy #0
beq is_iic ; Now identify/store specific machine type. beq is_iic ; Now identify/store specific machine type.
bit iigs_flag ; (number is used in double-click timer) bit iigs_flag ; (number is used in double-click timer)
@@ -21082,7 +21119,7 @@ data_buffer: .addr desktop_main::sys_start_path
str_system_start: PASCAL_STRING "System/Start" str_system_start: PASCAL_STRING "System/Start"
.proc L0EE1 .proc L0EE1
lda #$00 lda #0
sta desktop_main::sys_start_flag sta desktop_main::sys_start_flag
jsr desktop_main::get_LD3FF jsr desktop_main::get_LD3FF
cmp #$80 cmp #$80
@@ -21123,7 +21160,7 @@ config_toolkit:
MGTK_RELAY_CALL MGTK::CheckEvents MGTK_RELAY_CALL MGTK::CheckEvents
MGTK_RELAY_CALL MGTK::SetMenu, desktop_aux::desktop_menu MGTK_RELAY_CALL MGTK::SetMenu, desktop_aux::desktop_menu
MGTK_RELAY_CALL MGTK::SetCursor, pointer_cursor MGTK_RELAY_CALL MGTK::SetCursor, pointer_cursor
lda #$00 lda #0
sta $EC25 sta $EC25
jsr desktop_main::L66A2 jsr desktop_main::L66A2
jsr desktop_main::disable_eject_menu_item jsr desktop_main::disable_eject_menu_item