package org.simantics.views.swt.loader; import org.simantics.datatypes.literal.Font; 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.SWTText; public class TextLoader implements ScenegraphLoader { final private Resource configuration; public TextLoader(Resource configuration) { this.configuration = configuration; } @Override public ISWTViewNode create(ParentNode parent, Variable context) throws DatabaseException { SWTText node = parent.addNode(SWTText.class); node.setLayoutData(LoaderUtils.getGridData(configuration)); node.setStyle(LoaderUtils.getStyle(configuration)); LoaderUtils.listen(configuration, context, ViewsResources.URIs.TextContainer_HasText, node.getTextFunction()); LoaderUtils.listen(configuration, context, ViewsResources.URIs.Control_HasBackground, RGB.Integer.BINDING, node.getBackgroundFunction()); LoaderUtils.listen(configuration, context, ViewsResources.URIs.Control_HasForeground, RGB.Integer.BINDING, node.getForegroundFunction()); LoaderUtils.listen(configuration, context, ViewsResources.URIs.Control_HasFont, Font.BINDING, node.getFontFunction()); return node; } }