2017-03-25 22 views
0

我正在開發一個插件,在其中執行由工具欄圖標觸發的命令。命令完成後,我想更新一個視圖,該視圖將顯示一個包含執行命令時收集的數據的表。Eclipse插件:在命令後更新視圖

我的問題是,我不知道如何從視圖中聽命令完成。

我已檢查低於其他涉及視圖選擇的變化,但不執行命令:在先進的

How to Refresh Eclipse View Plugin

https://eclipse.org/articles/viewArticle/ViewArticle2.html

感謝。

+0

那麼你在做什麼命令處理程序? –

+0

內部方法public Object execute(ExecutionEvent事件)我掃描C源代碼AST並收集應該在視圖中顯示的一些度量標準(例如代碼行)。數據收集在地圖數據結構中。 – CFA

回答

0

您可以在處理程序類中獲取當前活動的部分,並檢查它是否是您的視圖。如果是,你可以調用你在視圖中定義的方法。例如:

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

    IWorkbenchPart part = HandlerUtil.getActivePart(event); 

    if (part instanceof MyView) { 

    MyView view = (MyView)part; 

    // Call some method of your view 
    view.someMethodOfMyView(....); 
    } 
+0

謝謝 - 這個想法有效,我修改了一點:HandlerUtil.getActivePart只會返回我的視圖,如果它是爲了得到我的視圖我使用IViewPart view = PlatformUI.getWorkbench()。getActiveWorkbenchWindow( 。).getActivePage()showView(MyView.ID); – CFA