gui: adapt to latest changes.
need to work on other MainWindow derivates next.
This commit is contained in:
@@ -87,7 +87,7 @@ DlgLightConns_new_ret:
|
||||
DlgLightConns_Init:
|
||||
push r20
|
||||
push r21
|
||||
ldi r16, 0 ; OPTS
|
||||
ldi r16, (1<<DIALOG_OPTS_STDBTNS_BIT) ; OPTS
|
||||
ldi r17, (WIDGET_PACK_FILLED<<WIDGET_PACK_HSELF0_BIT) | (WIDGET_PACK_FILLED<<WIDGET_PACK_VSELF0_BIT) ; PACK
|
||||
ldi r20, LOW(RESSOURCE_TXT_LEDCONNECTIONS)
|
||||
ldi r21, HIGH(RESSOURCE_TXT_LEDCONNECTIONS)
|
||||
@@ -108,10 +108,6 @@ DlgLightConns_Init:
|
||||
ldi r16, HIGH(DlgLightConns_DefaultSignalmap*2)
|
||||
std Y+OBJECT_OFFS_SIGNALMAP_HI, r16
|
||||
|
||||
bigcall Dialog_AddDefaultButtons ; (any, !Y)
|
||||
|
||||
rcall DlgLightConns_toGui
|
||||
|
||||
DlgLightConns_Init_ret:
|
||||
ret
|
||||
; @end
|
||||
@@ -165,6 +161,47 @@ DlgLightConns_toGui:
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine DlgLightConns_fromGui @global
|
||||
;
|
||||
; @param Y pointer to dialog
|
||||
|
||||
DlgLightConns_fromGui:
|
||||
ldd zl, Y+DLGLIGHTCONNS_OFFS_SETTINGS_LO
|
||||
ldd zh, Y+DLGLIGHTCONNS_OFFS_SETTINGS_HI
|
||||
|
||||
; motion source 1
|
||||
ldi r16, DLGLIGHTCONNS_SEL_ADDR_MOTION1
|
||||
rcall dlgLightConnsGetValue
|
||||
std Z+LIGHTSETTINGS_OFFS_SOURCE1_NODEADDR, r18
|
||||
|
||||
ldi r16, DLGLIGHTCONNS_SEL_VALUE_MOTION1
|
||||
rcall dlgLightConnsGetValue
|
||||
std Z+LIGHTSETTINGS_OFFS_SOURCE1_VALUEID, r18
|
||||
|
||||
; motion source 2
|
||||
ldi r16, DLGLIGHTCONNS_SEL_ADDR_MOTION2
|
||||
rcall dlgLightConnsGetValue
|
||||
std Z+LIGHTSETTINGS_OFFS_SOURCE2_NODEADDR, r18
|
||||
|
||||
ldi r16, DLGLIGHTCONNS_SEL_VALUE_MOTION2
|
||||
rcall dlgLightConnsGetValue
|
||||
std Z+LIGHTSETTINGS_OFFS_SOURCE2_VALUEID, r18
|
||||
|
||||
; light source
|
||||
ldi r16, DLGLIGHTCONNS_SEL_ADDR_LIGHT
|
||||
rcall dlgLightConnsGetValue
|
||||
std Z+LIGHTSETTINGS_OFFS_BSOURCE_NODEADDR, r18
|
||||
|
||||
ldi r16, DLGLIGHTCONNS_SEL_VALUE_LIGHT
|
||||
rcall dlgLightConnsGetValue
|
||||
std Z+LIGHTSETTINGS_OFFS_BSOURCE_VALUEID, r18
|
||||
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine dlgLightConnsSetValue
|
||||
; @param Y pointer to dialog
|
||||
@@ -191,6 +228,32 @@ dlgLightConnsSetValue_ret:
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine dlgLightConnsGetValue
|
||||
; @param Y pointer to dialog
|
||||
; @param r16 selector of widget to modify
|
||||
; @param X value to set
|
||||
|
||||
dlgLightConnsGetValue:
|
||||
bigcall CDialog_GetChildBySelector ; r19:r18=result (R16-R19)
|
||||
brcc dlgLightConnsGetValue_ret
|
||||
push yl
|
||||
push yh
|
||||
mov yl, r18
|
||||
mov yh, r19
|
||||
push zl
|
||||
push zh
|
||||
bigcall Widget_GetCurrentValue ; r19:r18=result (any, !Y)
|
||||
pop zh
|
||||
pop zl
|
||||
pop yh
|
||||
pop yl
|
||||
dlgLightConnsGetValue_ret:
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -199,6 +262,36 @@ dlgLightConnsSetValue_ret:
|
||||
; signal handlers
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine DlgLightConns_OnToGui @global
|
||||
;
|
||||
; @param Y pointer to dialog
|
||||
; @return CFLAG set of okay, cleared otherwise
|
||||
; @clobbers any, !Y
|
||||
|
||||
DlgLightConns_OnToGui:
|
||||
rcall DlgLightConns_toGui
|
||||
sec
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine DlgLightConns_OnFromGui @global
|
||||
;
|
||||
; @param Y pointer to dialog
|
||||
; @return CFLAG set of okay, cleared otherwise
|
||||
; @clobbers any, !Y
|
||||
|
||||
DlgLightConns_OnFromGui:
|
||||
rcall DlgLightConns_fromGui
|
||||
sec
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine DlgLightConns_OnCmdMotion1 @global
|
||||
;
|
||||
@@ -221,13 +314,12 @@ DlgLightConns_OnCmdMotion1:
|
||||
pop zh
|
||||
pop zl
|
||||
|
||||
ldi r16, DLGLIGHTCONNS_SEL_DLG_MOTION1
|
||||
std Y+OBJECT_OFFS_SELECTOR, r16
|
||||
; set values
|
||||
ldd xl, Z+LIGHTSETTINGS_OFFS_SOURCE1_NODEADDR
|
||||
clr xh
|
||||
push zl
|
||||
push zh
|
||||
bigcall DlgNodeValueId_SetNodeAddr
|
||||
pop zh
|
||||
pop zl
|
||||
bigcall DlgNodeValueId_SetNodeAddr
|
||||
ldd xl, Z+LIGHTSETTINGS_OFFS_SOURCE1_VALUEID
|
||||
clr xh
|
||||
bigcall DlgNodeValueId_SetValueId
|
||||
@@ -239,10 +331,6 @@ DlgLightConns_OnCmdMotion1:
|
||||
std Y+DLGLIGHTCONNS_OFFS_CURRDLG_LO, xl
|
||||
std Y+DLGLIGHTCONNS_OFFS_CURRDLG_HI, xh
|
||||
|
||||
ldi r16, DLGLIGHTCONNS_SEL_DLG_MOTION1
|
||||
adiw xh:xl, OBJECT_OFFS_SELECTOR
|
||||
st X, r16
|
||||
sbiw xh:xl, OBJECT_OFFS_SELECTOR
|
||||
adiw xh:xl, OBJECT_OFFS_TARGET_LO
|
||||
st X+, yl
|
||||
st X, yh
|
||||
@@ -296,8 +384,6 @@ DlgLightConns_OnDlgEndMotion1:
|
||||
pop yh
|
||||
pop yl
|
||||
|
||||
rcall DlgLightConns_toGui
|
||||
|
||||
DlgLightConns_OnDlgEndMotion1_leave:
|
||||
; leave sub-dialog
|
||||
push yl
|
||||
@@ -559,6 +645,8 @@ DlgLightConns_DefaultSignalmap:
|
||||
; header
|
||||
.dw Dialog_DefaultSignalmap*2 ; next table to use
|
||||
; entries
|
||||
.db 0, DIALOG_SIGNAL_TOGUI, LOW(DlgLightConns_OnToGui), HIGH(DlgLightConns_OnToGui)
|
||||
.db 0, DIALOG_SIGNAL_FROMGUI, LOW(DlgLightConns_OnFromGui), HIGH(DlgLightConns_OnFromGui)
|
||||
.db DLGLIGHTCONNS_SEL_BTN_MOTION1, WIDGET_SIGNAL_COMMAND, LOW(DlgLightConns_OnCmdMotion1), HIGH(DlgLightConns_OnCmdMotion1)
|
||||
.db DLGLIGHTCONNS_SEL_BTN_MOTION2, WIDGET_SIGNAL_COMMAND, LOW(DlgLightConns_OnCmdMotion2), HIGH(DlgLightConns_OnCmdMotion2)
|
||||
.db DLGLIGHTCONNS_SEL_BTN_LIGHT, WIDGET_SIGNAL_COMMAND, LOW(DlgLightConns_OnCmdLight), HIGH(DlgLightConns_OnCmdLight)
|
||||
|
||||
Reference in New Issue
Block a user