]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.interop/src/org/simantics/interop/browsing/ImportNode.java
a8f8338efc320dd4377f3cf0092f94a9ea7dab89
[simantics/interop.git] / org.simantics.interop / src / org / simantics / interop / browsing / ImportNode.java
1 package org.simantics.interop.browsing;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.Collection;\r
5 import java.util.List;\r
6 \r
7 import org.eclipse.jface.resource.ImageDescriptor;\r
8 import org.eclipse.jface.viewers.ISelection;\r
9 import org.simantics.browsing.ui.content.Labeler.Modifier;\r
10 import org.simantics.db.Builtins;\r
11 import org.simantics.db.ReadGraph;\r
12 import org.simantics.db.Resource;\r
13 import org.simantics.db.Session;\r
14 import org.simantics.db.WriteGraph;\r
15 import org.simantics.db.exception.DatabaseException;\r
16 import org.simantics.interop.stubs.InteropResource;\r
17 import org.simantics.modeling.ui.modelBrowser.model.INode;\r
18 \r
19 public class ImportNode implements INode {\r
20         \r
21         private Resource project;\r
22         \r
23         public ImportNode(Resource project) {\r
24                 this.project = project;\r
25         }\r
26         \r
27         @Override\r
28         public Object getAdapter(Class adapter) {\r
29                 return null;\r
30         }\r
31         \r
32         @Override\r
33         public int getCategory(ReadGraph graph) throws DatabaseException {\r
34                 return 0;\r
35         }\r
36         \r
37         \r
38         @Override\r
39         public ImageDescriptor getImage(ReadGraph graph) throws DatabaseException {\r
40                 return null;\r
41         }\r
42         \r
43         @Override\r
44         public String getLabel(ReadGraph graph) throws DatabaseException {\r
45                 return "Imports";\r
46         }\r
47         \r
48         @Override\r
49         public Modifier getModifier(Session session, String columnId) {\r
50                 // TODO Auto-generated method stub\r
51                 return null;\r
52         }\r
53         \r
54         @Override\r
55         public void handleDelete(WriteGraph graph) throws DatabaseException {\r
56                 // TODO Auto-generated method stub\r
57                 \r
58         }\r
59         \r
60         @Override\r
61         public void handleDrop(Session session, ISelection selection) {\r
62                 // TODO Auto-generated method stub\r
63                 \r
64         }\r
65         \r
66         @Override\r
67         public boolean hasChildren(ReadGraph graph) throws DatabaseException {\r
68                 return getChildren(graph).size() > 0;\r
69         }\r
70         \r
71         @Override\r
72         public Collection<?> getChildren(ReadGraph graph) throws DatabaseException {\r
73                 List<INode> nodes = new ArrayList<INode>();\r
74                 Builtins b = graph.getBuiltins();\r
75                 InteropResource i = InteropResource.getInstance(graph);\r
76                 Collection<Resource> models = graph.getObjects(project, b.ConsistsOf);\r
77                 for (Resource m : models) {\r
78                         Collection<Resource> objs = graph.getObjects(m, b.ConsistsOf);\r
79                         for (Resource o : objs) {\r
80                                 if (graph.isInstanceOf(o, i.ImportLibrary)) {\r
81                                         INode node = graph.adapt(o, INode.class);\r
82                                         nodes.add(node);\r
83                                 }\r
84                         }\r
85                 }\r
86                 return nodes;\r
87                 \r
88 //              ComosResource c = ComosResource.getInstance(graph);\r
89 //              Collection<Resource> models = graph.getObjects(project, b.ConsistsOf);\r
90 //              Collection<ComosGraphNode> comosImports = new ArrayList<ComosGraphNode>();\r
91 //              for (Resource m : models) {\r
92 //                      Collection<Resource> objs = graph.getObjects(m, b.ConsistsOf);\r
93 //                      for (Resource o : objs) {\r
94 //                              if (graph.isInstanceOf(o, c.ComosImportLibrary)) {\r
95 //                                      String icon_db_path = ComosGraphTools.getIconPath(o, graph);\r
96 //                                      if (icon_db_path == null)\r
97 //                                              continue;\r
98 //                                      ComosIconReader iconReader = new ComosIconReader(icon_db_path);\r
99 //                                      comosImports.add(new ComosGraphNode(o, iconReader));\r
100 //                              }\r
101 //                      }\r
102 //              }\r
103 //              return comosImports;\r
104         }\r
105         \r
106 \r
107 }\r