2014年8月29日 透视图补充及视图开头

上次的透视图说漏了一个扩展点org.eclipse.ui.perspectiveExtensions,这次补起来。

正好上篇菜单中上下文菜单因为没有视图(透视图里面说的那些系统自带的暂时不用)所以还没讲,这次也一并开个头。

还是老样子,在之前的RCP基础上增加视图的扩展点org.eclipse.ui.views,添加一个视图。

 

package myrcp.views;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.part.ViewPart;

public class ViewPart1 extends ViewPart {
    public ViewPart1() {
    }

    //主要方法,用来描绘这个视图该长成什么样
    @Override
    public void createPartControl(Composite parent) {
        Text text = new Text(parent, SWT.BORDER);
        text.setText("这里是用户界面");
    }

    @Override
    public void setFocus() {

    }
}

 

第二步,把这个视图加入到我们的透视图中去。

添加org.eclipse.ui.perspectiveExtensions拓展点,按图中所示添加刚才的视图

从这张图可以看出,这个拓展点可以对透视图里的action 菜单 工具条 新建想到 透视图 视图等快捷方式进行显示控制。

 

透视图类中修改代码:

package myrcp.perspective;

import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;

public class PerspectiveFactory implements IPerspectiveFactory {

    @Override
    public void createInitialLayout(IPageLayout layout) {
        //MyRCP.view1为我们的视图ID
        layout.addView("MyRCP.view1", IPageLayout.TOP,
                IPageLayout.RATIO_MAX, IPageLayout.ID_EDITOR_AREA);
    }

}

 

运行,界面如图:

 

如何显示透视图工具条

再添加一个透视图,代码如下:

package myrcp.perspective;

import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;

public class PerspectiveFactory4 implements IPerspectiveFactory {

    @Override
    public void createInitialLayout(IPageLayout layout) {
        //MyRCP.view1为我们的视图ID
        String editorArea = layout.getEditorArea();
        layout.setEditorAreaVisible(false);
        //设置视图为不可动
        layout.setFixed(true);
        layout.addStandaloneView("MyRCP.view1",  false, IPageLayout.LEFT, 1.0f, editorArea);
    }

}

 

在ApplicationWorkbenchWindowAdvisor类中的preWindowOpen方法中添加一句:

 //是否显示透视图工具条
 configurer.setShowPerspectiveBar(true);

 

再次运行,可以显示透视图工具条和添加的透视图了。

 

参考文章:

http://www.vogella.com/tutorials/Eclipse3RCP/article.html

原文地址:https://www.cnblogs.com/demonrain/p/3945348.html