博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

工作台接口是基础管理框架的核心接口.

其主要功能是
1,工作台包含的属性

定义工作空间的工程标题,工作布局管理器获取和设置方法;视图对象集合,面板对象集合,工作台窗体对象集合,当前活动工作台窗体对象,当前活动视图对象的获取等属性;

2,方法

定义工作空间显示视图,显示面板,获取面板,关闭特定视图,关闭全部视图,重绘所有组件

3,事件

定义在工作空间中视图打开后,视图关闭后,活动工作台窗体变化后三个事件,以满足视图内容的修改保存,序列化的需求.

  1using System;
  2using System.Collections.Generic;
  3using System.Text;
  4using MetaApplication.ContentInterfaces;
  5
  6namespace MetaApplication
  7{
  8    /// <summary>
  9    /// This is the basic interface to the workspace.
 10    /// </summary>

 11    public interface IWorkbench : IMementoCapable
 12    {
 13        /// <summary>
 14        /// The title shown in the title bar.
 15        /// </summary>

 16        string Title
 17        {
 18            get;
 19            set;
 20        }

 21
 22        /// <summary>
 23        /// A collection in which all active workspace windows are saved.
 24        /// </summary>

 25        List<IViewContent> ViewContentCollection
 26        {
 27            get;
 28        }

 29
 30        /// <summary>
 31        /// A collection in which all active workspace windows are saved.
 32        /// </summary>

 33        List<IPadContent> PadContentCollection
 34        {
 35            get;
 36        }

 37
 38        /// <summary>
 39        /// The active workbench window.
 40        /// </summary>

 41        IWorkbenchWindow ActiveWorkbenchWindow
 42        {
 43            get;
 44        }

 45
 46        object ActiveContent
 47        {
 48            get;
 49        }

 50
 51        IWorkbenchLayout WorkbenchLayout
 52        {
 53            get;
 54            set;
 55        }

 56
 57        /// <summary>
 58        /// Inserts a new <see cref="IViewContent"/> object in the workspace.
 59        /// </summary>

 60        void ShowView(IViewContent content);
 61
 62        /// <summary>
 63        /// Inserts a new <see cref="IPadContent"/> object in the workspace.
 64        /// </summary>

 65        void ShowPad(IPadContent content);
 66
 67        /// <summary>
 68        /// Returns a pad from a specific type.
 69        /// </summary>

 70        IPadContent GetPad(Type type);
 71
 72        /// <summary>
 73        /// Closes the IViewContent content when content is open.
 74        /// </summary>

 75        void CloseContent(IViewContent content);
 76
 77        /// <summary>
 78        /// Closes all views inside the workbench.
 79        /// </summary>

 80        void CloseAllViews();
 81
 82        /// <summary>
 83        /// Re-initializes all components of the workbench, should be called
 84        /// when a special property is changed that affects layout stuff.
 85        /// (like language change) 
 86        /// </summary>

 87        void RedrawAllComponents();
 88
 89        /// <summary>
 90        /// Is called, when a workbench view was opened
 91        /// </summary>
 92        /// <example>
 93        /// WorkbenchSingleton.WorkbenchCreated += delegate { 
 94        ///     WorkbenchSingleton.Workbench.ViewOpened += ;
 95        /// };
 96        /// </example>

 97        event EventHandler ViewOpened;
 98
 99        /// <summary>
100        /// Is called, when a workbench view was closed
101        /// </summary>

102        event EventHandler ViewClosed;
103
104        /// <summary>
105        /// Is called, when the workbench window which the user has into
106        /// the foreground (e.g. editable) changed to a new one.
107        /// </summary>

108        event EventHandler ActiveWorkbenchWindowChanged;
109    }

110}

111