📄 alarmview.luac.lua
字号:
-- Decompiled using luadec 0.7 by sztupy (http://winmo.sztupy.hu)
-- Command line was: -l ;;;;;;;;;;0,0,5;0,0,1;0,0,5,16;4;;; 3e5b35f2_manila.luac
require("theme")
require("scrollphysics")
require("transitions")
require("machine_status_svc")
require("OnOffButtonControl")
require("worldclock_svc")
require("../Component/GraphicClock")
gMachineStatus = MachineStatus()
ListViewHeight = 90
OnLeftSoftKeyPress = function()
_application.Navigation:NavigateBack()
end
AlarmViewForm = class()
AlarmViewForm.__init = function(l_2_0)
_application:SetLeftSoftkey(Softkey(Locale:GetString("IDS_DONE"), OnLeftSoftKeyPress))
_application:SetRightSoftkey(Softkey("", nil))
WcMgr = nil
Alarms = nil
BtnAddAlarm = nil
LvAlarm = nil
_request.NavigateInFrom:connect(l_2_0.OnNavigateIn, l_2_0)
_request.NavigateOutTo:connect(l_2_0.OnNavigateOut, l_2_0)
end
AlarmViewForm.OnNavigateIn = function(l_3_0, l_3_1)
gMachineStatus.TwentyFourHourTime.OnValueChanged:connect(OnTwentyFourHourChanged)
WcMgr = WorldClockManager()
Alarms = WcMgr:GetAlarms()
LvAlarm = ClsAlarmListView(AlarmListView, Alarms)
SelectorLeft.Size.height = ListViewHeight
SelectorRight.Size.height = ListViewHeight
SelectorMain.Size.height = ListViewHeight
highlightLeft.Size.height = ListViewHeight
SelectorHightLeft.Size.height = ListViewHeight
SelectorHightRight.Size.height = ListViewHeight
highlightRight.Size.height = ListViewHeight
Transition(l_3_1, "In")
end
AlarmViewForm.OnNavigateOut = function(l_4_0, l_4_1)
gMachineStatus.TwentyFourHourTime.OnValueChanged:disconnect(OnTwentyFourHourChanged)
_request.NavigateInFrom:disconnect(l_4_0.OnNavigateIn, l_4_0)
_request.NavigateOutTo:disconnect(l_4_0.OnNavigateOut, l_4_0)
WcMgr:SetAlarms(Alarms)
Transition(l_4_1, "Out")
end
ClsAlarmListView = class()
ClsAlarmListView.__init = function(l_5_0, l_5_1, l_5_2)
l_5_0.ListView = l_5_1
l_5_0.DataSource = l_5_2
l_5_0.SelectedPart = 0
l_5_0.MouseDonwPosY = 0
l_5_0.ItemListLayout = TileLayout()
if _application.Orientation == ScreenOrientation_Portrait then
l_5_0.ItemListLayout:SetItemSize(480, ListViewHeight, 0)
else
if _application.Orientation == ScreenOrientation_Landscape then
l_5_0.ItemListLayout:SetItemSize(800, ListViewHeight, 0)
end
end
l_5_0.ItemListLayout.SelectionNode = AlarmSelector
l_5_0.ListView:SetLayout(l_5_0.ItemListLayout)
l_5_0.ItemListGenerator = LibraryGeneratorAlarms(l_5_0.DataSource, l_5_0.ListView:GetMovie(), l_5_0.ListView.ComponentLibraryName, l_5_0.ListView.ComponentLibraryID)
l_5_0.ItemListGenerator.ItemCreated:connect(l_5_0.OnItemCreated, l_5_0)
l_5_0.ItemListGenerator.ItemDestroyed:connect(l_5_0.OnItemDestroyed, l_5_0)
l_5_0.ListView:SetGenerator(l_5_0.ItemListGenerator)
if AlarmView_Landscape ~= nil then
AlarmView_Landscape._generator = l_5_0.ItemListGenerator
end
l_5_0.ListPhysics = ScrollPhysics(l_5_0.ListView, l_5_0.ListView, nil)
l_5_0.ListPhysics:ConnectMouseEvents()
l_5_0.ListView.onMouseDown:connect(l_5_0.OnMouseDown, l_5_0)
l_5_0.ListView.onMouseMove:connect(l_5_0.OnMouseMove, l_5_0)
l_5_0.ListView.onMouseUp:connect(l_5_0.OnMouseUp, l_5_0)
l_5_0.ListView:Focus()
end
ClsAlarmListView.OnItemCreated = function(l_6_0, l_6_1, l_6_2)
l_6_2.Tag = {}
l_6_2.Tag.Data = AlarmListViewItem(l_6_1, l_6_2)
if AlarmView_Landscape ~= nil then
AlarmView_Landscape:AdjustListviewItemLayout(l_6_1, l_6_2)
end
l_6_2.OnSelected:connect(l_6_0.OnItemSelected, l_6_0)
l_6_2.OnDeselected:connect(l_6_0.OnItemDeselected, l_6_0)
end
ClsAlarmListView.OnItemDestroyed = function(l_7_0, l_7_1)
l_7_1.OnSelected:disconnect(l_7_0.OnItemSelected, l_7_0)
l_7_1.OnDeselected:disconnect(l_7_0.OnItemDeselected, l_7_0)
end
ClsAlarmListView.OnItemSelected = function(l_8_0, l_8_1)
l_8_1.Namespace:FindName("AlarmTitleText").Color = GetMainTextSelectedColor()
end
ClsAlarmListView.OnItemDeselected = function(l_9_0, l_9_1)
l_9_1.Namespace:FindName("AlarmTitleText").Color = GetMainTextUnselectedColor()
end
ClsAlarmListView.OnMouseDown = function(l_10_0, l_10_1)
local l_10_2 = l_10_0.ListView:GetIndexAtMousePoint(l_10_1._xmouse, l_10_1._ymouse)
if l_10_2 ~= -1 then
if l_10_1._xmouse > 360 then
l_10_0.SelectedPart = 1
else
l_10_0.SelectedPart = 2
end
end
l_10_0.MouseDonwPosY = l_10_1._ymouse
end
ClsAlarmListView.OnMouseMove = function(l_11_0, l_11_1)
local l_11_2 = l_11_0.MouseDonwPosY
l_11_2 = l_11_2 - l_11_1._ymouse
if l_11_2 > 40 or l_11_2 < -40 then
l_11_0.SelectedPart = 0
end
end
ClsAlarmListView.OnMouseUp = function(l_12_0, l_12_1)
local l_12_2 = l_12_0.ListView:GetIndexAtMousePoint(l_12_1._xmouse, l_12_1._ymouse)
if l_12_2 ~= -1 and l_12_0.SelectedPart ~= 0 then
local l_12_3 = l_12_0.ListView:GetGenerator():GetItem(l_12_2)
if (_application.Orientation == ScreenOrientation_Portrait and l_12_1._xmouse > 360)
or (_application.Orientation == ScreenOrientation_Landscape and l_12_1._xmouse > 680) then
if l_12_0.SelectedPart == 1 then
if l_12_3.Tag.Data.DataSource.Enabled then
l_12_3.Tag.Data.DataSource.Enabled = false
else
l_12_3.Tag.Data.DataSource.Enabled = true
end
OnOffButton_ToggleValue(l_12_3.Namespace:FindName("OnOffComponent"))
end
else
if l_12_0.SelectedPart == 2 then
_application.Navigation:Navigate(URL("Manila://WorldClock/EditAlarm/editalarm.page?Index=" .. l_12_2))
end
end
l_12_0.SelectedPart = 0
end
end
OnTwentyFourHourChanged = function()
local l_13_0 = LvAlarm.DataSource:GetCount()
for i = 0, l_13_0 - 1 do
local item = LvAlarm.ItemListGenerator:GetItem(i)
local data = LvAlarm.ItemListGenerator:GetData(i)
if item ~= nil then
item.Tag.Data.GcClock:Show()
end
end
end
AlarmListViewItem = class()
AlarmListViewItem.__init = function(l_14_0, l_14_1, l_14_2)
l_14_0.DataSource = l_14_1
l_14_0.LblDescription = l_14_2.Namespace:FindName("AlarmTitleText")
l_14_0.GcClock = GraphicClock(Time_GetNow(), l_14_2.Namespace:FindName("AlarmHourBg"), l_14_2.Namespace:FindName("AlarmHourLeft"), l_14_2.Namespace:FindName("AlarmHourRight"), l_14_2.Namespace:FindName("AlarmMinuteBg"), l_14_2.Namespace:FindName("AlarmMinuteLeft"), l_14_2.Namespace:FindName("AlarmMinuteRight"), l_14_2.Namespace:FindName("AlarmAMIcon"))
l_14_0.OoEnable = l_14_2.Namespace:FindName("OnOffComponent")
OnOffButton_Initialize(l_14_0.OoEnable, l_14_1.Enabled)
l_14_0.GrpRepeat = l_14_2.Namespace:FindName("RepeatGroup")
l_14_0.BtnSun = l_14_2.Namespace:FindName("AlarmRepeatSunText")
l_14_0.BtnMon = l_14_2.Namespace:FindName("AlarmRepeatMonText")
l_14_0.BtnTue = l_14_2.Namespace:FindName("AlarmRepeatTueText")
l_14_0.BtnWed = l_14_2.Namespace:FindName("AlarmRepeatWedText")
l_14_0.BtnThu = l_14_2.Namespace:FindName("AlarmRepeatThuText")
l_14_0.BtnFri = l_14_2.Namespace:FindName("AlarmRepeatFriText")
l_14_0.BtnSat = l_14_2.Namespace:FindName("AlarmRepeatSatText")
l_14_0.LblDescription.String = l_14_1.Description
if l_14_1.Days == 0 then
l_14_0.GrpRepeat._visible = false
else
l_14_0.GrpRepeat._visible = true
if TestBit(l_14_1.Days, 0) then
l_14_0.BtnSun.Color = Color(51, 51, 51, 255)
end
if TestBit(l_14_1.Days, 1) then
l_14_0.BtnMon.Color = Color(51, 51, 51, 255)
end
if TestBit(l_14_1.Days, 2) then
l_14_0.BtnTue.Color = Color(51, 51, 51, 255)
end
if TestBit(l_14_1.Days, 3) then
l_14_0.BtnWed.Color = Color(51, 51, 51, 255)
end
if TestBit(l_14_1.Days, 4) then
l_14_0.BtnThu.Color = Color(51, 51, 51, 255)
end
if TestBit(l_14_1.Days, 5) then
l_14_0.BtnFri.Color = Color(51, 51, 51, 255)
end
if TestBit(l_14_1.Days, 6) then
l_14_0.BtnSat.Color = Color(51, 51, 51, 255)
end
end
l_14_0.GcClock.Time:SetHour(l_14_1.AlarmTime:GetActualHour())
l_14_0.GcClock.Time:SetMinute(l_14_1.AlarmTime:GetMinute())
l_14_0.GcClock:Update()
end
main = function()
objs3D = {}
objs3D[1] = Camera2D
setOffScreen()
if _application.Store:GetStringValue(Lifetime_Permanent, "EnableLandscape") == "true" then
trace("[AlarmView] : EnableLandscape")
require("WorldClock\\AlarmView_Landscape")
AlarmView_Landscape = AlarmView_ScreenRotation(Camera2D, AlarmView_Mask, AlarmListView, AlarmSelector)
end
this = AlarmViewForm()
end
main()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -