Я хочу создать динамическое приложение и добавить TreeItem
в Tree
при загрузке другого плагина.
Например:
- Iесть плагин:
com.project.startup
и этот плагин имеет View
с Tree
внутри.Это - У меня есть плагин:
com.project.populator
.Я хочу заполнить Tree
из com.project.startup
, когда com.project.populator
начинается
Я знаю, как добавлять элементы, но я не знаю, когда и где я должен написать свой код.
До сих пор я делал это, используя org.eclipse.ui.IStartup
, но я получаю эту ошибку:
!MESSAGE Unable to execute early startup code for an extension
!STACK 0
java.lang.NullPointerException
at ro.project.populator.TreePopulator.earlyStartup(TreePopulator.java:18)
Мой код выглядит так:
public class TreePopulator implements IStartup
{
@Override
public void earlyStartup()
{
ViewMenuOffers viewMenuOffers = (ViewMenuOffers) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView(ViewMenuOffers.ID);
TreeViewer treeViewer = viewMenuOffers.getTreeViewer();
Tree tree = treeViewer.getTree();
TreeItem trtmItem = new TreeItem(tree, SWT.NONE);
trtmItem.setText("Item 1");
}
}
Я думаю, что TreeViewer неинициализирован .. но он находится в createPartControl
из ViewMenuOffers
.
Как я могу сделать эту работу?Как я могу добавить что-то в View
из другого плагина при запуске?