using System;
|
using Shared;
|
using Shared.SimpleControl.R;
|
using System.Collections.Generic;
|
using Shared.SimpleControl;
|
using Shared.SimpleControl.Phone;
|
|
namespace SmartHome.UI.SimpleControl.Phone
|
{
|
public class PanelListPage : FrameLayout
|
{
|
public void Show ()
|
{
|
|
this.BackgroundColor = SkinStyle.Current.MusicTopFrameLayout;
|
var topFrameLayout = new FrameLayout {
|
Height = Application.GetRealHeight (90),
|
Y = Application.GetRealHeight (36),
|
BackgroundColor = SkinStyle.Current.MusicTopFrameLayout,
|
};
|
AddChidren (topFrameLayout);
|
|
var btnTitle = new Button {
|
TextID = MyInternationalizationString.panellist,
|
TextColor = SkinStyle.Current.MusicTextColor,
|
TextSize = 17,
|
|
};
|
topFrameLayout.AddChidren (btnTitle);
|
|
var back = new Button {
|
Width = Application.GetRealWidth (82),
|
Height = Application.GetRealHeight (89),
|
X = Application.GetRealWidth (10),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "MusicIcon/HomepageBack.png",
|
};
|
topFrameLayout.AddChidren (back);
|
back.MouseDownEventHandler += (sender, e) => {
|
RemoveFromParent ();
|
};
|
|
var hdl = new Button {
|
Width = Application.GetRealWidth (154),
|
Height = Application.GetRealHeight (90),
|
X = Application.GetRealWidth (486),
|
Gravity = Gravity.CenterVertical,
|
//UnSelectedImagePath = MainPage.LogoString,
|
};
|
topFrameLayout.AddChidren (hdl);
|
|
var tempFrameLayout = new FrameLayout {
|
Y = topFrameLayout.Bottom,
|
Height = Application.GetRealHeight (1136 - 126),
|
//BackgroundImagePath = "MusicIcon/HomepageBackgroun.png",
|
BackgroundColor = SkinStyle.Current.MusicVerticalScrolViewLayout,
|
};
|
AddChidren (tempFrameLayout);
|
|
VerticalScrolViewLayout middle = new VerticalScrolViewLayout ();
|
tempFrameLayout.AddChidren (middle);
|
|
RefreshView (middle);
|
|
}
|
/// <summary>
|
/// 加载毅面板的界面
|
/// </summary>
|
/// <param name="middle"></param>
|
void RefreshView (VerticalScrolViewLayout middle)
|
{
|
middle.RemoveAll ();
|
for (int i = 0; i < YIPanel.yIPaneList.Count; i++) {
|
var yipanel = YIPanel.yIPaneList [i];
|
var rowpanel = new RowLayout {
|
Height = Application.GetRealHeight (100),
|
};
|
middle.AddChidren (rowpanel);
|
|
var panelname = new Button {
|
Width = Application.GetRealWidth (200),
|
Height = Application.GetRealHeight (100),
|
X = Application.GetRealWidth (20),
|
Gravity = Gravity.CenterVertical,
|
Text = yipanel.Name,
|
TextAlignment = TextAlignment.CenterLeft,
|
};
|
rowpanel.AddChidren (panelname);
|
|
var buteditor = new Button {
|
Height = Application.GetRealHeight (90),
|
Width = Application.GetRealWidth (70),
|
UnSelectedImagePath = "Item/Editor.png",
|
SelectedImagePath = "Item/EditorSelected.png",
|
Gravity = Gravity.CenterVertical,
|
X = Application.GetRealWidth (525),
|
};
|
rowpanel.AddChidren (buteditor);
|
|
buteditor.MouseUpEventHandler += (sender, e) => {
|
#region 编辑名称View
|
var dialog = new Dialog {
|
Height = Application.GetRealHeight (350),
|
Width = Application.GetRealWidth (520),
|
BackgroundColor = 0xffffffff,
|
};
|
|
var btnname = new Button {
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth (520),
|
Height = Application.GetRealHeight (80),
|
//Text = "修改名称",
|
TextID = MyInternationalizationString.thename,
|
TextSize = 16,
|
BackgroundColor = 0xff838383,
|
};
|
dialog.AddChidren (btnname);
|
|
var yipanelTextBox = new EditText () {
|
Y = btnname.Bottom + Application.GetRealHeight (55),
|
Width = Application.GetRealWidth (460),
|
Height = Application.GetRealHeight (80),
|
X = Application.GetRealWidth (30),
|
Radius = (uint)Application.GetRealHeight (2),
|
Text = yipanel.Name,
|
BorderWidth = 1,
|
BorderColor = 0xff838383,
|
TextColor = 0xff838383,
|
TextAlignment = TextAlignment.Center,
|
|
};
|
dialog.AddChidren (yipanelTextBox);
|
|
var BottomView = new FrameLayout () {
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (80),
|
Y = dialog.Height - Application.GetRealHeight (80),
|
};
|
dialog.AddChidren (BottomView);
|
|
var cancel = new Button {
|
//Text = "取消",
|
TextID = MyInternationalizationString.cancel,
|
TextSize = 16,
|
Width = Application.GetRealWidth (259),
|
Height = Application.GetRealHeight (80),
|
BackgroundColor = 0xff838383,
|
};
|
BottomView.AddChidren (cancel);
|
cancel.MouseUpEventHandler += (sender11, e11) => {
|
dialog.Close ();
|
};
|
|
var btnLineS = new Button () {
|
Width = Application.GetRealWidth (2),
|
Height = Application.GetRealHeight (80),
|
X = cancel.Right,
|
};
|
BottomView.AddChidren (btnLineS);
|
var Confirm = new Button {
|
X = btnLineS.Right,
|
//Text = "确定",
|
TextID = MyInternationalizationString.confirm,
|
TextSize = 16,
|
BackgroundColor = 0xff838383,
|
Width = Application.GetRealWidth (260),
|
Height = Application.GetRealHeight (80),
|
};
|
BottomView.AddChidren (Confirm);
|
|
|
Confirm.MouseUpEventHandler += (sender1, e1) => {
|
var Name = yipanelTextBox.Text.Trim ();
|
if (string.IsNullOrEmpty (Name)) {
|
new Alert (Language.StringByID (MyInternationalizationString.Tip), Language.StringByID (MyInternationalizationString.PleaseEnterLogicName), Language.StringByID (MyInternationalizationString.Close)).Show ();
|
return;
|
}
|
var yipanelname = YIPanel.yIPaneList.Find ((yIPanel) => yIPanel.Name == Name);
|
if (yipanelname != null) {
|
new Alert (Language.StringByID (MyInternationalizationString.Tip), Language.StringByID (MyInternationalizationString.Rename), Language.StringByID (MyInternationalizationString.Close)).Show ();
|
return;
|
}
|
yipanel.Name = Name;
|
dialog.Close ();
|
System.Threading.Tasks.Task.Run ((() => {
|
try {
|
var bytes = new byte [20];
|
var pathBytes = System.Text.Encoding.UTF8.GetBytes (yipanel.Name);
|
Array.Copy (pathBytes, 0, bytes, 0, pathBytes.Length > 20 ? 20 : pathBytes.Length);
|
Shared.Control.ControlBytesSend (Command.YIPanelName, yipanel.SubnetID, yipanel.DeviceID, bytes);
|
} catch { } finally {
|
Application.RunOnMainThread (() => {
|
UserMiddle.DevicePageView.PageIndex = 0;
|
var panelListPage = new PanelListPage ();
|
UserMiddle.DevicePageView.AddChidren (panelListPage);
|
panelListPage.Show ();
|
UserMiddle.DevicePageView.PageIndex = 1;
|
});
|
}
|
}));
|
};
|
|
var btnLine1 = new Button () {
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (2),
|
BackgroundColor = 0xff121212,
|
};
|
BottomView.AddChidren (btnLine1);
|
dialog.Show ();
|
#endregion
|
};
|
|
EventHandler<MouseEventArgs> clickpanellist = (sender, e) => {
|
YIPanel.Current = yipanel;
|
var currentYiPanel = new CurrentYiPanel ();
|
MainPage.MainFrameLayout.AddChidren (currentYiPanel);
|
currentYiPanel.Show (yipanel, panelname.Text);
|
};
|
|
rowpanel.MouseUpEventHandler += clickpanellist;
|
panelname.MouseUpEventHandler += clickpanellist;
|
|
|
var btnDel = new Button {
|
BackgroundColor = 0xFFFF0000,
|
Text = Language.StringByID (MyInternationalizationString.del),
|
};
|
rowpanel.AddRightView (btnDel);
|
btnDel.MouseUpEventHandler += (sender, e) => {
|
Shared.IO.FileUtils.DeleteFile ("Equipment_YIPanel_" + yipanel.SubnetID + "_" + yipanel.DeviceID);
|
YIPanel.yIPaneList.Remove (yipanel);
|
RefreshView (middle);
|
};
|
|
}
|
|
}
|
}
|
}
|