gui: fixed some problems.
This commit is contained in:
@@ -28,13 +28,16 @@
|
||||
.equ DLGLIGHTCONNS_SEL_BTN_MOTION1 = DIALOG_SEL_NEXTFREE+0
|
||||
.equ DLGLIGHTCONNS_SEL_ADDR_MOTION1 = DIALOG_SEL_NEXTFREE+1
|
||||
.equ DLGLIGHTCONNS_SEL_VALUE_MOTION1 = DIALOG_SEL_NEXTFREE+2
|
||||
.equ DLGLIGHTCONNS_SEL_BTN_MOTION2 = DIALOG_SEL_NEXTFREE+3
|
||||
.equ DLGLIGHTCONNS_SEL_ADDR_MOTION2 = DIALOG_SEL_NEXTFREE+4
|
||||
.equ DLGLIGHTCONNS_SEL_VALUE_MOTION2 = DIALOG_SEL_NEXTFREE+5
|
||||
.equ DLGLIGHTCONNS_SEL_BTN_LIGHT = DIALOG_SEL_NEXTFREE+6
|
||||
.equ DLGLIGHTCONNS_SEL_ADDR_LIGHT = DIALOG_SEL_NEXTFREE+7
|
||||
.equ DLGLIGHTCONNS_SEL_VALUE_LIGHT = DIALOG_SEL_NEXTFREE+8
|
||||
.equ DLGLIGHTCONNS_SEL_BTN_NEXTFREE = DIALOG_SEL_NEXTFREE+9
|
||||
.equ DLGLIGHTCONNS_SEL_DLG_MOTION1 = DIALOG_SEL_NEXTFREE+3
|
||||
.equ DLGLIGHTCONNS_SEL_BTN_MOTION2 = DIALOG_SEL_NEXTFREE+4
|
||||
.equ DLGLIGHTCONNS_SEL_ADDR_MOTION2 = DIALOG_SEL_NEXTFREE+5
|
||||
.equ DLGLIGHTCONNS_SEL_VALUE_MOTION2 = DIALOG_SEL_NEXTFREE+6
|
||||
.equ DLGLIGHTCONNS_SEL_DLG_MOTION2 = DIALOG_SEL_NEXTFREE+7
|
||||
.equ DLGLIGHTCONNS_SEL_BTN_LIGHT = DIALOG_SEL_NEXTFREE+8
|
||||
.equ DLGLIGHTCONNS_SEL_ADDR_LIGHT = DIALOG_SEL_NEXTFREE+9
|
||||
.equ DLGLIGHTCONNS_SEL_VALUE_LIGHT = DIALOG_SEL_NEXTFREE+10
|
||||
.equ DLGLIGHTCONNS_SEL_DLG_LIGHT = DIALOG_SEL_NEXTFREE+11
|
||||
.equ DLGLIGHTCONNS_SEL_BTN_NEXTFREE = DIALOG_SEL_NEXTFREE+12
|
||||
|
||||
|
||||
|
||||
@@ -105,7 +108,7 @@ DlgLightConns_Init:
|
||||
ldi r16, HIGH(DlgLightConns_DefaultSignalmap*2)
|
||||
std Y+OBJECT_OFFS_SIGNALMAP_HI, r16
|
||||
|
||||
bigcall Dialog_AddDefaultButtons
|
||||
bigcall Dialog_AddDefaultButtons ; (any, !Y)
|
||||
|
||||
rcall DlgLightConns_toGui
|
||||
|
||||
@@ -175,7 +178,11 @@ dlgLightConnsSetValue:
|
||||
push yh
|
||||
mov yl, r18
|
||||
mov yh, r19
|
||||
bigcall Widget_SetCurrentValue
|
||||
push zl
|
||||
push zh
|
||||
bigcall Widget_SetCurrentValue
|
||||
pop zh
|
||||
pop zl
|
||||
pop yh
|
||||
pop yl
|
||||
dlgLightConnsSetValue_ret:
|
||||
@@ -216,8 +223,11 @@ DlgLightConns_OnCmdMotion1:
|
||||
|
||||
ldd xl, Z+LIGHTSETTINGS_OFFS_SOURCE1_NODEADDR
|
||||
clr xh
|
||||
bigcall DlgNodeValueId_SetNodeAddr
|
||||
|
||||
push zl
|
||||
push zh
|
||||
bigcall DlgNodeValueId_SetNodeAddr
|
||||
pop zh
|
||||
pop zl
|
||||
ldd xl, Z+LIGHTSETTINGS_OFFS_SOURCE1_VALUEID
|
||||
clr xh
|
||||
bigcall DlgNodeValueId_SetValueId
|
||||
@@ -228,6 +238,16 @@ DlgLightConns_OnCmdMotion1:
|
||||
pop yl
|
||||
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
|
||||
sbiw xh:xl, (OBJECT_OFFS_TARGET_LO+1)
|
||||
|
||||
push yl
|
||||
push yh
|
||||
bigcall Widget_GetApp ; R19:R18=gui (none)
|
||||
@@ -250,6 +270,9 @@ DlgLightConns_OnCmdMotion1:
|
||||
; @clobbers any, !Y
|
||||
|
||||
DlgLightConns_OnDlgEndMotion1:
|
||||
cpi xl, DIALOG_RESULT_OK
|
||||
brne DlgLightConns_OnDlgEndMotion1_leave
|
||||
|
||||
; get values
|
||||
ldd zl, Y+DLGLIGHTCONNS_OFFS_SETTINGS_LO
|
||||
ldd zh, Y+DLGLIGHTCONNS_OFFS_SETTINGS_HI
|
||||
@@ -258,15 +281,24 @@ DlgLightConns_OnDlgEndMotion1:
|
||||
ldd r16, Y+DLGLIGHTCONNS_OFFS_CURRDLG_LO
|
||||
ldd yh, Y+DLGLIGHTCONNS_OFFS_CURRDLG_HI
|
||||
mov yl, r16
|
||||
bigcall DlgNodeValueId_GetNodeAddr
|
||||
push zl
|
||||
push zh
|
||||
bigcall DlgNodeValueId_GetNodeAddr
|
||||
pop zh
|
||||
pop zl
|
||||
std Z+LIGHTSETTINGS_OFFS_SOURCE1_NODEADDR, r18
|
||||
bigcall DlgNodeValueId_GetValueId
|
||||
push zl
|
||||
push zh
|
||||
bigcall DlgNodeValueId_GetValueId
|
||||
pop zh
|
||||
pop zl
|
||||
std Z+LIGHTSETTINGS_OFFS_SOURCE1_VALUEID, r18
|
||||
pop yh
|
||||
pop yl
|
||||
|
||||
rcall DlgLightConns_toGui
|
||||
|
||||
DlgLightConns_OnDlgEndMotion1_leave:
|
||||
; leave sub-dialog
|
||||
push yl
|
||||
push yh
|
||||
@@ -530,9 +562,9 @@ DlgLightConns_DefaultSignalmap:
|
||||
.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)
|
||||
.db DLGLIGHTCONNS_SEL_BTN_MOTION1, WIDGET_SIGNAL_DIALOG_END, LOW(DlgLightConns_OnDlgEndMotion1), HIGH(DlgLightConns_OnDlgEndMotion1)
|
||||
.db DLGLIGHTCONNS_SEL_BTN_MOTION2, WIDGET_SIGNAL_DIALOG_END, LOW(DlgLightConns_OnDlgEndMotion2), HIGH(DlgLightConns_OnDlgEndMotion2)
|
||||
.db DLGLIGHTCONNS_SEL_BTN_LIGHT, WIDGET_SIGNAL_DIALOG_END, LOW(DlgLightConns_OnDlgEndLight), HIGH(DlgLightConns_OnDlgEndLight)
|
||||
.db DLGLIGHTCONNS_SEL_DLG_MOTION1, WIDGET_SIGNAL_DIALOG_END, LOW(DlgLightConns_OnDlgEndMotion1), HIGH(DlgLightConns_OnDlgEndMotion1)
|
||||
.db DLGLIGHTCONNS_SEL_DLG_MOTION2, WIDGET_SIGNAL_DIALOG_END, LOW(DlgLightConns_OnDlgEndMotion2), HIGH(DlgLightConns_OnDlgEndMotion2)
|
||||
.db DLGLIGHTCONNS_SEL_DLG_LIGHT, WIDGET_SIGNAL_DIALOG_END, LOW(DlgLightConns_OnDlgEndLight), HIGH(DlgLightConns_OnDlgEndLight)
|
||||
; end of table
|
||||
.db 0, 0, 0, 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user