+
+ // Toolbar
+ IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
+ toolBarManager.add(new Action("Refresh modules",
+ Activator.imageDescriptorFromPlugin("org.simantics.scl.ui", "icons/arrow_refresh.png")) {
+ @Override
+ public void run() {
+ refresh();
+ }
+ });
+
+ // Context menu
+ MenuManager menuMgr = new MenuManager();
+ menuMgr.setRemoveAllWhenShown(true);
+ menuMgr.addMenuListener(new IMenuListener() {
+ public void menuAboutToShow(IMenuManager manager) {
+ ModuleNameTreeEntry entry = (ModuleNameTreeEntry)content.getStructuredSelection().getFirstElement();
+ if(!entry.isModule)
+ manager.add(new Action("New Module...") {
+ @Override
+ public void run() {
+ CreateModuleDialog dialog = new CreateModuleDialog(content.getControl().getShell(), SCLModuleBrowser.this);
+ dialog.setPackage(entry.fullName);
+ dialog.open();
+ }
+ });
+ }
+ });
+ Menu menu = menuMgr.createContextMenu(content.getControl());
+ content.getControl().setMenu(menu);
+ getSite().registerContextMenu(menuMgr, content);
+ }
+
+ public void refresh() {
+ SCLOsgi.MODULE_REPOSITORY.getSourceRepository().checkUpdates();
+ content.recalculateInput();