From 17c8d94258154ab2e9f6d2cf821202c873b9f118 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 16 十二月 2020 15:39:15 +0800
Subject: [PATCH] 22222
---
HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs | 239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 237 insertions(+), 2 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
index 680d108..815d67d 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddTarget.cs
@@ -1,8 +1,9 @@
锘縰sing System;
+using System.Collections.Generic;
using Shared;
namespace HDL_ON.UI.UI2.Intelligence.Automation
{
- public class AddTarget:FrameLayout
+ public class AddTarget : FrameLayout
{
public AddTarget()
{
@@ -33,18 +34,252 @@
functionView.btnText.TextID = StringId.funLogic;
functionView.btnIcon.UnSelectedImagePath = "LogicIcon/functionicon.png";
viewLayout.AddChidren(functionView.FLayoutView());
+
+ //鍦烘櫙
+ LogicView.SelectTypeView sceneView = new LogicView.SelectTypeView();
+ sceneView.frameLayout.Y = functionView.frameLayout.Bottom;
+ sceneView.btnText.TextID = StringId.Scenes;
+ sceneView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png";
+ viewLayout.AddChidren(sceneView.FLayoutView());
+
+ //寤舵椂
+ LogicView.SelectTypeView delayView = new LogicView.SelectTypeView();
+ delayView.frameLayout.Y = sceneView.frameLayout.Bottom;
+ delayView.btnText.TextID = StringId.delayLogic;
+ delayView.btnIcon.UnSelectedImagePath = "LogicIcon/delayed.png";
+ //viewLayout.AddChidren(delayView.FLayoutView());
#endregion
#region 鎵�鏈夌偣鍑讳簨浠�
- functionView.btnClick.MouseUpEventHandler += (sen, e) => {
+ //鍔熻兘鐐瑰嚮浜嬩欢
+ functionView.btnClick.MouseUpEventHandler += (sen, e) =>
+ {
FunTpye funTpye = new FunTpye();
MainPage.BasePageView.AddChidren(funTpye);
funTpye.Show(LogicMethod.target_if);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
+ //鍦烘櫙鐐瑰嚮浜嬩欢
+ sceneView.btnClick.MouseUpEventHandler += (sen, e) =>
+ {
+
+ FrameLayout fLayout = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ this.AddChidren(fLayout);
+ SceneMethod(fLayout);
+ };
+ //寤舵椂鐐瑰嚮浜嬩欢
+ delayView.btnClick.MouseUpEventHandler += (sen, e) =>
+ {
+
+ FrameLayout fLayout = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ this.AddChidren(fLayout);
+ Delayed(fLayout,false,1000);
+ };
#endregion
}
+
+ /// <summary>
+ /// 娣诲姞鍦烘櫙
+ /// </summary>
+ /// <param name="fLayout">寮规涓绘帶浠�</param>
+ public void SceneMethod(FrameLayout fLayout)
+ {
+ LogicView.DateView dateView = new LogicView.DateView();
+ dateView.btnTitle.TextID = StringId.addSceneLogic;
+ dateView.FLayoutView(fLayout, 5);
+ dateView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
+ {
+ fLayout.RemoveFromParent();
+ };
+ VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout
+ {
+ Y = Application.GetRealHeight(56),
+ Height = Application.GetRealHeight(50 * 5),
+
+ };
+ dateView.frameLayout.AddChidren(verticalRefresh);
+ //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鐘舵��
+ Button buttonClick = new Button();
+ HDL_ON.Entity.Scene sceneSelecetd = null;
+ var sceneList = LogicMethod.GetSceneList();
+ verticalRefresh.BeginHeaderRefreshingAction += () =>
+ {
+ //鍏抽棴鍒锋柊View锛�
+ verticalRefresh.EndHeaderRefreshing();
+ };
+ for (int i = 0; i < sceneList.Count; i++)
+ {
+ var scene = sceneList[i];
+ LogicView.SelectTypeView sceneView = new LogicView.SelectTypeView();
+ sceneView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence;
+ sceneView.btnIcon.Visible = false;
+ sceneView.btnText.X = Application.GetRealWidth(20);
+ sceneView.btnText.Text = scene.name;
+ sceneView.btnLine.X = Application.GetRealWidth(20);
+ sceneView.btnLine.Width = Application.GetRealWidth(303);
+ sceneView.btnNextIcon.X = Application.GetRealWidth(303);
+ sceneView.btnNextIcon.Width = Application.GetRealWidth(28);
+ sceneView.btnNextIcon.Height = Application.GetRealWidth(28);
+ sceneView.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png";
+ sceneView.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png";
+ verticalRefresh.AddChidren(sceneView.FLayoutView());
+ sceneView.btnClick.Tag = scene;//鏍囪绱㈠紩
+
+ //鍦烘櫙鐨勭偣鍑讳簨浠�
+ sceneView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ buttonClick.IsSelected = false;
+ sceneView.btnNextIcon.IsSelected = true;
+ buttonClick = sceneView.btnNextIcon;
+ sceneSelecetd =sceneView.btnClick.Tag as HDL_ON.Entity.Scene;
+ };
+
+ }
+ //纭鐐瑰嚮浜嬩欢
+ dateView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
+ {
+ if (sceneSelecetd == null)
+ {
+ //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡
+ return;
+ }
+ Output outputDevice = new Output();
+ outputDevice.target_type = "2";
+ outputDevice.sid = sceneSelecetd.sid;
+ //娌″暐浣滅敤锛屼负浜嗘暟鎹牸寮忕粺涓�,鍙戦�佹椂涓嶅啀鍒ゆ柇
+ outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "scene"},{ "value", "0" } } };
+ AddOutput(outputDevice);
+ fLayout.RemoveFromParent();
+ LogicMethod.RemoveAllView();
+ AddLogic addLogic = new AddLogic();
+ MainPage.BasePageView.AddChidren(addLogic);
+ addLogic.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+
+ }
+
+ /// <summary>
+ /// 寤舵椂鏃堕棿鏂规硶
+ /// </summary>
+ /// <param name="fLayout">鍦ㄥ摢涓晫闈㈡樉绀�</param>
+ /// <param name="edit">锛坱rue=缂栬緫锛沠alse=鏂板缓锛�</param>
+ /// <param name="index">缂栬緫鏉′欢鐨勭储寮�</param>
+ public void Delayed(FrameLayout fLayout, bool edit, int index)
+ {
+ LogicView.TimeView timePointView = new LogicView.TimeView();
+ timePointView.FLayoutView(fLayout);
+ EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) =>
+ {
+ //绉婚櫎fLayout鐣岄潰
+ fLayout.RemoveFromParent();
+ };
+ //鍙栨秷鐐瑰嚮浜嬩欢
+ timePointView.btnCancel.MouseUpEventHandler += RemovefLayout;
+
+ //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
+ timePointView.mUIPickerView.setNPicker(timePointView.GethStringList0(), timePointView.GetmStringList(), null);
+ //榛樿鍒濆閫変腑鐘舵��
+ timePointView.mUIPickerView.setCurrentItems(0, 5, 0);
+ //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
+ string timepoint = "00:05";
+
+ if (edit)
+ {
+ Output output = Logic.currlogic.output[index];
+ if (output.target_type == "3")
+ {
+ List<Dictionary<string, string>> dicList = output.status as List<Dictionary<string, string>>;
+ foreach (var dic in dicList)
+ {
+ string timeValue = dic["value"];
+ int hIndex = timePointView.GetValueIndex(timeValue, 0, 1, timePointView.GethIntList0());
+ int mIndex = timePointView.GetValueIndex(timeValue, 1, 0, timePointView.GetmIntList());
+ //鏇存柊鍒濆鐘舵��
+ timePointView.mUIPickerView.setCurrentItems(hIndex, mIndex, 0);
+ timepoint = timeValue;
+ }
+ }
+ }
+
+
+ //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
+ timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
+ {
+ string hour = timePointView.GethStringList0()[index1].Split(' ')[0];
+ string minuet = timePointView.GetmStringList()[index2].Split(' ')[0];
+ timepoint = hour + ":" + minuet;
+ };
+ //纭畾鐐瑰嚮浜嬩欢
+ timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) =>
+ {
+ if (timepoint=="00:00") {
+ //鎻愮ず
+ return;
+ }
+ Output outputTime= new Output();
+ outputTime.sid = LogicMethod.NewSid();
+ outputTime.target_type = "3";
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ LogicMethod.dictionary(dic, "key", "delay");
+ LogicMethod.dictionary(dic, "value", timepoint);
+ outputTime.status.Add(dic);
+ if (edit)
+ {
+ //绉婚櫎鏃ф暟鎹�
+ Logic.currlogic.output.RemoveAt(index);
+ //鏂版暟鎹彃鍏ユ棫鏁版嵁鐨勪綅缃�;
+ Logic.currlogic.output.Insert(index, outputTime);
+ }
+ else
+ {
+ //娣诲姞涓�涓柊鐨勬椂闂寸偣鏉′欢
+ AddOutput(outputTime);
+ }
+ fLayout.RemoveFromParent();
+ LogicMethod.RemoveAllView();
+ AddLogic addLogic = new AddLogic();
+ MainPage.BasePageView.AddChidren(addLogic);
+ addLogic.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+ };
+ }
+
+ /// <summary>
+ /// 娣诲姞鐩爣
+ /// </summary>
+ /// <param name="target"></param>
+ private void AddOutput(Output target)
+ {
+ int indexValue = -1;
+ for (int i = 0; i < Logic.currlogic.output.Count; i++)
+ {
+ if (Logic.currlogic.output[i].sid == target.sid)
+ {
+ indexValue = i;
+ break;
+ }
+ }
+
+ if (indexValue != -1)
+ {
+ Logic.currlogic.output.RemoveAt(indexValue);
+ Logic.currlogic.output.Insert(indexValue, target);
+ }
+ else
+ {
+ Logic.currlogic.output.Add(target);
+ }
+
+ }
}
}
--
Gitblit v1.8.0