码迷,mamicode.com
首页 > 其他好文 > 详细

RCP中showView方法的说明 .

时间:2014-11-07 11:10:27      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   ar   sp   on   art   问题   log   

当我们需要显示一个视图时,一般是通过调用IWorkbenchWindow中的getActivePage().showView方法, 但我们有一个问题,就是一般在透视图中,可能由多个部分构成,那么,这个showView到底是要显示在哪里呢?所以我们需要先解决这个问题.

要解决在哪里进行显示,需要在透视图中进行设置,用到的是IFolderLayout中的addPlaceholder方法,示例代码如下:

IFolderLayout folder =layout.createFolder("messages", IPageLayout.BOTTOM, 0.5f,NavigationView.ID);

                   folder.addPlaceholder(View.ID+ ":*");

这样,当我们调用showView时,就会按这指定的View.ID,将其显示在folder在整个透视图中所占的位置了.

如果我们想在同一个地方允许多个不同的视图进行停靠的话,则继续通过addPlaceholder方法进行设置就行了,示例代码如下:

IFolderLayout folder =layout.createFolder("messages", IPageLayout.BOTTOM, 0.5f,NavigationView.ID);

                   folder.addPlaceholder(View.ID+ ":*");

                   folder.addView(View.ID);

                   folder.addPlaceholder(ViewPart1.ID+ ":*");

Perspective中addPlaceholder的作用表示预留一个视图空间,该方法添加的视图不会显示在界面上,但是当通过操作打开该设定的

视图时,将会在该设定的位置打开,而不是随意打开该视图。简单的说就是为指定的视图预留

一个空间,一旦视图打开就在该空间显示。

只是占个位,以便于同样的视图ID的查找用。

另外,如果允许多个相同的视图进行停靠的话,则需要将对应的视图中的allowMultiple设置为true即可.

 

转自:http://blog.csdn.net/qiuhong101/article/details/7427835

RCP中showView方法的说明 .

标签:blog   http   io   ar   sp   on   art   问题   log   

原文地址:http://www.cnblogs.com/mr-boy/p/4080644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!