X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.charts%2Fsrc%2Forg%2Fsimantics%2Fcharts%2Fquery%2FHideChartItems.java;fp=bundles%2Forg.simantics.charts%2Fsrc%2Forg%2Fsimantics%2Fcharts%2Fquery%2FHideChartItems.java;h=9c329c6c53f82d151ad57a46ae8584d0b0e5b95a;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.charts/src/org/simantics/charts/query/HideChartItems.java b/bundles/org.simantics.charts/src/org/simantics/charts/query/HideChartItems.java new file mode 100644 index 000000000..9c329c6c5 --- /dev/null +++ b/bundles/org.simantics.charts/src/org/simantics/charts/query/HideChartItems.java @@ -0,0 +1,48 @@ +package org.simantics.charts.query; + +import java.util.List; + +import org.simantics.Simantics; +import org.simantics.charts.ontology.ChartResource; +import org.simantics.databoard.Bindings; +import org.simantics.db.Resource; +import org.simantics.db.Session; +import org.simantics.db.WriteGraph; +import org.simantics.db.common.request.WriteRequest; +import org.simantics.db.exception.DatabaseException; + +/** + * @author Tuukka Lehtonen + * @since 1.20 + */ +public class HideChartItems extends WriteRequest { + + private final Boolean hide; + private final List items; + + public HideChartItems(boolean hide, List items) { + this.hide = hide; + this.items = items; + } + + @Override + public void perform(WriteGraph graph) throws DatabaseException { + hideChartItems(graph, hide, items); + } + + public static void hideChartItems(WriteGraph graph, boolean hide, List items) throws DatabaseException { + ChartResource CHART = ChartResource.getInstance(graph); + for (Resource item : items) { + if (graph.isInstanceOf(item, CHART.Chart_Item)) { + graph.claimLiteral(item, CHART.Chart_Item_hidden, hide, Bindings.BOOLEAN); + } + } + } + + public static void hideChartItems(boolean hide, List items) throws DatabaseException { + Session s = Simantics.getSession(); + s.markUndoPoint(); + s.syncRequest(new HideChartItems(hide, items)); + } + +} \ No newline at end of file