From f1c3921b08bb22ac6f5db22d620e01d7e8e5c49f Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 30 十二月 2019 13:32:33 +0800
Subject: [PATCH] 2019-12-30-1
---
ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 153 insertions(+), 6 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs
index 9318ae8..2c934c4 100755
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs
@@ -26,9 +26,17 @@
/// </summary>
private Button CardBG;
/// <summary>
+ /// sceneBG
+ /// </summary>
+ public Button sceneBG;
+ /// <summary>
/// v_Selected
/// </summary>
private bool v_Selected;
+ /// <summary>
+ /// scene
+ /// </summary>
+ public SceneUI scene;
/// <summary>
/// IsSelected
@@ -61,9 +69,20 @@
/// <summary>
/// init
/// </summary>
- public void Init()
+ public void Init(SceneUI sceneUI)
{
-
+ this.scene = sceneUI;
+
+ InitFrame();
+
+ InitStatu();
+ }
+
+ /// <summary>
+ /// InitFrame
+ /// </summary>
+ private void InitFrame()
+ {
CardBG = new Button
{
Width = Application.GetMinRealAverage(487),
@@ -82,7 +101,7 @@
};
AddChidren(SceneIcon);
- var sceneBG = new Button
+ sceneBG = new Button
{
Width = Application.GetMinRealAverage(487),
Height = Application.GetMinRealAverage(348),
@@ -99,7 +118,6 @@
Height = Application.GetMinRealAverage(63),
TextColor = ZigbeeColor.Current.GXCTextSelectedColor3,
TextAlignment = TextAlignment.CenterLeft,
- Text="58s"
};
AddChidren(TimeButton);
@@ -123,12 +141,26 @@
TextColor = ZigbeeColor.Current.GXCTextBlackColor,
SelectedTextColor = ZigbeeColor.Current.GXCTextSelectedColor,
TextAlignment = TextAlignment.CenterLeft,
- Text="璧峰簥"
};
AddChidren(SceneNameButton);
-
}
+ /// <summary>
+ /// InitStatu
+ /// </summary>
+ private void InitStatu()
+ {
+ SetIimeByDelayTime(scene.SceneDelayTime);
+ SetSceneNameText(scene.Name);
+ SetIcon(scene.IconPath);
+ SetCollect(Common.Room.CurrentRoom.GetLoveRoom().SceneUIFilePathList.Contains(scene.FileName));
+
+ TimeButton.MouseUpEventHandler += SetTimeEvents;
+ CollectButton.MouseUpEventHandler += CollectionEvent;
+ SceneIcon.MouseUpEventHandler += SceneUpHandler;
+ sceneBG.MouseUpEventHandler += SceneUpHandler;
+ SceneNameButton.MouseUpEventHandler += SceneUpHandler;
+ }
/// <summary>
/// SetTimeText
@@ -151,6 +183,22 @@
TimeButton.Height = Application.GetMinRealAverage(63);
TimeButton.UnSelectedImagePath = "Item/Time.png";
TimeButton.Text = string.Empty;
+ }
+
+ /// <summary>
+ /// SetIimeByDelayTime
+ /// </summary>
+ /// <param name="time"></param>
+ public void SetIimeByDelayTime(int time)
+ {
+ if (time > 0)
+ {
+ SetTimeText(CommonFormResouce.GetTimeString(time));
+ }
+ else
+ {
+ SetTimeImage();
+ }
}
/// <summary>
@@ -179,5 +227,104 @@
{
CollectButton.IsSelected = collect;
}
+
+ /// <summary>
+ /// 璋冪敤鍦烘櫙
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="args"></param>
+ private async void SceneUpHandler(object sender, MouseEventArgs args)
+ {
+ if (scene.RemainTime > 0 && scene.SceneDelayTime == 0)
+ {
+ CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneIsDelaying));
+ return;
+ }
+ //1鎴愬姛 0澶辫触
+ //鍚庨潰琛ヤ笂鐩稿叧鎻愮ず
+ // Error鍙傛暟鍚箟
+ //<para>1锛氱綉鍏虫棤娉曡В鏋愬懡浠ゆ暟鎹��</para>
+ //<para>2锛氬崗璋冨櫒姝e湪鍗囩骇鎴栧浠�/鎭㈠鏁版嵁
+ //<para>3锛氭搷浣滆澶�/缁�/鍦烘櫙涓嶅瓨鍦�</para>
+ //<para>4锛氬叾浠栭敊璇�</para>
+ //<para>5锛氭暟鎹紶杈撻敊璇紙鍦ㄦ煇娆″鎴风鍚戠綉鍏冲彂閫佹暟鎹殑杩囩▼涓紝缃戝叧鍦ㄥ悎鐞嗘椂闂磋寖鍥村唴鎺ユ敹瀹㈡埛绔暟鎹笉瀹屾暣瀵艰嚧璇ラ敊璇彂鐢熴�傚瀹㈡埛绔悜缃戝叧涓�娆″彂閫�100涓瓧鑺傜殑鏁版嵁锛屼絾缃戝叧绛夊緟鎺ユ敹浜嗕竴绉掑彧鎺ユ敹浜�80涓瓧鑺傘�傚彂鐢熻閿欒锛岀綉鍏冲皢涓诲姩鍏抽棴瀹㈡埛绔繛鎺ワ級</para>
+ var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(scene.Id, scene.SceneDelayTime);
+
+ if (sceneOpenAllData == null || sceneOpenAllData.sceneOpenData == null)
+ {
+ return;
+ }
+ if (sceneOpenAllData.sceneOpenData.Result == 0)
+ {
+ if (sceneOpenAllData.errorResponData == null)
+ {
+ return;
+ }
+ CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.ControlSceneFail);
+ }
+
+ scene.RemainTime = scene.SceneDelayTime;
+ scene.SceneDelayTime = 0;
+ new System.Threading.Thread(() =>
+ {
+ while (scene.RemainTime > 0)
+ {
+ System.Threading.Thread.Sleep(1000);
+ Application.RunOnMainThread(() =>
+ {
+ SetTimeText(CommonFormResouce.GetTimeString(scene.RemainTime));
+ });
+ scene.RemainTime -= 1;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ SetTimeImage();
+ });
+ })
+ { IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// 鏀惰棌
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="mouseEventArgs"></param>
+ private void CollectionEvent(object sender,MouseEventArgs mouseEventArgs)
+ {
+ (sender as Button).IsSelected = !(sender as Button).IsSelected;
+ if ((sender as Button).IsSelected)
+ {
+ Shared.Common.Room.CurrentRoom.GetLoveRoom().AddScene(scene);
+ }
+ else
+ {
+ Shared.Common.Room.CurrentRoom.GetLoveRoom().RemoveScene(scene);
+ }
+ scene.Save();
+ }
+
+ /// <summary>
+ /// setTimeEvent
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="mouseEventArgs"></param>
+ private void SetTimeEvents(object sender, MouseEventArgs mouseEventArgs)
+ {
+ if (scene.RemainTime > 0)
+ {
+ CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneIsDelaying));
+ return;
+ }
+ var timeSelect = new SelectTime();
+ CommonPage.Instance.AddChidren(timeSelect);
+ timeSelect.TempTime = scene.DelayTime;
+ timeSelect.Init();
+ timeSelect.TimeAction = (t) =>
+ {
+ scene.SceneDelayTime = t;
+ SetIimeByDelayTime(t);
+ };
+ }
+
}
}
--
Gitblit v1.8.0