1 package org.simantics.scl.ui.editor2;
\r
3 import org.eclipse.jface.resource.ImageDescriptor;
\r
4 import org.eclipse.ui.IMemento;
\r
5 import org.eclipse.ui.IPersistableElement;
\r
6 import org.simantics.scl.compiler.source.ModuleSource;
\r
7 import org.simantics.scl.osgi.SCLOsgi;
\r
9 public class StandardSCLModuleEditorInput implements SCLModuleEditorInput, IPersistableElement {
\r
11 private final String moduleName;
\r
13 public StandardSCLModuleEditorInput(String moduleName) {
\r
14 this.moduleName = moduleName;
\r
18 public boolean exists() {
\r
19 return SCLOsgi.SOURCE_REPOSITORY.getModuleSource(moduleName, null) != null;
\r
23 public ImageDescriptor getImageDescriptor() {
\r
28 public String getModuleName() {
\r
33 public String getName() {
\r
34 int p = moduleName.lastIndexOf('/');
\r
36 return moduleName.substring(p+1);
\r
42 public IPersistableElement getPersistable() {
\r
47 public String getToolTipText() {
\r
51 @SuppressWarnings("unchecked")
\r
53 public <T> T getAdapter(Class<T> adapter) {
\r
54 if(adapter.equals(ModuleSource.class))
\r
55 return (T)SCLOsgi.SOURCE_REPOSITORY.getModuleSource(moduleName, null);
\r
56 if(adapter.equals(IPersistableElement.class))
\r
62 public int hashCode() {
\r
63 final int prime = 31;
\r
65 result = prime * result + ((moduleName == null) ? 0 : moduleName.hashCode());
\r
70 public boolean equals(Object obj) {
\r
73 if (obj == null || getClass() != obj.getClass())
\r
75 StandardSCLModuleEditorInput other = (StandardSCLModuleEditorInput) obj;
\r
76 return moduleName.equals(other.moduleName);
\r
80 public void saveState(IMemento memento) {
\r
81 memento.putTextData(moduleName);
\r
85 public String getFactoryId() {
\r
86 return "org.simantics.scl.ui.editor.inputFactory";
\r