]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/modulebrowser/SCLModuleBrowser.java
(refs #7242) First version of SCL Development perspective
[simantics/platform.git] / bundles / org.simantics.scl.ui / src / org / simantics / scl / ui / modulebrowser / SCLModuleBrowser.java
1 package org.simantics.scl.ui.modulebrowser;
2
3 import org.eclipse.jface.viewers.DoubleClickEvent;
4 import org.eclipse.jface.viewers.IDoubleClickListener;
5 import org.eclipse.jface.viewers.ISelection;
6 import org.eclipse.jface.viewers.IStructuredSelection;
7 import org.eclipse.swt.SWT;
8 import org.eclipse.swt.widgets.Composite;
9 import org.eclipse.ui.part.ViewPart;
10 import org.simantics.scl.osgi.SCLOsgi;
11 import org.simantics.scl.ui.editor2.OpenSCLModule;
12
13 public class SCLModuleBrowser extends ViewPart {
14
15     SCLModuleTree content;
16     
17     @Override
18     public void createPartControl(Composite parent) {
19         this.content = new SCLModuleTree(parent, SWT.NONE, SCLOsgi.MODULE_REPOSITORY);
20         setPartName("SCL Modules");
21         content.addDoubleClickListener(new IDoubleClickListener() {
22             @Override
23             public void doubleClick(DoubleClickEvent event) {
24                 ISelection selection = event.getSelection();
25                 if(!(selection instanceof IStructuredSelection))
26                     return;
27                 ModuleNameTreeEntry entry = (ModuleNameTreeEntry)((IStructuredSelection)selection).getFirstElement();
28                 if(entry.isModule)
29                     OpenSCLModule.openModule(entry.fullName);
30             }
31         });
32     }
33
34     @Override
35     public void setFocus() {
36         content.getControl().setFocus();
37     }
38
39 }