本接口定义布局管理器如何管理工作空间中各GUI要素的布局。比如面板的显示、隐藏状态,面板、工作台窗体(视图)的配置,活动面板,显示、隐藏面板,重绘工作台窗体和面板。
定义属性:
活动工作台窗体,当前活动的视图内容。
定义方法:
驻于内存,从内存中撤出,显示面板,使面板处于活动状态,隐藏面板,判断面板是否可见,重绘所有组件,导入配合信息,恢复配置信息,活动的工作台窗体发生变化
定义事件:
活动工作台窗体变化时触发的事件。
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4![]()
5
namespace MetaApplication
6
{
7
/// <summary>
8
/// The IWorkbenchLayout object is responsible for the layout of
9
/// the workspace, it shows the contents, chooses the IWorkbenchWindow
10
/// implementation etc. it could be attached/detached at the runtime
11
/// to a workbench.
12
/// </summary>
13
public interface IWorkbenchLayout
14
{
15
IWorkbenchWindow ActiveWorkbenchwindow
16
{
17
get;
18
}
19![]()
20
object ActiveContent
21
{
22
get;
23
}
24![]()
25
/// <summary>
26
/// Attaches this layout manager to a workbench object.
27
/// </summary>
28
void Attach(IWorkbench workbench);
29![]()
30
/// <summary>
31
/// Detaches this layout manager from the current workspace.
32
/// </summary>
33
void Detach();
34![]()
35
/// <summary>
36
/// Shows a new <see cref="IPadContent"/>.
37
/// </summary>
38
void ShowPad(IPadContent content);
39![]()
40
/// <summary>
41
/// Activates a pad (Show only makes it visible but Activate does
42
/// bring it to foreground)
43
/// </summary>
44
void ActivatePad(IPadContent content);
45
void ActivatePad(string fullyQualifiedTypeName);
46![]()
47
/// <summary>
48
/// Hides a new <see cref="IPadContent"/>.
49
/// </summary>
50
void HidePad(IPadContent content);
51![]()
52
/// <summary>
53
/// returns true, if padContent is visible;
54
/// </summary>
55
bool IsVisible(IPadContent padContent);
56![]()
57
/// <summary>
58
/// Re-initializes all components of the layout manager.
59
/// </summary>
60
void RedrawAllComponents();
61![]()
62
/// <summary>
63
/// Shows a new <see cref="IViewContent"/>.
64
/// ?????不明白干什么用的,后续会如何使用
65
/// </summary>
66
IWorkbenchWindow ShowView(IViewContent content);
67![]()
68![]()
69
void LoadConfiguration();
70
void StoreConfiguration();
71![]()
72
/// <summary>
73
/// Is called, when the workbench window which the user has into
74
/// the foreground (e.g. editable) changed to a new one.
75
/// </summary>
76
event EventHandler ActiveWorkbenchWindowChanged;
77![]()
78
// only needed in the workspace window when the 'secondary view content' changed
79
// it is somewhat like 'active workbench window changed'
80
void OnActiveWorkbenchWindowChanged(EventArgs e);
81
}
82
}
83![]()
using System;2
using System.Collections.Generic;3
using System.Text;4

5
namespace MetaApplication6
{7
/// <summary>8
/// The IWorkbenchLayout object is responsible for the layout of 9
/// the workspace, it shows the contents, chooses the IWorkbenchWindow10
/// implementation etc. it could be attached/detached at the runtime11
/// to a workbench.12
/// </summary>13
public interface IWorkbenchLayout14
{15
IWorkbenchWindow ActiveWorkbenchwindow16
{17
get;18
}19

20
object ActiveContent21
{22
get;23
}24

25
/// <summary>26
/// Attaches this layout manager to a workbench object.27
/// </summary>28
void Attach(IWorkbench workbench);29

30
/// <summary>31
/// Detaches this layout manager from the current workspace.32
/// </summary>33
void Detach();34

35
/// <summary>36
/// Shows a new <see cref="IPadContent"/>.37
/// </summary>38
void ShowPad(IPadContent content);39

40
/// <summary>41
/// Activates a pad (Show only makes it visible but Activate does42
/// bring it to foreground)43
/// </summary>44
void ActivatePad(IPadContent content);45
void ActivatePad(string fullyQualifiedTypeName);46

47
/// <summary>48
/// Hides a new <see cref="IPadContent"/>.49
/// </summary>50
void HidePad(IPadContent content);51

52
/// <summary>53
/// returns true, if padContent is visible;54
/// </summary>55
bool IsVisible(IPadContent padContent);56

57
/// <summary>58
/// Re-initializes all components of the layout manager.59
/// </summary>60
void RedrawAllComponents();61

62
/// <summary>63
/// Shows a new <see cref="IViewContent"/>.64
/// ?????不明白干什么用的,后续会如何使用65
/// </summary>66
IWorkbenchWindow ShowView(IViewContent content);67

68

69
void LoadConfiguration();70
void StoreConfiguration();71

72
/// <summary>73
/// Is called, when the workbench window which the user has into74
/// the foreground (e.g. editable) changed to a new one.75
/// </summary>76
event EventHandler ActiveWorkbenchWindowChanged;77

78
// only needed in the workspace window when the 'secondary view content' changed79
// it is somewhat like 'active workbench window changed'80
void OnActiveWorkbenchWindowChanged(EventArgs e);81
}82
}83



浙公网安备 33010602011771号