using System;
|
using System.Collections.Generic;
|
using HDL_ON.DriverLayer;
|
using HDL_ON.Entity;
|
using HDL_ON.Stan;
|
using HDL_ON.UI.CSS;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public class AcControlPage : DeviceFunctionCardCommonForm
|
{
|
#region ■ 变量声明___________________________
|
/// <summary>
|
/// 空调温度控制控件
|
/// </summary>
|
DiyArcSeekBar arcBar;
|
/// <summary>
|
/// 减号按钮
|
/// </summary>
|
Button btnMinus;
|
/// <summary>
|
/// 加号按钮
|
/// </summary>
|
Button btnPlus;
|
/// <summary>
|
/// 温度按钮
|
/// </summary>
|
Button btnTemp;
|
Button btnTempUint;
|
/// <summary>
|
/// 室内温度按钮
|
/// </summary>
|
Button btnIndoorTemp;
|
/// <summary>
|
/// 模式按钮
|
/// </summary>
|
Button btnMode;
|
/// <summary>
|
/// 风速按钮
|
/// </summary>
|
Button btnWindSpeed;
|
/// <summary>
|
/// 开关按钮
|
/// </summary>
|
Button btnSwitch;
|
|
AC acFunction = new AC();
|
|
|
|
#endregion
|
|
#region ■ 初始化_____________________________
|
|
/// <summary>
|
/// 初始化白色区域的内容
|
/// </summary>
|
public override void InitFrameWhiteContent()
|
{
|
|
base.ShowColltionButton = false;
|
base.SetTitleText(Language.StringByID(StringId.Electric));
|
|
//初始化第一个索引页的内容
|
this.InitFrameWhiteContent1();
|
|
//刷新当前设备的状态缓存
|
this.RefreshNowDeviceStatuMemory(this.device);
|
//刷新界面状态
|
this.RefreshFormStatu();
|
//读取状态
|
new System.Threading.Thread(() =>
|
{
|
Control.Ins.SendReadCommand(device);
|
})
|
{ IsBackground = true }.Start();
|
}
|
|
/// <summary>
|
/// 初始化第一个索引页的内容
|
/// </summary>
|
private void InitFrameWhiteContent1()
|
{
|
|
arcBar = new DiyArcSeekBar()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
OpenAngle = 160,
|
ThumbImageHeight = Application.GetRealWidth(50),
|
ProgressBarColor = CSS_Color.MainColor,
|
OfflineProgressBarColor = CSS_Color.PromptingColor2,
|
ArcColor = CSS_Color.BackgroundColor,
|
#if __IOS__
|
Y = Application.GetRealHeight(120 + 25),
|
Width = Application.GetRealWidth(260 - 40),
|
Height = Application.GetRealWidth(260 - 40),
|
SeekBarPadding = Application.GetRealWidth(8),
|
#else
|
Y = Application.GetRealHeight(120 + 40),
|
Width = Application.GetRealWidth(260 - 40),
|
Height = Application.GetRealWidth(260 - 40),
|
SeekBarPadding = Application.GetRealWidth(7),
|
#endif
|
|
};
|
FrameWhiteCentet1.AddChidren(arcBar);
|
|
|
arcBar.ThumbImagePath = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
|
arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off";
|
arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min;
|
arcBar.MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max;
|
arcBar.Progress = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp));
|
|
btnTemp = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(206),
|
Width = Application.GetRealWidth(71),
|
Height = Application.GetRealWidth(60),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = 50,
|
IsBold = true,
|
Text = Convert.ToDouble( device.GetAttrState(FunctionAttributeKey.SetTemp)).ToString(),
|
TextAlignment = TextAlignment.Center,
|
};
|
FrameWhiteCentet1.AddChidren(btnTemp);
|
|
btnTempUint = new Button()
|
{
|
X = btnTemp.Right,
|
Y = btnTemp.Y,
|
Width = Application.GetRealWidth(30),
|
Height = Application.GetRealHeight(30),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
|
IsBold = true,
|
TextAlignment = TextAlignment.CenterLeft,
|
Text = "°C",
|
};
|
FrameWhiteCentet1.AddChidren(btnTempUint);
|
|
btnIndoorTemp = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = btnTemp.Bottom,
|
Width = Application.GetRealWidth(120),
|
Height = Application.GetRealHeight(20),
|
Text = Language.StringByID(StringId.IndoorTemp) + "20°C",
|
TextColor = CSS_Color.PromptingColor1,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
};
|
FrameWhiteCentet1.AddChidren(btnIndoorTemp);
|
|
btnMinus = new Button()
|
{
|
X = Application.GetRealWidth(21),
|
Y = Application.GetRealHeight(263),
|
Width = Application.GetRealWidth(32),
|
Height = Application.GetRealWidth(32),
|
UnSelectedImagePath = "Public/MinusSignIcon.png",
|
};
|
FrameWhiteCentet1.AddChidren(btnMinus);
|
|
btnPlus = new Button()
|
{
|
X = Application.GetRealWidth(275),
|
Y = Application.GetRealHeight(263),
|
Width = Application.GetRealWidth(32),
|
Height = Application.GetRealWidth(32),
|
UnSelectedImagePath = "Public/PlusSignIcon.png",
|
};
|
FrameWhiteCentet1.AddChidren(btnPlus);
|
|
btnMode = new Button()
|
{
|
X = Application.GetRealWidth(60),
|
Y = Application.GetRealHeight(334),
|
Width = Application.GetRealWidth(30),
|
Height = Application.GetRealWidth(30),
|
UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)),
|
};
|
FrameWhiteCentet1.AddChidren(btnMode);
|
|
btnWindSpeed = new Button()
|
{
|
X = Application.GetRealWidth(235),
|
Y = Application.GetRealHeight(337),
|
Width = Application.GetRealWidth(30),
|
Height = Application.GetRealWidth(30),
|
UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed)),
|
};
|
FrameWhiteCentet1.AddChidren(btnWindSpeed);
|
|
btnSwitch = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(466),
|
Width = Application.GetRealWidth(32),
|
Height = Application.GetRealWidth(32),
|
UnSelectedImagePath = "Public/PowerClose.png",
|
SelectedImagePath = "Public/PowerOpen.png",
|
IsSelected = device.GetAttrState(FunctionAttributeKey.OnOff) == "on"
|
};
|
FrameWhiteCentet1.AddChidren(btnSwitch);
|
|
LoadEvent_TempChange();
|
LoadEvent_AcStatesChange();
|
|
LoadDiv_IrView();
|
}
|
|
/// <summary>
|
/// 加载修改模式区域
|
/// </summary>
|
void LoadDiv_ChangeModeView()
|
{
|
Dialog dialog = new Dialog();
|
|
FrameLayout dialogView = new FrameLayout()
|
{
|
BackgroundColor = CSS_Color.DialogTransparentColor1,
|
};
|
dialog.AddChidren(dialogView);
|
|
FrameLayout modeChangeView;
|
modeChangeView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(30),
|
Y = Application.GetRealHeight(128),
|
Width = Application.GetRealWidth(160),
|
Height = Application.GetRealHeight(287),
|
BackgroundImagePath = "FunctionIcon/AC/DivBg1.png",
|
};
|
dialogView.AddChidren(modeChangeView);
|
|
Button btnTitle;
|
btnTitle = new Button()
|
{
|
X = Application.GetRealWidth(8 + 16),
|
Y = Application.GetRealHeight(8),
|
Width = Application.GetRealWidth(112),
|
Height = Application.GetRealHeight(44),
|
TextID = StringId.ChooseMode,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
|
};
|
modeChangeView.AddChidren(btnTitle);
|
|
Button btnLine = new Button()
|
{
|
X = btnTitle.X,
|
Y = btnTitle.Bottom,
|
Width = Application.GetRealWidth(112),
|
Height = Application.GetRealHeight(1),
|
BackgroundColor = CSS_Color.BackgroundColor,
|
};
|
modeChangeView.AddChidren(btnLine);
|
|
var modeList = device.GetAttribute(FunctionAttributeKey.Mode).value;
|
foreach (var m in modeList)
|
{
|
Button btnModeIcon = new Button()
|
{
|
X = btnTitle.X,
|
Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8),
|
Width = Application.GetRealWidth(24),
|
Height = Application.GetRealWidth(24),
|
IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m,
|
};
|
modeChangeView.AddChidren(btnModeIcon);
|
|
Button btnModeText = new Button()
|
{
|
X = Application.GetRealWidth(12) + btnModeIcon.Right,
|
Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
|
Height = Application.GetRealHeight(44),
|
Width = Application.GetRealWidth(90),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
SelectedTextColor = CSS_Color.MainColor,
|
IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m,
|
TextSize = CSS_FontSize.TextFontSize,
|
};
|
modeChangeView.AddChidren(btnModeText);
|
|
btnModeIcon.UnSelectedImagePath = acFunction.GetModeIconPath(m, false);
|
btnModeIcon.SelectedImagePath = acFunction.GetModeIconPath(m);
|
btnModeText.Text = acFunction.GetModeAttrText( m);
|
|
if (modeList.IndexOf(m) < modeList.Count - 1)
|
{
|
modeChangeView.AddChidren(new Button()
|
{
|
X = btnTitle.X,
|
Y = btnModeText.Bottom,
|
Width = Application.GetRealWidth(112),
|
Height = Application.GetRealHeight(1),
|
BackgroundColor = CSS_Color.BackgroundColor,
|
});
|
}
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
dialog.Close();
|
};
|
EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
|
{
|
btnModeIcon.IsSelected = btnModeText.IsSelected = true;
|
device.SetAttrState(FunctionAttributeKey.Mode, m);
|
btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(m);
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
//btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath;
|
d.Add(FunctionAttributeKey.Mode, m);
|
Control.Ins.SendWriteCommand(device, d);
|
dialog.Close();
|
if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
|
{
|
arcBar.IsClickable = false;
|
arcBar.IsOffline = true;
|
}
|
else
|
{
|
arcBar.IsOffline = false;
|
arcBar.IsClickable = true;
|
}
|
};
|
btnModeIcon.MouseUpEventHandler = eventHandler1;
|
btnModeText.MouseUpEventHandler = eventHandler1;
|
dialogView.MouseUpEventHandler = eventHandler;
|
|
}
|
|
dialogView.MouseUpEventHandler = (sender, e) => {
|
dialog.Close();
|
};
|
dialog.Show();
|
}
|
/// <summary>
|
/// 加载修改模式区域
|
/// </summary>
|
void LoadDiv_ChangeFanView()
|
{
|
Dialog dialog = new Dialog();
|
|
FrameLayout dialogView = new FrameLayout()
|
{
|
BackgroundColor = CSS_Color.DialogTransparentColor1,
|
};
|
dialog.AddChidren(dialogView);
|
|
FrameLayout modeChangeView;
|
modeChangeView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(185),
|
Y = Application.GetRealHeight(172),
|
Width = Application.GetRealWidth(160),
|
Height = Application.GetRealHeight(243),
|
BackgroundImagePath = "FunctionIcon/AC/DivBg2.png",
|
};
|
dialogView.AddChidren(modeChangeView);
|
|
Button btnTitle;
|
btnTitle = new Button()
|
{
|
X = Application.GetRealWidth(8 + 16),
|
Y = Application.GetRealHeight(8),
|
Width = Application.GetRealWidth(112),
|
Height = Application.GetRealHeight(44),
|
TextID = StringId.ChooseFan,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
|
};
|
modeChangeView.AddChidren(btnTitle);
|
|
Button btnLine = new Button()
|
{
|
X = btnTitle.X,
|
Y = btnTitle.Bottom,
|
Width = Application.GetRealWidth(112),
|
Height = Application.GetRealHeight(1),
|
BackgroundColor = CSS_Color.BackgroundColor,
|
};
|
modeChangeView.AddChidren(btnLine);
|
|
var modeList = device.GetAttribute(FunctionAttributeKey.FanSpeed).value;
|
foreach (var m in modeList)
|
{
|
Button btnFanIcon = new Button()
|
{
|
X = btnTitle.X,
|
Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8),
|
Width = Application.GetRealWidth(24),
|
Height = Application.GetRealWidth(24),
|
IsSelected = device.GetAttrState(FunctionAttributeKey.FanSpeed) == m,
|
};
|
modeChangeView.AddChidren(btnFanIcon);
|
|
Button btnFanText = new Button()
|
{
|
X = Application.GetRealWidth(12) + btnFanIcon.Right,
|
Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
|
Height = Application.GetRealHeight(44),
|
Width = Application.GetRealWidth(70),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
SelectedTextColor = CSS_Color.MainColor,
|
IsSelected = device.GetAttrState(FunctionAttributeKey.FanSpeed) == m,
|
TextSize = CSS_FontSize.TextFontSize,
|
};
|
modeChangeView.AddChidren(btnFanText);
|
btnFanIcon.UnSelectedImagePath = acFunction.GetFanIconPath(m,false);
|
btnFanIcon.SelectedImagePath = acFunction.GetFanIconPath(m);
|
btnFanText.Text = acFunction.GetFanAttrText(m);
|
|
if (modeList.IndexOf(m) < modeList.Count - 1)
|
{
|
modeChangeView.AddChidren(new Button()
|
{
|
X = btnTitle.X,
|
Y = btnFanText.Bottom,
|
Width = Application.GetRealWidth(112),
|
Height = Application.GetRealHeight(1),
|
BackgroundColor = CSS_Color.BackgroundColor,
|
});
|
}
|
|
EventHandler<MouseEventArgs> closeDialogEvent = (sender, e) =>
|
{
|
dialog.Close();
|
};
|
EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
|
{
|
btnFanIcon.IsSelected = btnFanText.IsSelected = true;
|
device.SetAttrState(FunctionAttributeKey.FanSpeed, m);
|
btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(m);
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add(FunctionAttributeKey.FanSpeed, m);
|
Control.Ins.SendWriteCommand(device, d);
|
//btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath;
|
dialog.Close();
|
};
|
btnFanIcon.MouseUpEventHandler = eventHandler1;
|
btnFanText.MouseUpEventHandler = eventHandler1;
|
dialogView.MouseUpEventHandler = closeDialogEvent;
|
}
|
|
dialog.Show();
|
}
|
|
/// <summary>
|
/// 加载红外遥控器,额外按钮
|
/// </summary>
|
void LoadDiv_IrView()
|
{
|
if (device.spk == SPK.AcIr)
|
{
|
var btnMore = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(334),
|
Width = Application.GetRealWidth(30),
|
Height = Application.GetRealWidth(30),
|
UnSelectedImagePath = "FunctionIcon/AC/More.png",
|
};
|
FrameWhiteCentet1.AddChidren(btnMore);
|
|
btnMore.MouseUpEventHandler = (sender, e) => {
|
LoadDialog_IrMoreView();
|
};
|
}
|
}
|
/// <summary>
|
/// 加载额外对红外按钮界面
|
/// </summary>
|
void LoadDialog_IrMoreView()
|
{
|
Dialog dialog = new Dialog();
|
|
var div = new FrameLayout();
|
dialog.AddChidren(div);
|
div.MouseUpEventHandler = (sender, e) => {
|
dialog.Close();
|
};
|
|
var bodyView = new FrameLayout()
|
{
|
Y = Application.GetRealHeight(427),//667
|
Height = Application.GetRealHeight(240),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
div.AddChidren(bodyView);
|
|
var contentView = new VerticalScrolViewLayout()
|
{
|
Y = Application.GetRealHeight(16),
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(296+200),
|
};
|
bodyView.AddChidren(contentView);
|
|
|
var row = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(60),
|
Width = Application.GetRealWidth(296),
|
Gravity = Gravity.CenterHorizontal,
|
};
|
contentView.AddChidren(row);
|
|
int index = 0;
|
List<FunctionAttributes> attrList = new List<FunctionAttributes>();
|
attrList.AddRange(device.attributes);
|
attrList.Add(new FunctionAttributes() {
|
key = "+",
|
});
|
|
foreach (var attr in attrList)
|
{
|
if (attr.key == FunctionAttributeKey.Mode
|
|| attr.key == FunctionAttributeKey.OnOff
|
|| attr.key == FunctionAttributeKey.SetTemp
|
|| attr.key == FunctionAttributeKey.SetTempStep
|
|| attr.key == FunctionAttributeKey.FanSpeed
|
|| attr.key == FunctionAttributeKey.FanManual
|
|| attr.key == FunctionAttributeKey.FanAuto
|
)
|
{
|
continue;
|
}
|
if (index != 0 && index % 3 == 0)
|
{
|
row = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(56),
|
Width = Application.GetRealWidth(296),
|
Gravity = Gravity.CenterHorizontal,
|
};
|
contentView.AddChidren(row);
|
}
|
if (attr.key == "+")
|
{
|
var addView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetRealWidth(88),
|
Height = Application.GetRealHeight(40),
|
Radius = (uint)Application.GetRealHeight(18),
|
BorderColor = CSS_Color.PromptingColor1,
|
BorderWidth = (uint)Application.GetRealWidth(2),
|
};
|
|
|
if (index % 3 == 1)
|
{
|
addView.Gravity = Gravity.Center;
|
}
|
else if (index % 3 == 2)
|
{
|
addView.X = Application.GetRealWidth(208);
|
}
|
row.AddChidren(addView);
|
|
var btnAdd = new Button()
|
{
|
Gravity = Gravity.Center,
|
UnSelectedImagePath = "Public/PlusSignIcon.png",
|
Width = Application.GetRealWidth(32),
|
Height = Application.GetRealWidth(32),
|
};
|
addView.AddChidren(btnAdd);
|
|
btnAdd.MouseUpEventHandler = (sender, e) =>
|
{
|
dialog.Close();
|
Action action = () => {
|
LoadDialog_IrMoreView();
|
};
|
var addButton = new AcControlPage_AddIrButton(action);
|
MainPage.BasePageView.AddChidren(addButton);
|
addButton.Show(device);
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
};
|
|
|
}
|
else
|
{
|
|
var btn = new Button()
|
{
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetRealWidth(88),
|
Height = Application.GetRealHeight(40),
|
Radius = (uint)Application.GetRealHeight(18),
|
BorderColor = CSS_Color.PromptingColor1,
|
BorderWidth = (uint)Application.GetRealWidth(2),
|
TextAlignment = TextAlignment.Center,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
SelectedTextColor = CSS_Color.MainBackgroundColor,
|
SelectedBackgroundColor = CSS_Color.MainColor,
|
};
|
if (attr.value.Count > 0)
|
{
|
btn.Text = attr.value[0];
|
}
|
if (index % 3 == 1)
|
{
|
btn.Gravity = Gravity.Center;
|
}
|
else if (index % 3 == 2)
|
{
|
btn.X = Application.GetRealWidth(208);
|
}
|
row.AddChidren(btn);
|
|
btn.MouseUpEventHandler = (sender, e) =>
|
{
|
Dictionary<string, string> d = new Dictionary<string, string>();
|
d.Add(attr.key, "");
|
Control.Ins.SendWriteCommand(device, d);
|
|
new System.Threading.Thread(() =>
|
{
|
System.Threading.Thread.Sleep(2000);
|
Application.RunOnMainThread(() =>
|
{
|
btn.IsSelected = false;
|
});
|
})
|
{ IsBackground = true }.Start();
|
};
|
|
}
|
|
index++;
|
}
|
|
dialog.Show();
|
}
|
|
|
#endregion
|
|
#region ■ 设备状态反馈_______________________
|
|
/// <summary>
|
/// 设备状态反馈
|
/// </summary>
|
/// <param name="i_LocalDevice"></param>
|
public override void DeviceStatuPush(Function i_LocalDevice)
|
{
|
//不是同一个东西
|
if (this.device.sid != i_LocalDevice.sid) { return; }
|
|
//刷新当前设备的状态缓存
|
this.RefreshNowDeviceStatuMemory(i_LocalDevice);
|
//刷新界面状态
|
this.RefreshFormStatu();
|
}
|
|
#endregion
|
|
#region ■ 发送各种命令_______________________
|
|
/// <summary>
|
/// 温度改变模式
|
/// </summary>
|
void LoadEvent_TempChange()
|
{
|
btnMinus.MouseUpEventHandler = (sender, e) =>
|
{
|
if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
|
{
|
return;
|
}
|
var temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp));
|
if (temp <= device.GetAttribute(FunctionAttributeKey.Mode).min)
|
{
|
return;
|
}
|
temp--;
|
arcBar.Progress = temp;
|
btnTemp.Text = temp.ToString();
|
device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
|
Control.Ins.SendWriteCommand(device, d);
|
};
|
btnPlus.MouseUpEventHandler = (sender, e) =>
|
{
|
if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
|
{
|
return;
|
}
|
var temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp));
|
if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max)
|
{
|
return;
|
}
|
temp++;
|
arcBar.Progress = temp;
|
btnTemp.Text = temp.ToString();
|
device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
|
Control.Ins.SendWriteCommand(device, d);
|
};
|
arcBar.OnStopTrackingTouchEvent = (sender, e) =>
|
{
|
device.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
|
btnTemp.Text = arcBar.Progress.ToString();
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
|
Control.Ins.SendWriteCommand(device, d);
|
};
|
arcBar.OnProgressChangedEvent = (sender, e) =>
|
{
|
device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString());
|
btnTemp.Text = e.ToString();
|
};
|
//arcBar.MouseDownEventHandler = (sender, e) => {
|
// Console.WriteLine("ddd");
|
// MainPage.BasePageView.ScrollEnabled =false;
|
//};
|
//arcBar.MouseUpEventHandler = (sender, e) => {
|
// Console.WriteLine("ddd2");
|
// MainPage.BasePageView.ScrollEnabled = true;
|
//};
|
}
|
/// <summary>
|
/// 控制模式事件
|
/// </summary>
|
void LoadEvent_AcStatesChange()
|
{
|
btnMode.MouseUpEventHandler = (sender, e) =>
|
{
|
if (device.trait_on_off.curValue.ToString() == "off")
|
{
|
return;
|
}
|
LoadDiv_ChangeModeView();
|
};
|
btnWindSpeed.MouseUpEventHandler = (sender, e) =>
|
{
|
if (device.trait_on_off.curValue.ToString() == "off")
|
{
|
return;
|
}
|
LoadDiv_ChangeFanView();
|
};
|
|
btnSwitch.MouseUpEventHandler = (sender, e) =>
|
{
|
btnSwitch.IsSelected = !btnSwitch.IsSelected;
|
device.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
|
if (device.trait_on_off.curValue.ToString() == "on")
|
{
|
arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
|
btnSwitch.IsSelected = true;
|
arcBar.IsOffline = false;
|
}
|
else
|
{
|
arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
|
btnSwitch.IsBold = false;
|
arcBar.IsOffline = true;
|
}
|
System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
|
d.Add(FunctionAttributeKey.OnOff, device.trait_on_off.curValue.ToString());
|
Control.Ins.SendWriteCommand(device, d);
|
};
|
}
|
|
#endregion
|
|
#region ■ 刷新界面状态_______________________
|
|
/// <summary>
|
/// 刷新界面状态
|
/// </summary>
|
private void RefreshFormStatu()
|
{
|
Application.RunOnMainThread(() =>
|
{
|
btnTemp.Text = Convert.ToDouble( device.GetAttrState(FunctionAttributeKey.SetTemp)).ToString();
|
btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp))) + "°C";
|
btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode));
|
btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed));
|
arcBar.Progress = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)));
|
if (device.trait_on_off.curValue.ToString() == "on")
|
{
|
arcBar.IsOffline = false;
|
btnSwitch.IsSelected = true;
|
arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
|
if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
|
{
|
arcBar.IsClickable = false;
|
}
|
else
|
{
|
arcBar.IsClickable = true;
|
}
|
}
|
else
|
{
|
arcBar.IsOffline = true;
|
btnSwitch.IsSelected = false;
|
arcBar.IsClickable = false;
|
arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
|
}
|
});
|
}
|
|
#endregion
|
|
#region ■ 一般方法___________________________
|
|
/// <summary>
|
/// 刷新当前设备的状态缓存
|
/// </summary>
|
private void RefreshNowDeviceStatuMemory(Function i_LocalDevice)
|
{
|
}
|
|
#endregion
|
}
|
}
|