From 8d7b4615b1e0c7dec59c39e5e5f312a261fd1baf Mon Sep 17 00:00:00 2001 From: Antti Villberg Date: Tue, 22 Nov 2016 13:47:55 +0200 Subject: [PATCH] Initial version of SCL tab contributions refs #6824 Change-Id: I677f82bc7a0cd5ec03937384d9a130c00ddefa9b --- .../graph.tg | Bin 11392 -> 11656 bytes .../graph/Selectionview.pgraph | 3 ++ .../selectionview/SelectionViewResources.java | 9 +++++ .../scl/Simantics/SelectionView.scl | 4 +++ .../selectionview/SCLTabContribution.java | 34 ++++++++++++++++++ 5 files changed, 50 insertions(+) create mode 100644 bundles/org.simantics.selectionview/src/org/simantics/selectionview/SCLTabContribution.java diff --git a/bundles/org.simantics.selectionview.ontology/graph.tg b/bundles/org.simantics.selectionview.ontology/graph.tg index 49a3f113fe75e9b05e284fbbc135154403e939a8..724deb153af635e054d7f73ad28e8991e96f162b 100644 GIT binary patch literal 11656 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 literal 11392 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 SEL.AbstractTypedResourceTabContribution.HasType --> L0.Type -- SEL.SCLTabContribution.instantiate ==> "() -> TabContribution" -- SEL.VariableTabContribution.HasTest -- SEL.VariableTabContribution.transformation ==> "Variable -> Variable" a -> () standardSetDisplayValue3 :: Variable -> a -> Binding a -> () standardGetDisplayValueDatatype :: Variable -> Datatype + +importJava "org.simantics.selectionview.TabContribution" where + data TabContribution + \ No newline at end of file diff --git a/bundles/org.simantics.selectionview/src/org/simantics/selectionview/SCLTabContribution.java b/bundles/org.simantics.selectionview/src/org/simantics/selectionview/SCLTabContribution.java new file mode 100644 index 000000000..61921dd27 --- /dev/null +++ b/bundles/org.simantics.selectionview/src/org/simantics/selectionview/SCLTabContribution.java @@ -0,0 +1,34 @@ +package org.simantics.selectionview; + +import java.util.Collection; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.variable.Variable; +import org.simantics.db.layer0.variable.Variables; +import org.simantics.scl.runtime.function.Function1; +import org.simantics.scl.runtime.tuple.Tuple0; + +public class SCLTabContribution implements TabContribution { + + final private TabContribution contribution; + + public SCLTabContribution(ReadGraph graph, Resource configuration) throws DatabaseException { + Variable var = Variables.getVariable(graph, configuration); + Function1> function = var.getPropertyValue(graph, "instantiate"); + contribution = function.apply(Tuple0.INSTANCE); + } + + @Override + public boolean accept(ReadGraph graph, Object input) throws DatabaseException { + return contribution.accept(graph, input); + } + + @Override + public void contribute(ReadGraph graph, Object selection, Collection result) + throws DatabaseException { + contribution.contribute(graph, selection, result); + } + +} -- 2.43.2