package org.simantics.views.swt.loader; import org.simantics.datatypes.literal.RGB; import org.simantics.db.Resource; import org.simantics.db.exception.DatabaseException; import org.simantics.db.layer0.variable.Variable; import org.simantics.scenegraph.ParentNode; import org.simantics.scenegraph.loader.ScenegraphLoader; import org.simantics.views.ontology.ViewsResources; import org.simantics.views.swt.client.base.ISWTViewNode; import org.simantics.views.swt.client.impl.SWTComposite; public class CompositeLoader implements ScenegraphLoader { final private Resource configuration; public CompositeLoader(Resource configuration) { this.configuration = configuration; } @Override public ISWTViewNode create(ParentNode parent, Variable context) throws DatabaseException { SWTComposite node = parent.addNode(SWTComposite.class); LoaderUtils.listen(configuration, context, ViewsResources.URIs.Control_HasBackground, RGB.Integer.BINDING, node.getBackgroundFunction()); node.setLayoutData(LoaderUtils.getGridData(configuration)); node.setLayout(LoaderUtils.getLayout(configuration)); node.setStyle(LoaderUtils.getStyle(configuration)); return node; } }