Как обновить плагин Eclipse View

Я создал простой вид, основанный на учебном пособии по плагину eclipse. Я добавил функциональность, которая позволяет моему плагину прослушивать изменения в отладчике. Моя проблема в том, что каждый раз, когда что-то происходит в отладчике, я хочу, чтобы мое представление обновлялось и обновлялось новой информацией. Вот что у меня есть / что я пытаюсь сделать:

    public void createPartControl(Composite parent) {

        listener = new DebugContextListener(this);
        DebugUITools.getDebugContextManager().addDebugContextListener(listener);

        // Check if there is an already started debug context
        IAdaptable dc = DebugUITools.getDebugContext();
        if (dc != null) {
                dataCollection.add(new ProxyScope("hi")); // manually injecting data 
                Object o = dc.getAdapter(IStackFrame.class);
                if (o instanceof IStackFrame)
                        setStackFrame((IStackFrame) o);

                viewer.refresh(); // this doesn't work
        }       


        viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);

        // Set column lines visible, and create two columns
        Tree tree = viewer.getTree();
        tree.setHeaderVisible(true);
        tree.setLinesVisible(true);

        TreeColumn column1 = new TreeColumn(tree, SWT.LEFT);
        column1.setText("Name");
        column1.setWidth(400);
        TreeColumn column2 = new TreeColumn(tree, SWT.LEFT);
        column2.setText("Value");
        column2.setWidth(200);

        drillDownAdapter = new DrillDownAdapter(viewer);
        viewer.setContentProvider(new VariableViewContentProvider());
        viewer.setLabelProvider(new VariableViewLabelProvider());
        viewer.setSorter(new ViewerSorter());
        viewer.setInput(getViewSite());

....

}

В общем, у меня есть вся эта логика прослушивания отладки вверху, которая происходит внутри оператора if. Я точно знаю, что моя программа туда попала. Каждый раз, когда меняются некоторые изменения, я хочу обновить свое представление, и я пытался создать viewer.refresh, который не работает. Информация, которую отображает мое представление, основана на объекте dataCollection, поэтому строка с dataCollection.add ... это просто добавление данных вручную, как если бы отладчик что-то сделал. Если я помещу эту строку вне оператора if, то мое представление работает (я предполагаю, что это просто первоначальная конструкция представления, когда я впервые запускаю плагин), но когда я помещаю его в выражение if, оно не работает. Это означает, что мой взгляд никогда не обновляется.

Спасибо за любую помощь.

Ответы на вопрос(3)

Ваш ответ на вопрос