2012-08-05 127 views

回答

0

你应该能够做到这一点类似于MultiPageEditorPart - 它有几个addPage功能。按原样使用这个编辑器,或者用它来获取灵感。

0

太晚了,但有些人可能从这个代码中受益:

/** The text editor used in the new page. */ 
private TextEditor editor; 


private StyledText text; 
/** 
* Creates a multi-page editor example. 
*/ 
public MultiPageEditor() { 
    super(); 
    ResourcesPlugin.getWorkspace().addResourceChangeListener(this); 
} 

void createDynamicPage() { 
    try { 
     editor = new TextEditor(); 
     int index = addPage(editor, getEditorInput()); 
     setPageText(index, "new page"+index); 
    } catch (PartInitException e) { 
     ErrorDialog.openError(
      getSite().getShell(), 
      "Error creating nested editor", 
      null, 
      e.getStatus()); 
    } 
} 


void createMainPage() { 

    Composite composite = new Composite(getContainer(), SWT.NONE); 
    GridLayout layout = new GridLayout(); 
    composite.setLayout(layout); 
    layout.numColumns = 2; 

    Button clickButton = new Button(composite, SWT.NONE); 
    GridData gd = new GridData(GridData.BEGINNING); 
    gd.horizontalSpan = 2; 
    clickButton.setLayoutData(gd); 
    clickButton.setText("click"); 

    clickButton.addSelectionListener(new SelectionAdapter() { 
     public void widgetSelected(SelectionEvent event) { 
      createDynamicPage(); 
     } 
    }); 

    int index = addPage(composite); 

    setPageText(index, "main page"); 
} 

/** 
* Creates the pages of the multi-page editor. 
*/ 
protected void createPages() { 
    createMainPage();