using System;
|
using System.Collections.Generic;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.CSS;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public partial class TopViewDiv
|
{
|
/// <summary>
|
/// 父窗体
|
/// </summary>
|
FrameLayout baseView;
|
/// <summary>
|
/// 父窗体Dialog
|
/// </summary>
|
Dialog baseDialog;
|
/// <summary>
|
/// 内容区域
|
/// </summary>
|
FrameLayout contentView;
|
|
/// <summary>
|
/// 后退按钮
|
/// </summary>
|
Button btnBack;
|
|
/// <summary>
|
/// 标题名称
|
/// </summary>
|
string title;
|
|
/// <summary>
|
/// 是否需要关闭页面
|
/// </summary>
|
bool needClose = true;
|
|
/// <summary>
|
/// 后退时触发对事件
|
/// </summary>
|
Action backAction;
|
|
public TopViewDiv(FrameLayout frame, string str)
|
{
|
baseView = frame;
|
title = str;
|
}
|
|
/// <summary>
|
/// TopViewDiv
|
/// </summary>
|
/// <param name="frame">父控件</param>
|
/// <param name="title">标题</param>
|
/// <param name="needClose">是否需要关闭页面</param>
|
public TopViewDiv(FrameLayout frame, string title, bool needClose)
|
{
|
baseView = frame;
|
this.title = title;
|
this.needClose = needClose;
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="dialog">显示的dialog</param>
|
/// <param name="frame">dialog的父窗体</param>
|
/// <param name="str">标题文本</param>
|
public TopViewDiv(Dialog dialog, FrameLayout frame, string str)
|
{
|
baseDialog = dialog;
|
baseView = frame;
|
title = str;
|
}
|
|
|
/// <summary>
|
/// 向framelayout添加顶部区域
|
/// </summary>
|
/// <param name="frame"></param>
|
/// <param name="tilte"></param>
|
public void LoadTopView()
|
{
|
contentView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(64),
|
BackgroundColor = CSS_Color.TopViewColor,
|
};
|
baseView.AddChidren(contentView);
|
|
Button btnBackIcon = new Button()
|
{
|
X = Application.GetRealWidth(10),
|
Y = Application.GetRealHeight(29),
|
Width = Application.GetRealWidth(40),
|
Height = Application.GetRealWidth(28),
|
UnSelectedImagePath = "Public/BackIcon.png",
|
};
|
contentView.AddChidren(btnBackIcon);
|
|
btnBack = new Button()
|
{
|
Width = Application.GetRealWidth(100),
|
};
|
contentView.AddChidren(btnBack);
|
|
Button btnTilte = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(30),
|
Width = Application.GetRealWidth(270),
|
Height = Application.GetRealHeight(25),
|
TextAlignment = TextAlignment.Center,
|
TextSize = CSS_FontSize.HeadlineFontSize,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
Text = title
|
};
|
contentView.AddChidren(btnTilte);
|
|
|
LoadEventList();
|
}
|
/// <summary>
|
/// 拥有一个回调事件
|
/// </summary>
|
/// <param name="backAct"></param>
|
public void LoadTopView(Action backAct)
|
{
|
backAction = backAct;
|
|
LoadTopView();
|
}
|
|
public void LoadTopView_RoomTop(Action backAction ,Action editAction)
|
{
|
this.backAction = backAction;
|
|
LoadTopView();
|
|
var btnSetting = new Button()
|
{
|
X = Application.GetRealWidth(337),
|
Y = Application.GetRealHeight(29),
|
Width = Application.GetMinRealAverage(28),
|
Height = Application.GetMinRealAverage(28),
|
UnSelectedImagePath = "Public/FuncInfoSetIcon.png",
|
};
|
|
//如果是成员隐藏编辑功能
|
if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
|
{
|
contentView.AddChidren(btnSetting);
|
}
|
btnSetting.MouseUpEventHandler = (sender, e) =>
|
{
|
editAction();
|
};
|
}
|
|
/// <summary>
|
/// 向framelayout添加顶部区域,拥有配置图标按钮
|
/// </summary>
|
/// <param name="frame"></param>
|
/// <param name="tilte"></param>
|
public void LoadTopView_FunctionTop(Function function, Action action)
|
{
|
backAction = action;
|
|
LoadTopView();
|
|
var btnSetting = new Button()
|
{
|
X = Application.GetRealWidth(337),
|
Y = Application.GetRealHeight(28),
|
Width = Application.GetMinRealAverage(32),
|
Height = Application.GetMinRealAverage(32),
|
UnSelectedImagePath = "Public/FuncInfoSetIcon.png",
|
};
|
//如果是成员隐藏编辑功能
|
if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
|
{
|
contentView.AddChidren(btnSetting);
|
}
|
|
btnSetting.MouseUpEventHandler = (sender, e) =>
|
{
|
var infoView = new FunctionBaseInfoSetPage(function, action);
|
MainPage.BasePageView.AddChidren(infoView);
|
infoView.LoadPage();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
};
|
}
|
|
/// <summary>
|
/// 房间标题区域
|
/// </summary>
|
/// <param name="room"></param>
|
/// <param name="skipAction"></param>
|
public void LoadTopView_SettingIcon(Action skipAction)
|
{
|
LoadTopView();
|
|
var btnSetting = new Button()
|
{
|
X = Application.GetRealWidth(337),
|
Y = Application.GetRealHeight(29),
|
Width = Application.GetMinRealAverage(28),
|
Height = Application.GetMinRealAverage(28),
|
UnSelectedImagePath = "Public/FuncInfoSetIcon.png",
|
};
|
|
//如果是成员隐藏编辑功能
|
if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
|
{
|
contentView.AddChidren(btnSetting);
|
}
|
|
btnSetting.MouseUpEventHandler += (sender, e) =>
|
{
|
skipAction();
|
};
|
}
|
|
/// <summary>
|
/// 向framelayout添加顶部区域,拥有添加图标的按钮
|
/// </summary>
|
/// <param name="frame"></param>
|
/// <param name="tilte"></param>
|
public void LoadTopView_AddIcon(string type, Action<string, string> callBack)
|
{
|
LoadTopView();
|
|
var btnAddIcon = new Button()
|
{
|
X = Application.GetRealWidth(337),
|
Y = Application.GetRealHeight(29),
|
Width = Application.GetMinRealAverage(28),
|
Height = Application.GetMinRealAverage(28),
|
UnSelectedImagePath = "Public/AddIcon.png",
|
};
|
contentView.AddChidren(btnAddIcon);
|
|
btnAddIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
if (type == "floors")
|
{
|
Action<string> callBackAction = (floorName) =>
|
{
|
callBack("add", floorName);
|
};
|
string newFloorName = "1F";
|
for (int i = 0; i < SpatialInfo.CurrentSpatial.FloorList.Count + 1;)
|
{
|
newFloorName = ++i + "F";
|
if (null == SpatialInfo.CurrentSpatial.FloorList.Find((obj) => obj.roomName == newFloorName))
|
{
|
break;
|
}
|
}
|
var fs = new List<string>();
|
foreach (var f in SpatialInfo.CurrentSpatial.FloorList)
|
{
|
fs.Add(f.roomName);
|
}
|
new PublicAssmebly().LoadDialog_EditParater(StringId.AddFloors, newFloorName, callBackAction, StringId.FloorNameCannotBeEmpty,
|
StringId.AddFloorFailed_FloorAlreadyExist, fs);
|
}
|
else
|
{
|
callBack("", "");
|
}
|
};
|
}
|
|
/// <summary>
|
/// 楼层管理顶部栏
|
/// </summary>
|
public void LoadTopView_FloorTopView(Action<string> callBack,Action action)
|
{
|
LoadTopView();
|
|
backAction = action;
|
|
var btnAddIcon = new Button()
|
{
|
X = Application.GetRealWidth(337),
|
Y = Application.GetRealHeight(29),
|
Width = Application.GetMinRealAverage(28),
|
Height = Application.GetMinRealAverage(28),
|
UnSelectedImagePath = "Public/AddIcon.png",
|
};
|
contentView.AddChidren(btnAddIcon);
|
|
btnAddIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
Action<string> callBackAction = (floorName) =>
|
{
|
callBack(floorName);
|
};
|
string newFloorName = "1F";
|
for (int i = 0; i < SpatialInfo.CurrentSpatial.FloorList.Count + 1;)
|
{
|
newFloorName = ++i + "F";
|
if (null == SpatialInfo.CurrentSpatial.FloorList.Find((obj) => obj.roomName == newFloorName))
|
{
|
break;
|
}
|
}
|
var fs = new List<string>();
|
foreach (var f in SpatialInfo.CurrentSpatial.FloorList)
|
{
|
fs.Add(f.roomName);
|
}
|
new PublicAssmebly().LoadDialog_EditParater(StringId.AddFloors, newFloorName, callBackAction, StringId.FloorNameCannotBeEmpty,
|
StringId.AddFloorFailed_FloorAlreadyExist, fs);
|
};
|
}
|
/// <summary>
|
/// 房间管理顶部栏
|
/// </summary>
|
public void LoadTopView_RoomTopView(Action callBack)
|
{
|
LoadTopView();
|
|
var btnAddIcon = new Button()
|
{
|
X = Application.GetRealWidth(337),
|
Y = Application.GetRealHeight(29),
|
Width = Application.GetMinRealAverage(28),
|
Height = Application.GetMinRealAverage(28),
|
UnSelectedImagePath = "Public/AddIcon.png",
|
};
|
contentView.AddChidren(btnAddIcon);
|
|
btnAddIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
callBack?.Invoke();
|
};
|
}
|
/// <summary>
|
/// 成员顶部栏
|
/// </summary>
|
public void LoadTopView_MemberTopView(Action callBack, Action action)
|
{
|
LoadTopView();
|
backAction = action;
|
|
var btnAddIcon = new Button()
|
{
|
X = Application.GetRealWidth(337),
|
Y = Application.GetRealHeight(29),
|
Width = Application.GetMinRealAverage(28),
|
Height = Application.GetMinRealAverage(28),
|
UnSelectedImagePath = "Public/AddIcon.png",
|
};
|
contentView.AddChidren(btnAddIcon);
|
|
btnAddIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
callBack?.Invoke();
|
};
|
}
|
}
|
}
|