2011-08-19 57 views
0

我正在開發一個帶有EMF和GMF的插件。 它有兩個視圖,我希望當第一個元素被選中時,第二個被刷新。如何讓視圖聆聽其他視圖的選擇?

其實我用這個命令:

getViewSite().getPage().addSelectionListener(this); 

但它可以讓我聽只在編輯器中選擇。

我該如何解決? 我該如何確保插件加載時刷新視圖? 目前,當我啓動插件時,它是空的,只要點擊編輯器就會刷新。

感謝, 盧卡

回答

1

您可以use Selection Service

getViewSite().getWorkbenchWindow().getSelectionService().addSelectionListener(this) 

getViewSite().getWorkbenchWindow().getSelectionService().addSelectionListener(partId, this) 

偵聽特定視圖/編輯選擇更改。

+0

我想在第二種方法partId是我想觀察的觀點,對嗎? – Maverik

+0

當然可以。 –

+0

嗨,我終於有時間測試你的提示了。它不起作用。我是否必須添加我正在傾聽作爲選擇提供者的視圖?目前我這樣做:'getSite()。setSelectionProvider(viewer); where'viewer'是'tableViewer' – Maverik