zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    js去重的es6做法和es5做法
    对npm的认识
    pandas_分类与聚合
    pandas_使用透视表与交叉表查看业绩汇总数据
    pandas_使用属性接口实现高级功能
    pandas_一维数组与常用操作
    pandas_DateFrame的创建
    python 连接 mysql 的三种驱动
    Django学习路6_修改数据库为 mysql ,创建mysql及进行迁徙
    Django学习路5_更新和删除数据库表中元素
  • 原文地址:https://www.cnblogs.com/wwssgg/p/14869721.html
Copyright © 2011-2022 走看看