⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alarmview.luac.lua

📁 htc manila 2 sourcecode
💻 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 + -