gui: introduced base class for dialogs.

This commit is contained in:
Martin Preuss
2026-05-08 10:04:18 +02:00
parent c746abcc0f
commit 67e084b856
4 changed files with 241 additions and 30 deletions

View File

@@ -21,11 +21,9 @@
; selectors
.equ DLGNODEVALUEID_SEL_DIALOG_OK = 1
.equ DLGNODEVALUEID_SEL_DIALOG_ABORT = 2
.equ DLGNODEVALUEID_SEL_NODEADDR = 3
.equ DLGNODEVALUEID_SEL_VALUEID = 4
.equ DLGNODEVALUEID_SEL_NODEADDR = DIALOG_SEL_NEXTFREE+0
.equ DLGNODEVALUEID_SEL_VALUEID = DIALOG_SEL_NEXTFREE+1
.equ DLGNODEVALUEID_SEL_NEXTFREE = DIALOG_SEL_NEXTFREE+2
@@ -88,6 +86,8 @@ DlgNodeValueId_Init:
ldi r16, HIGH(DlgNodeValueId_DefaultSignalmap*2)
std Y+OBJECT_OFFS_SIGNALMAP_HI, r16
bigcall Dialog_AddDefaultButtons
DlgNodeValueId_Init_ret:
ret
; @end
@@ -201,33 +201,25 @@ dlgNodeValueIdGetChildValue_ret:
; ***************************************************************************
; signal handlers
; ---------------------------------------------------------------------------
; @routine DlgNodeValueId_OnOk @global
; @routine DlgNodeValueId_OnDialogEnd @global
;
; @param Y pointer to dialog
; @clobbers any, !Y
DlgNodeValueId_OnOk:
DlgNodeValueId_OnDialogEnd:
sec
ret
; @end
; ---------------------------------------------------------------------------
; @routine DlgNodeValueId_OnAbort @global
;
; @param Y pointer to dialog
; @clobbers any, !Y
DlgNodeValueId_OnAbort:
sec
ret
; @end
@@ -303,11 +295,9 @@ DlgNodeValueId_Config:
; signal map
DlgNodeValueId_DefaultSignalmap:
; header
.dw MainWindow_DefaultSignalmap*2 ; next table to use
.dw Dialog_DefaultSignalmap*2 ; next table to use
; entries
.db DLGNODEVALUEID_SEL_DIALOG_OK, WIDGET_SIGNAL_COMMAND, LOW(DlgNodeValueId_OnOk), HIGH(DlgNodeValueId_OnOk)
.db DLGNODEVALUEID_SEL_DIALOG_ABORT, WIDGET_SIGNAL_COMMAND, LOW(DlgNodeValueId_OnAbort), HIGH(DlgNodeValueId_OnAbort)
.db 0, WIDGET_SIGNAL_DIALOG_END, LOW(DlgNodeValueId_OnDialogEnd), HIGH(DlgNodeValueId_OnDialogEnd)
; end of table
.db 0, 0, 0, 0