2010-11-28 12 views

答えて

4

よくある質問「How do I find out what view or editor is selected?」は、(それが同様に注力している場合は、テストできる場合である)エディタがアクティブなとき、あなたのクラスを呼び出すことができますusing a IPartServiceによって:

リスナーの二つのタイプがあることができ

  • IPartListener
  • poorly named IPartListener2:一部のサービスに追加。それは彼らが他の部分背後スタックの中に隠されているので、まだ作成されていない部分の一部変更イベントを処理できるようあなたはいつもが、この第二のいずれかを使用する必要があり

。一部が可視になったり非表示にしたり、エディタの入力が変更されたときにされたときに
このリスナーにも教えてくれます:

IWorkbenchPage page = ...; 
    //the active part 
    IWorkbenchPart active = page.getActivePart(); 
    //adding a listener 
    IPartListener2 pl = new IPartListener2() { 
     public void partActivated(IWorkbenchPartReference ref) 
     System.out.println("Active: "+ref.getTitle()); 
     } 
     ... other listener methods ... 
    }; 
    page.addPartListener(pl); 

注:IWorkbenchPage実装をIPartService直接。
using IWorkbenchWindow.getPartService()によってアクティベーションサービスにアクセスすることもできます。

0

私は良い一日を...表示したり、この答えは便利です@luiz RCPに取り組んエディタ電流が

//class:Current_Workbech extends AbstractHandler to execute() method 

public class Current_Workbech extends AbstractHandler{ 

    @Override 
    public Object execute(ExecutionEvent event) throws ExecutionException { 

     IPartService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService(); 

     //MessageDialog box open to get title which view or editor focus and current working 

     MessageDialog.openInformation(HandlerUtil.getActiveWorkbenchWindow(
       event).getShell(), "Current Workbench Window", service.getActivePart().getTitle()+""); 

     return null; 
    } 
} 
+1

日食フォーカスを取得するには、ツールバーやボタンをクリックしています –

関連する問題