• RCP表单编辑器---》三、多页编辑器


    多页编辑器可以同时打开多个页面,每个页面可以是一个编辑器IEditorPart,也可以是普通控件Control。

    1、该编辑器对应的类为MutiEditorSample,该类要继承自MultiPageEditorPart类才可以实现多页显示效果。代码如下:

    package com.testrcp.myrcp.editors;
    import org.eclipse.core.runtime.IProgressMonitor;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.widgets.Label;
    import org.eclipse.ui.PartInitException;
    import org.eclipse.ui.part.MultiPageEditorPart;
    
    public class MutiEditorSample extends MultiPageEditorPart  {
    	//该编辑器的标识
    	public static final String ID = "com.testrcp.myrcp.editors.MutiEditorSample";
    	private JsEditor page1 ;//编辑器对象
    	private JsEditor page2 ;//编辑器对象
    	private Label control1 ;//标签对象
    	
    	//父类中抽象方法
    	protected void createPages() {
    		//创建页面和标签对象
    		page1 = new JsEditor();
    		page2 = new JsEditor();
    		control1 = new Label ( getContainer(), SWT.NONE);
    		control1.setText("这是一个标签");
    		try {
    			//添加第一页
    			addPage( page1 , new JsEditorInput("One"));
    			//设置选项卡的名称
    			setPageText(0,"One");
    			//添加第二页
    			addPage( page2 , new JsEditorInput("Two"));
    			setPageText(1,"Two");
    			//添加第三页,为一个标签
    			addPage(control1);
    			setPageText(2,"Three");
    		} catch (PartInitException e) {
    			e.printStackTrace();
    		}
    	}
    	
    	public void doSave(IProgressMonitor monitor) {
    		
    	}
    	
    	public void doSaveAs() {
    		
    	}
    	
    	public boolean isSaveAsAllowed() {
    		return false;
    	}
    }
    

    2、在plugin.xml配置一个新的编辑器。内容如下:

    <extension
             point="org.eclipse.ui.editors">
          <editor
                class="com.testrcp.myrcp.editors.MutiEditorSample"
                default="false"
                icon="icons/alt_window_16.gif"
                id="com.testrcp.myrcp.editors.MutiEditorSample"
                name="多页编辑器">
          </editor>
       </extension>

    3、效果如图:

     4、获取源码

    链接:https://pan.baidu.com/s/1GjtxKitstcsdX2HvBSfJAg
    提取码:oeah

  • 相关阅读:
    JavaScript 弹窗
    创建对象构造器
    DOM事件
    document对象“还在更新”
    JavaScript 闭包
    使用 "use strict" 指令
    constructor 属性
    2019暑期集训第一周小结
    无向图求割边
    矩阵快速幂
  • 原文地址:https://www.cnblogs.com/wwssgg/p/14869721.html
Copyright © 2020-2023  润新知