You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
192 lines
6.4 KiB
C#
192 lines
6.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using Mesnac.PlugIn.Pad;
|
|
using Mesnac.PlugIn.View;
|
|
|
|
namespace Mesnac.PlugIn.Workbench
|
|
{
|
|
/// <summary>
|
|
/// 工作区基础接口
|
|
/// </summary>
|
|
public interface IWorkbench
|
|
{
|
|
/// <summary>
|
|
/// 工作区主菜单
|
|
/// </summary>
|
|
MenuStrip TopMenu { get; }
|
|
/// <summary>
|
|
/// 工作区工具栏
|
|
/// </summary>
|
|
ToolStrip ToolStrip { get; }
|
|
/// <summary>
|
|
/// 工作台布局属性
|
|
/// </summary>
|
|
IWorkbenchLayout WorkbenchLayout { get; set; }
|
|
/// <summary>
|
|
/// 是否全屏
|
|
/// </summary>
|
|
bool FullScreen { get; set; }
|
|
/// <summary>
|
|
/// 系统关闭标识
|
|
/// </summary>
|
|
bool CloseFlag { get; set; }
|
|
/// <summary>
|
|
/// 标题,显示在标题栏
|
|
/// </summary>
|
|
string Title { get; set; }
|
|
/// <summary>
|
|
/// 用于保存的工作区面板集合,只读
|
|
/// </summary>
|
|
List<PadDescriptor> PadContentCollection { get; }
|
|
/// <summary>
|
|
/// 用于保存设计时工作区窗口的集合
|
|
/// </summary>
|
|
List<IViewContent> ViewContentCollection { get; }
|
|
/// <summary>
|
|
/// 用于保存运行时工作区窗口的字典
|
|
/// </summary>
|
|
Dictionary<string, IViewContent> ViewContentDic { get; }
|
|
/// <summary>
|
|
/// 活动对象,只读
|
|
/// </summary>
|
|
object ActiveContent { get; }
|
|
/// <summary>
|
|
/// 当前视图,只读
|
|
/// </summary>
|
|
object CurrentViewContent { get; set; }
|
|
/// <summary>
|
|
/// 增加一个新的<see cref="IPadContent"/>对象在工作区中
|
|
/// </summary>
|
|
/// <param name="content"></param>
|
|
void ShowPad(PadDescriptor content);
|
|
/// <summary>
|
|
/// 返回一个指定类型的面板
|
|
/// </summary>
|
|
/// <param name="type"></param>
|
|
/// <returns></returns>
|
|
PadDescriptor GetPad(Type type);
|
|
/// <summary>
|
|
/// 显示一个视图窗口
|
|
/// </summary>
|
|
/// <param name="content"></param>
|
|
void ShowView(IViewContent content);
|
|
/// <summary>
|
|
/// 显示一个视图窗口
|
|
/// </summary>
|
|
/// <param name="content">视图内容</param>
|
|
/// <param name="isAllowRepeat">是否允许重复保存</param>
|
|
void ShowView(IViewContent content, bool isAllowRepeat);
|
|
/// <summary>
|
|
/// 显示一个视图窗口
|
|
/// </summary>
|
|
/// <param name="key">视图窗口标识</param>
|
|
/// <param name="content">视图内容</param>
|
|
void ShowView(string key, IViewContent content);
|
|
/// <summary>
|
|
/// 显示一个视图窗口
|
|
/// </summary>
|
|
/// <param name="key">视图窗口标识</param>
|
|
/// <param name="content">视图内容</param>
|
|
void ShowView(string key, IViewContent content, Mesnac.Docking.DockState dockState);
|
|
/// <summary>
|
|
/// 获取视图窗口
|
|
/// </summary>
|
|
/// <param name="key">视图窗口标识</param>
|
|
/// <returns></returns>
|
|
IWorkbenchWindow GetViewByKey(string key);
|
|
/// <summary>
|
|
/// 获取视图窗口
|
|
/// </summary>
|
|
/// <param name="titleName"></param>
|
|
/// <returns></returns>
|
|
IWorkbenchWindow GetViewByViewContentID(string viewContentID);
|
|
/// <summary>
|
|
/// 根据视图类型,获取单个视图窗口
|
|
/// </summary>
|
|
/// <param name="type"></param>
|
|
/// <returns></returns>
|
|
IWorkbenchWindow GetViewByType(Type type);
|
|
/// <summary>
|
|
/// 根据视图类型,获取对应类型的所有视图窗口
|
|
/// </summary>
|
|
/// <param name="type"></param>
|
|
/// <returns></returns>
|
|
List<IWorkbenchWindow> GetViewsByType(Type type);
|
|
/// <summary>
|
|
/// 获取自定义视图窗口集合
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
List<IWorkbenchWindow> GetCustomerViews();
|
|
/// <summary>
|
|
/// 关闭一个视图窗口
|
|
/// </summary>
|
|
/// <param name="content">要关闭的视图对象</param>
|
|
void CloseView(IViewContent content);
|
|
/// <summary>
|
|
/// 关闭一个视图窗口
|
|
/// </summary>
|
|
/// <param name="content">要关闭的视图对象</param>
|
|
/// <param name="isRealClose">是否真正关闭</param>
|
|
void CloseView(IViewContent content, bool isRealClose);
|
|
/// <summary>
|
|
/// 关闭所有视图窗口
|
|
/// </summary>
|
|
void CloseAllViews();
|
|
/// <summary>
|
|
/// 关闭所有视图窗口
|
|
/// </summary>
|
|
/// <param name="isRealClose">是否真正关闭</param>
|
|
void CloseAllViews(bool isRealClose);
|
|
/// <summary>
|
|
/// 根据键值关闭一个视图窗口
|
|
/// </summary>
|
|
/// <param name="key">要关闭的视图键值</param>
|
|
void CloseViewByKey(string key);
|
|
/// <summary>
|
|
/// 根据键值关闭一个视图窗口
|
|
/// </summary>
|
|
/// <param name="key">要关闭的视图键值</param>
|
|
/// <param name="isRealClose">是否真正关闭</param>
|
|
void CloseViewByKey(string key, bool isRealClose);
|
|
/// <summary>
|
|
/// 关闭所有的键视图窗口
|
|
/// </summary>
|
|
void CloseAllKeysView();
|
|
/// <summary>
|
|
/// 关闭所有的键视图窗口
|
|
/// </summary>
|
|
/// <param name="isRealClose">是否真正关闭</param>
|
|
void CloseAllKeysView(bool isRealClose);
|
|
/// <summary>
|
|
/// 刷新插件
|
|
/// </summary>
|
|
void RefreshPlugIn();
|
|
/// <summary>
|
|
/// 重绘所有组件
|
|
/// </summary>
|
|
void RedrawAllComponents();
|
|
/// <summary>
|
|
/// 退出系统方法
|
|
/// </summary>
|
|
void Exit();
|
|
/// <summary>
|
|
/// 刷新插件事件
|
|
/// </summary>
|
|
event EventHandler AfterRefreshPlugIn;
|
|
/// <summary>
|
|
/// 初始化完毕事件
|
|
/// </summary>
|
|
event EventHandler InitFinished;
|
|
/// <summary>
|
|
/// 刷新工作台界面事件
|
|
/// </summary>
|
|
event EventHandler RefreshUI;
|
|
/// <summary>
|
|
/// 系统即将关闭事件
|
|
/// </summary>
|
|
event EventHandler ShutDown;
|
|
}
|
|
}
|