2010-10-27 45 views
0

我正在爲一個記錄不好的Eclipse RCP應用程序編寫一個插件,我需要在視圖中添加一個監聽器,我相信這是一個TreeViewer。我有權訪問代表該視圖的IWorkbenchPart,但我怎樣才能獲得它包含的TreeViewer?我想我需要一種方法來返回子組件(即相當於AWT的getComponents()方法),但我沒有看到這樣的方法。如何在IWorkbenchPart中查找組件?

回答

0

如果零件包含TreeViewer,則該查看器可能被設置爲ISelectionProvider,其中包含該視圖的IWorkbenchSite

因此,你可以嘗試使用IViewPart參考下面的,你必須:

IViewPart; // Your reference to the IViewPart instance 

ISelectionProvider provider = part.getSite().getSelectionProvider(); //Hopefully the TreeViewer 

provider.addSelectionChangedListener(yourListener);