I need some help in coding ;)
I want to improve the graphics on cockpit with some buttons.
Buttons especially for TMC on/off - Mute and OverViewMode
Functions are working and the new buttons are shown in cockpit, but I cannot disable them via settings menü. Settings for on/off are available but do not do anything. Buttons are always visiable in Cockpit.
Any hint for me?
Use PAL version - no skin as fare default skin ;)
Spoiler: Orignal morco_button.ui
Code:<modify ui_SideList>
<insert into="TABLE">
<BUTTON CLASS="btn_map morco_button_tmc_select" ONRELEASE={invert(%traffic.settings.traffic_enabled)} ONLONGCLICK=sc_ShowRouteOverView route=1>
<TEXT CLASS="postcode" >
<TEXT CLASS="exit" >
<TEXT CLASS="exitinfo" >
<TEXT CLASS="tunnel" >
<TEXT CLASS="houseL" >
<TEXT CLASS="houseR" >
<TEXT CLASS="speedoG" >
<TEXT CLASS="speedoO" >
<TEXT CLASS="speedoR" >
<TEXT CLASS="overspeed_limit" >
<TEXT CLASS="overspeed_G" >
<TEXT CLASS="overspeed_R" >
<TEXT CLASS="TmcCount" >
</BUTTON>
<BUTTON CLASS="btn_map morco_button_azoom" ONRELEASE={invert(%lua.OverViewModeOn)} ONLONGCLICK=sc_RouteSettings>
</BUTTON>
<BUTTON CLASS="btn_map morco_button_mute" ONRELEASE=sc_MuteUnmute ONLONGCLICK=btn_AvoidRouteAhead_Onrelease>
</BUTTON>
</insert>
</modify>
<modify lm_MainMenu>
<insert after=Settings>
<row morco ver3.3 text="morco UX Control" icon="ico_settings.svg" onrelease=sc_morco_select/>
</insert>
</modify>
<userlist lm_morco_select text="str" onrelease="ui" enable="bool" type="str" visible="bool" isselected="str" details="str">
<view visibility_filter=visible />
<default onrelease=undef enable=1 visible=1/>
<row text="Auto Zoom Button " type="ChkOnOff" isselected="lua.azoom" >
<row text="Mute Button" type="ChkOnOff" isselected="lua.muteb" >
<row text="Postcode" type="ChkOnOff" isselected="lua.postcode" >
<row text="Next Exit" type="ChkOnOff" isselected="lua.exit" >
<row text="Tunnel Length" type="ChkOnOff" isselected="lua.tunnel" >
<row text="House Numbers" type="ChkOnOff" isselected="lua.house" >
<row text="Speedo" type="ChkOnOff" isselected="lua.speedo" >
<row text="Overspeed" type="ChkOnOff" isselected="lua.overspeed" >
<row text="Overspeed Limit" type="ChkOnOff" isselected="lua.overspeed_limit" >
<row text="TMC Event Number" type="ChkOnOff" isselected="lua.TmcCount" >
<row text="Route Progress Scale" type="ChkOnOff" isselected="lua.ScaleDistance" >
</userlist>
Spoiler: Orignal morco_button.lua
Code:MODEL.SETPERSISTENT.lua.azoom = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.muteb = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.postcode = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.exit = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.tunnel = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.house = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.speedo = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.overspeed_limit = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.overspeed = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.TrafficStatusAlarm = WSTRING_MODEL(L"!back")
MODEL.SETPERSISTENT.lua.SignPostDing = WSTRING_MODEL(L"!nav_dingding")
MODEL.SETPERSISTENT.lua.TmcCount = BOOL_MODEL(false)
sc_SignPostLayerShow_orig = sc_SignPostLayerShow
function sc_SignPostLayerShow()
if st_Cockpit.isActive and not MODEL.lua.SignpostIsValid() and MODEL.lua.SignpostOn() then
sc_AngleSignPost()
MODEL.sound.playchanneltest("alarmeffect", MODEL.lua.SignPostDing())
MODEL.lua.SignpostIsValid = true
ui_Singpost:tween("Y", -vLaneInfoSignpostHeight(), 0, gSignPostAnimTimeMs)
end
hook_SignPostShow:trigger()
end
sc_TMC_DelayChanged_orig = sc_TMC_DelayChanged
function sc_TMC_DelayChanged()
if MODEL.traffic.events.full_delay() ~= MODEL.lua.PrevDelay() then
if MODEL.traffic.events.full_delay() > MODEL.lua.PrevDelay() then
hook_Send_Notification:trigger("traffic", "arrival_delayed")
MODEL.sound.playchanneltest("alarmeffect", MODEL.lua.TrafficStatusAlarm())
else
hook_Send_Notification:trigger("traffic", "arrival_sooner")
MODEL.sound.playchanneltest("alarmeffect", MODEL.lua.TrafficStatusAlarm())
end
MODEL.lua.PrevDelay = MODEL.traffic.events.full_delay()
end
end
function sc_morco_select()
sc_NextStateAnim(st_morco_select, "fade", 1, "")
end
createState("st_morco_select", {
extends = {st_List, st_Popover},
title = m_i18n("morco UX ver3.3"),
listname = "ui.lm_morco_select"
})
Spoiler: Orignal morco_button.css
Code:BUTTON.btn_map.morco_button_tmc_select {
img: "btn_map.bmp#3";
text:(%traffic.settings.traffic_enabled ? "TMC ON" : "TMC OFF");
}
BUTTON.btn_map.morco_button_azoom {
img:(%lua.OverViewModeOn ? "ico_zoomout_graph.svg" : "ico_zoomin_graph.svg");
visible:(%lua.azoom);
}
BUTTON.btn_map.morco_button_mute {
img:(%lua.sound.Mode == lua.ESoundMode.MUTE ? "ico_muteStatus.svg" : "ico_sound.svg");
visible:(%lua.muteb);
}
SPRITE.notification_area {
img: #ffa622ad;
}
@import "~/common/ui/morco_button_landscape.css" landscape;
@import "~/common/ui/morco_button_portrait.css" portrait;
Here is my code.
Spoiler: My morco_button.ui
Code:<modify ui_Cockpit>
<insert into="IMPLEMENTATION">
<PROPERTY showButtonTMC2 VALUE=(%traffic.settings.traffic_enabled)>
<PROPERTY showButtonMute VALUE=(%lua.muteb)>
<PROPERTY showOverViewMod VALUE=(%lua.azoom)>
</insert>
<insert into="DIV.cockpit">
<TEXT CLASS="postcode">
<TEXT CLASS="exit">
<TEXT CLASS="exitinfo">
<TEXT CLASS="tunnel">
<TEXT CLASS="houseL">
<TEXT CLASS="houseR">
<TEXT CLASS="overspeed_limit" >
<TEXT CLASS="overspeed_G" >
<TEXT CLASS="overspeed_R" >
<TEXT CLASS="TmcCount" >
</insert>
</modify>
<modify ui_SideList>
<insert into="TABLE">
<BUTTON CLASS="btn_map" ONRELEASE={invert(%traffic.settings.traffic_enabled)} visible=(ui_Cockpit.showButtonTMC2)>
<SPRITE CLASS="button map fill"/>
<SPRITE CLASS="btn_map svg" IMG=( %traffic.settings.traffic_enabled ? "ico_TMCon.svg" : "ico_TMCoff.svg") />
</BUTTON>
<BUTTON CLASS="btn_map" ONRELEASE=sc_MuteUnmuteMorco visible=(ui_Cockpit.showButtonMute)>
<SPRITE CLASS="button map fill"/>
<SPRITE CLASS="btn_map svg" IMG=( %lua.sound.Mode == lua.ESoundMode.MUTE ? "ico_MuteStatus2.svg" : "ico_UnmuteStatus2.svg") />
</BUTTON>
<BUTTON CLASS="btn_map" ONRELEASE={invert(%lua.OverViewModeOn)} visible=(ui_Cockpit.showOverViewMod)>
<SPRITE CLASS="button map fill"/>
<SPRITE CLASS="btn_map svg" IMG=( %lua.OverViewModeOn ? "ico_zoomout_graph.svg" : "ico_zoomin_graph.svg") />
</BUTTON>
</insert>
</modify>
<modify lm_ExtraSettingsList>
<insert after="default">
<row text="Show Auto Zoom Button" type="ChkOnOff" isselected="lua.azoom" >
<row text="Show Mute Button" type="ChkOnOff" isselected="lua.muteb" >
<row text="Show Postcode" type="ChkOnOff" isselected="lua.postcode" >
<row text="Show Next Exit" type="ChkOnOff" isselected="lua.exit" >
<row text="Show Tunnel Length" type="ChkOnOff" isselected="lua.tunnel" >
<row text="Show House Numbers" type="ChkOnOff" isselected="lua.house" >
; <row text="Show Speedo" type="ChkOnOff" isselected="lua.speedo" >
<row text="Show Overspeed Niveau" type="ChkOnOff" isselected="lua.overspeed" >
<row text="Show Overspeed Limit" type="ChkOnOff" isselected="lua.overspeed_limit" >
<row text="Show TMC Event Number" type="ChkOnOff" isselected="lua.TmcCount" >
; <row text="Show Route Progress Scale" type="ChkOnOff" isselected="lua.ScaleDistance" >
</insert>
</modify>
Spoiler: My morco_button.lua
Code:MODEL.SETPERSISTENT.lua.azoom = BOOL_MODEL(true)
MODEL.SETPERSISTENT.lua.muteb = BOOL_MODEL(true)
MODEL.SETPERSISTENT.lua.postcode = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.exit = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.tunnel = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.house = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.speedo = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.overspeed_limit = BOOL_MODEL(false)
MODEL.SETPERSISTENT.lua.overspeed = BOOL_MODEL(true)
MODEL.SETPERSISTENT.lua.TrafficStatusAlarm = WSTRING_MODEL(L"!back")
MODEL.SETPERSISTENT.lua.SignPostDing = WSTRING_MODEL(L"!nav_dingding")
MODEL.SETPERSISTENT.lua.TmcCount = BOOL_MODEL(true)
sc_SignPostLayerShow_orig = sc_SignPostLayerShow
function sc_SignPostLayerShow()
if st_Cockpit.isActive and not MODEL.lua.SignpostIsValid() and MODEL.lua.SignpostOn() then
sc_AngleSignPost()
MODEL.sound.playchanneltest("alarmeffect", MODEL.lua.SignPostDing())
MODEL.lua.SignpostIsValid = true
ui_Singpost:tween("Y", -vLaneInfoSignpostHeight(), 0, gSignPostAnimTimeMs)
end
hook_SignPostShow:trigger()
end
sc_TMC_DelayChanged_orig = sc_TMC_DelayChanged
function sc_TMC_DelayChanged()
if MODEL.traffic.events.full_delay() ~= MODEL.lua.PrevDelay() then
if MODEL.traffic.events.full_delay() > MODEL.lua.PrevDelay() then
hook_Send_Notification:trigger("traffic", "arrival_delayed")
MODEL.sound.playchanneltest("alarmeffect", MODEL.lua.TrafficStatusAlarm())
else
hook_Send_Notification:trigger("traffic", "arrival_sooner")
MODEL.sound.playchanneltest("alarmeffect", MODEL.lua.TrafficStatusAlarm())
end
MODEL.lua.PrevDelay = MODEL.traffic.events.full_delay()
end
end
function sc_MuteUnmuteMorco()
local muted = MODEL.sound.master_muted()
MODEL.sound.master_muted = not muted
if muted then
MODEL.sound.play_effect("effects.ui.button.mute")
end
sc_CloseMenu()
end
function sc_ExtraSettings_OnRelease()
sc_NextStateAnim(st_Labs, "horz_scroll", 1, "")
end
function sc_morco_select()
sc_NextStateAnim(st_morco_select, "fade", 1, "")
end
createState("st_morco_select", {
extends = {st_List, st_Popover},
title = m_i18n("morco UX ver3.3"),
listname = "ui.lm_morco_select"
})
Spoiler: Pictures
[Only registered and activated users can see links. Click Here To Register...][Only registered and activated users can see links. Click Here To Register...][Only registered and activated users can see links. Click Here To Register...]