2013-01-03 104 views
-1

我有一個RCP程序,包含3個部分 - 2個視圖(左側,2個部分)和各種編輯器(右側和另一個部分)。 在我的觀點我有樹,我可以打開編輯器(其他部分)。 在編輯,我可以打開另一個編輯器,但我需要過去,當我打電話編輯的對象,我做它:addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) {....使用另一個編輯器上的按鈕打開編輯器RCP,SWT,JAVA

我的按鈕:

btnNewButton.addMouseListener(new MouseAdapter() { 
      @Override 
      public void mouseDown(MouseEvent e) { 

        IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class); 

        try { 
         handlerService.executeCommand("XPTO.command", null); 
        } catch (Exception ex) { 
         throw new RuntimeException(
           "XPTO"); 
        } 
       } 
      }); 

我的命令:

public class CallEditors extends AbstractHandler { 

@Override 
public Object execute(ExecutionEvent event) throws ExecutionException { 
    System.out.println("calledEditor"); 

    // Get the view 
    IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event); 

    IWorkbenchPage page = window.getActivePage(); 

    Editor navEditor = (Editor) page.findEditor(Editor.IDI); 

}}

感謝


我有了答案:

btnNewButton.addMouseListener(new MouseAdapter() { 
      @Override 
      public void mouseDown(MouseEvent e) { 

       // Get the view 
       IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); 

       IWorkbenchPage page = window.getActivePage(); 


        Object obj = btnNewButton.getData(); 

        if (obj != null) { 


         xPTO input = new xPTO(); 
          try { 

           page.openEditor(input, xptoEditor.ID, false); 
           } catch (PartInitException e1) { 
            throw new RuntimeException(e1); 
           } 
         } 

}

+1

什麼是這裏的問題? –

+0

如何在另一個編輯器上使用按鈕打開編輯器? – kaub0st3r

回答

2

使用IWorkbenchPage#openEditor(..)

相關問題