]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.views.swt/src/org/simantics/views/swt/loader/CompositeLoader.java.keep
846df84efa1632915eceb6808aedf5d444a96668
[simantics/platform.git] / bundles / org.simantics.views.swt / src / org / simantics / views / swt / loader / CompositeLoader.java.keep
1 package org.simantics.views.swt.loader;
2
3 import org.simantics.datatypes.literal.RGB;
4 import org.simantics.db.Resource;
5 import org.simantics.db.exception.DatabaseException;
6 import org.simantics.db.layer0.variable.Variable;
7 import org.simantics.scenegraph.ParentNode;
8 import org.simantics.scenegraph.loader.ScenegraphLoader;
9 import org.simantics.views.ontology.ViewsResources;
10 import org.simantics.views.swt.client.base.ISWTViewNode;
11 import org.simantics.views.swt.client.impl.SWTComposite;
12
13 public class CompositeLoader implements ScenegraphLoader {
14
15         final private Resource configuration;
16         
17         public CompositeLoader(Resource configuration) {
18                 this.configuration = configuration;
19         }
20         
21         @Override
22         public ISWTViewNode create(ParentNode<ISWTViewNode> parent, Variable context) throws DatabaseException {
23                 
24                 SWTComposite node = parent.addNode(SWTComposite.class);
25                 
26                 LoaderUtils.listen(configuration, context, ViewsResources.URIs.Control_HasBackground, RGB.Integer.BINDING, node.getBackgroundFunction());
27                 
28                 node.setLayoutData(LoaderUtils.getGridData(configuration));
29                 node.setLayout(LoaderUtils.getLayout(configuration));
30                 node.setStyle(LoaderUtils.getStyle(configuration));
31                 
32                 return node;
33
34         }
35
36 }