X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.spreadsheet.graph%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fgraph%2FSpreadsheetNodeManager.java;fp=bundles%2Forg.simantics.spreadsheet.graph%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fgraph%2FSpreadsheetNodeManager.java;h=416cc19269a7ceff31146ce943dc3ac5628af3b1;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetNodeManager.java b/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetNodeManager.java new file mode 100644 index 000000000..416cc1926 --- /dev/null +++ b/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetNodeManager.java @@ -0,0 +1,47 @@ +package org.simantics.spreadsheet.graph; + +import java.util.Collections; +import java.util.Set; + +import org.simantics.db.layer0.StandardNodeManager; +import org.simantics.layer0.Layer0; +import org.simantics.simulator.variable.exceptions.NodeManagerException; +import org.simantics.spreadsheet.resource.SpreadsheetResource; +import org.simantics.structural.stubs.StructuralResource2; + +@SuppressWarnings("rawtypes") +public class SpreadsheetNodeManager extends StandardNodeManager { + + public SpreadsheetNodeManager(SpreadsheetRealm realm) { + super(realm, realm.getEngine()); + } + + static final Set COMPONENT_CLASS = Collections.singleton(StructuralResource2.URIs.Component); + + @Override + public Set getClassifications(SheetNode node) throws NodeManagerException { + checkThreadAccess(); + if(isRoot(node)) + return COMPONENT_CLASS; + else + return Collections.emptySet(); + } + + @Override + public String getPropertyURI(SheetNode parent, SheetNode property) { + if(property instanceof SpreadsheetCellContent) { + return SpreadsheetResource.URIs.Cell_content; + } else if(property instanceof SpreadsheetTypeNode) { + return Layer0.URIs.typeURI; + } else if(property instanceof SpreadsheetCellContentExpression) { + return Layer0.URIs.SCLValue_expression; + } else if (property instanceof SpreadsheetCellStyle) { + return SpreadsheetResource.URIs.Cell_style; + } else if (property instanceof SpreadsheetCellEditable){ + return SpreadsheetResource.URIs.Cell_editable; + } else { + return null; + } + } + +}