本接口定义布局管理器如何管理工作空间中各GUI要素的布局。比如面板的显示、隐藏状态,面板、工作台窗体(视图)的配置,活动面板,显示、隐藏面板,重绘工作台窗体和面板。
定义属性:
活动工作台窗体,当前活动的视图内容。
定义方法:
驻于内存,从内存中撤出,显示面板,使面板处于活动状态,隐藏面板,判断面板是否可见,重绘所有组件,导入配合信息,恢复配置信息,活动的工作台窗体发生变化
定义事件:
活动工作台窗体变化时触发的事件。
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
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![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
object ActiveContent
21
{
22
get;
23
}
24![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
/// <summary>
26
/// Attaches this layout manager to a workbench object.
27
/// </summary>
28
void Attach(IWorkbench workbench);
29![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
/// <summary>
31
/// Detaches this layout manager from the current workspace.
32
/// </summary>
33
void Detach();
34![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
35
/// <summary>
36
/// Shows a new <see cref="IPadContent"/>.
37
/// </summary>
38
void ShowPad(IPadContent content);
39![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
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![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
/// <summary>
48
/// Hides a new <see cref="IPadContent"/>.
49
/// </summary>
50
void HidePad(IPadContent content);
51![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
/// <summary>
53
/// returns true, if padContent is visible;
54
/// </summary>
55
bool IsVisible(IPadContent padContent);
56![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
/// <summary>
58
/// Re-initializes all components of the layout manager.
59
/// </summary>
60
void RedrawAllComponents();
61![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
/// <summary>
63
/// Shows a new <see cref="IViewContent"/>.
64
/// ?????不明白干什么用的,后续会如何使用
65
/// </summary>
66
IWorkbenchWindow ShowView(IViewContent content);
67![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69
void LoadConfiguration();
70
void StoreConfiguration();
71![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
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![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
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![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
76
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
77
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
78
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
79
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
80
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
81
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
82
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
83
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)