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.

78 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using Mesnac.PlugIn.Pad;
using Mesnac.PlugIn.View;
using Mesnac.Docking;
namespace Mesnac.PlugIn.Workbench
{
/// <summary>
/// 工作区布局接口,用于在运行时附件/分离工作区内容(面板和文档)
/// </summary>
public interface IWorkbenchLayout
{
/// <summary>
/// 所属工作台对象
/// </summary>
object Owner { get; set; }
/// <summary>
/// 活动对象,只读
/// </summary>
object ActiveConent { get; }
/// <summary>
/// 布局管理容器中的内容集合
/// </summary>
Dictionary<string, DockContent> ContentHash { get; }
/// <summary>
/// 附加工作台
/// </summary>
void Attach();
/// <summary>
/// 分离工作台
/// </summary>
void Detach();
/// <summary>
/// 设置全屏的面板状态
/// </summary>
/// <param name="flag">是否全屏</param>
void SetFullScreenPads(bool flag);
/// <summary>
/// 显示面板
/// </summary>
/// <param name="content"></param>
void ShowPad(PadDescriptor content);
/// <summary>
/// 显示面板的同时指定是否激活
/// </summary>
/// <param name="conent"></param>
/// <param name="bActivateIt"></param>
void ShowPad(PadDescriptor content, bool bActivateIt);
/// <summary>
/// 显示视图内容
/// </summary>
/// <param name="content"></param>
/// <returns></returns>
IWorkbenchWindow ShowView(IViewContent content);
/// <summary>
/// 显示视图窗口
/// </summary>
/// <param name="content">要显示的视图内容</param>
/// <param name="dockState">要显示的视图状态</param>
/// <returns></returns>
IWorkbenchWindow ShowView(IViewContent content, DockState dockState);
/// <summary>
/// 重绘所有组件
/// </summary>
void RedrawAllComponents();
/// <summary>
/// 加载配置
/// </summary>
void LoadConfiguration();
/// <summary>
/// 保存配置
/// </summary>
void StoreConfiguration();
}
}