using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
namespace IStation.WinFormUI
{
public partial class DocumentPage : DevExpress.XtraEditors.XtraUserControl
{
public DocumentPage()
{
InitializeComponent();
}
public DocumentPage(SurfaceGuid surfaceGuid)
{
InitializeComponent();
this.PageTitle = new PageTitle();
this.SurfaceGuid = surfaceGuid;
}
///
/// 加载菜单事件
///
public event Action> LoadPageMenuEvent;
protected void LoadPageMenu(SurfaceGuid sguid, List menus)
{
this.LoadPageMenuEvent?.Invoke(sguid, menus);
}
///
/// 根据字符串判断Document是否存在,
/// 第一个参数为SurfaceGuid参数类
/// 第二个参数如果页面存在是否激活页面
/// 第三个参数 存在则激活并返回TRUE,不存在返回FALSE
///
public event Func IsExistPageEvent;
protected bool IsExistPage(SurfaceGuid sguid, bool isActivateDoc)
{
if (this.IsExistPageEvent != null)
return this.IsExistPageEvent(sguid, isActivateDoc);
return false;
}
///
/// 查找Page
///
public event Func FindPageEvent;
protected DocumentPage FindPage(SurfaceGuid sguid, bool isActivateDoc)
{
if (this.FindPageEvent != null)
return this.FindPageEvent(sguid, isActivateDoc);
return null;
}
///
/// 创建Page
///
public event Func CreatePageEvent;
protected bool CreatePage(DocumentPage page, SurfaceGuid sguid)
{
if (this.CreatePageEvent != null)
return CreatePageEvent(page, sguid);
return false;
}
///
/// 更新数据事件
/// 第一个参数为SurfaceGuid
///
public event Action RefreshPageDataEvent;
protected void RefreshPageData(SurfaceGuid sguid)
{
this.RefreshPageDataEvent?.Invoke(sguid);
}
///
/// 更新PageTitle事件
///
public event Action UpdatePageTitleEvent;
protected void UpdatePageTitle(SurfaceGuid sguid, PageTitle title)
{
this.UpdatePageTitleEvent?.Invoke(sguid, title);
}
///
/// 关闭Page事件
///
public event Action ClosePageEvent;
protected void ClosePage(SurfaceGuid sguid)
{
this.ClosePageEvent?.Invoke(sguid);
}
///
/// 重置所有页面事件
///
public event Action ResetAllPagesEvent;
protected void ResetAllPages()
{
this.ResetAllPagesEvent?.Invoke();
}
///
/// 头部部分
///
public PageTitle PageTitle { get; set; } = new PageTitle();
///
/// 自身标识
///
public SurfaceGuid SurfaceGuid { get; set; }
///
/// 初始化数据
///
public virtual void InitialDataSource()
{
}
///
/// 刷新数据
///
public virtual void RefreshDataSource()
{
}
///
/// 关闭时调用
///
public virtual void Close()
{
}
///
/// 是否可以关闭
///
public virtual bool CanClose()
{
return true;
}
///
/// 注册事件
///
public virtual void RegistEvents()
{
}
///
/// 取消注册事件
///
public virtual void UnRegistEvents()
{
}
}
}