1 package org.simantics.scl.ui.modulebrowser;
3 import org.eclipse.jface.action.Action;
4 import org.eclipse.jface.action.IToolBarManager;
5 import org.eclipse.jface.viewers.DoubleClickEvent;
6 import org.eclipse.jface.viewers.IDoubleClickListener;
7 import org.eclipse.jface.viewers.ISelection;
8 import org.eclipse.jface.viewers.IStructuredSelection;
9 import org.eclipse.swt.SWT;
10 import org.eclipse.swt.widgets.Composite;
11 import org.eclipse.ui.part.ViewPart;
12 import org.simantics.scl.osgi.SCLOsgi;
13 import org.simantics.scl.ui.Activator;
14 import org.simantics.scl.ui.editor2.OpenSCLModule;
16 public class SCLModuleBrowser extends ViewPart {
18 SCLModuleTree content;
21 public void createPartControl(Composite parent) {
22 this.content = new SCLModuleTree(parent, SWT.NONE, SCLOsgi.MODULE_REPOSITORY);
23 setPartName("SCL Modules");
24 content.addDoubleClickListener(new IDoubleClickListener() {
26 public void doubleClick(DoubleClickEvent event) {
27 ISelection selection = event.getSelection();
28 if(!(selection instanceof IStructuredSelection))
30 ModuleNameTreeEntry entry = (ModuleNameTreeEntry)((IStructuredSelection)selection).getFirstElement();
32 OpenSCLModule.openModule(entry.fullName);
36 IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
37 toolBarManager.add(new Action("Refresh modules",
38 Activator.imageDescriptorFromPlugin("org.simantics.scl.ui", "icons/arrow_refresh.png")) {
41 SCLOsgi.MODULE_REPOSITORY.getSourceRepository().checkUpdates();
42 content.recalculateInput();
48 public void setFocus() {
49 content.getControl().setFocus();