X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fdiagram%2Fmonitor%2FFontSizeModifier.java;fp=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fdiagram%2Fmonitor%2FFontSizeModifier.java;h=a61d1400efcfc5605c5f4da73a8c57749ba30780;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/FontSizeModifier.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/FontSizeModifier.java new file mode 100644 index 000000000..a61d1400e --- /dev/null +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/FontSizeModifier.java @@ -0,0 +1,31 @@ +package org.simantics.modeling.ui.diagram.monitor; + +import org.simantics.browsing.ui.swt.widgets.impl.ModifyComboListenerImpl; +import org.simantics.databoard.Bindings; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.diagram.stubs.DiagramResource; +import org.simantics.layer0.Layer0; +import org.simantics.ui.fonts.FontDescriptor; + +public class FontSizeModifier extends ModifyComboListenerImpl { + + @Override + public void applySelection(WriteGraph graph, Resource monitor, Integer newSize) throws DatabaseException { + Layer0 L0 = Layer0.getInstance(graph); + DiagramResource DIA = DiagramResource.getInstance(graph); + FontDescriptor fd = graph.getPossibleRelatedAdapter(monitor, DIA.HasFont, FontDescriptor.class); + if (fd != null) { + graph.markUndoPoint(); + Resource font = graph.newResource(); + graph.claim(font, L0.InstanceOf, null, DIA.RealizedFont); + graph.addLiteral(font, DIA.RealizedFont_HasFamily, DIA.RealizedFont_HasFamily_Inverse, L0.String, fd.getFamily(), Bindings.STRING); + graph.addLiteral(font, DIA.RealizedFont_HasStyle, DIA.RealizedFont_HasStyle_Inverse, L0.Integer, fd.getStyle(), Bindings.INTEGER); + graph.addLiteral(font, DIA.RealizedFont_HasSize, DIA.RealizedFont_HasSize_Inverse, L0.Integer, newSize, Bindings.INTEGER); + graph.deny(monitor, DIA.HasFont); + graph.claim(monitor, DIA.HasFont, font); + } + } + +} \ No newline at end of file