2011-12-15 55 views
2

我有一個文件對話框從用戶可以選擇文件的菜單打開。 FileDialog從execute()中的菜單命令的處理程序類中調用。從命令處理程序更新視圖

基於用戶選擇的文件,我想更新視圖,爲此,(我認爲)我需要()這是傳遞給視圖中的createPartControl相同的複合元素。

是否有可能得到命令處理程序訪問它,或者它會更好,通過類似ISourceProviderListener或PropertyChangeListener添加到觸發視圖更新?

謝謝。

回答

4

是的,這是可能的:

IViewPart part = HandlerUtil.getActiveWorkbenchWindow(executionEvent).getActivePage() 
    .findView(viewId); 

倒不如先更新您的視圖顯示(在MVC模型)和數據的變化應該觸發刷新視圖中的數據。不知道所有細節,很難說哪個聽衆更好。