X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fproperty%2Fsvg%2FSVGElementComposite.java;fp=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fproperty%2Fsvg%2FSVGElementComposite.java;h=084569f0293870bde66d3469cffe869344b177cf;hb=3363d703decd994069d66740681a72c03ce6acf4;hp=58dbf16dafc70a8dea3b15ffc5178d73399b5782;hpb=8d7b4615b1e0c7dec59c39e5e5f312a261fd1baf;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/property/svg/SVGElementComposite.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/property/svg/SVGElementComposite.java index 58dbf16da..084569f02 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/property/svg/SVGElementComposite.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/property/svg/SVGElementComposite.java @@ -11,6 +11,8 @@ *******************************************************************************/ package org.simantics.modeling.ui.property.svg; +import java.util.Collection; + import org.eclipse.jface.dialogs.IInputValidator; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.jface.resource.ColorDescriptor; @@ -24,16 +26,44 @@ import org.simantics.browsing.ui.swt.widgets.DefaultColorProvider; import org.simantics.browsing.ui.swt.widgets.Label; import org.simantics.browsing.ui.swt.widgets.TrackedText; import org.simantics.browsing.ui.swt.widgets.impl.WidgetSupport; +import org.simantics.db.ReadGraph; import org.simantics.db.Resource; +import org.simantics.db.exception.DatabaseException; import org.simantics.db.management.ISessionContext; +import org.simantics.diagram.stubs.DiagramResource; import org.simantics.selectionview.ComparableTabContributor; import org.simantics.selectionview.ConfigurationComposite; +import org.simantics.selectionview.TabContribution; +import org.simantics.ui.selection.WorkbenchSelectionUtils; /** * @author Tuukka Lehtonen */ public class SVGElementComposite extends ConfigurationComposite { + public static TabContribution svgTabContribution() { + return new TabContribution() { + + @Override + public boolean accept(ReadGraph graph, Object input) throws DatabaseException { + Resource res = WorkbenchSelectionUtils.getPossibleResource(input); + if(res == null) return false; + return graph.isInstanceOf(res, DiagramResource.getInstance(graph).SVGElement); + } + + @Override + public void contribute(ReadGraph graph, Object selection, Collection result) + throws DatabaseException { + Resource res = WorkbenchSelectionUtils.getPossibleResource(selection); + if(res != null) { + if(graph.isInstanceOf(res, DiagramResource.getInstance(graph).SVGElement)) { + result.add(make(res, 100.0, "SVG")); + } + } + } + }; + } + public static ComparableTabContributor make(Resource input, double priority, String tabLabel) { return make(new SVGInput(input), priority, tabLabel); }