X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fdiagram%2FResetProfileMonitorTransformContribution.java;h=30615db963ec6f74c51434f272686f9bcf174704;hb=95144e3b879f0a10715927027bb9a7aa8e05bdeb;hp=6e84ff25f2e038607419283a126ea5e59f34b4ec;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/ResetProfileMonitorTransformContribution.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/ResetProfileMonitorTransformContribution.java index 6e84ff25f..30615db96 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/ResetProfileMonitorTransformContribution.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/ResetProfileMonitorTransformContribution.java @@ -1,89 +1,89 @@ -package org.simantics.modeling.ui.diagram; - -import java.util.Map; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExecutableExtension; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IContributionItem; -import org.eclipse.jface.resource.ImageDescriptor; -import org.simantics.Simantics; -import org.simantics.db.ReadGraph; -import org.simantics.db.Resource; -import org.simantics.db.Statement; -import org.simantics.db.WriteGraph; -import org.simantics.db.common.request.IndexRoot; -import org.simantics.db.common.request.WriteRequest; -import org.simantics.db.exception.DatabaseException; -import org.simantics.diagram.stubs.DiagramResource; -import org.simantics.modeling.ui.Activator; -import org.simantics.scl.commands.Command; -import org.simantics.scl.commands.Commands; -import org.simantics.ui.contribution.DynamicMenuContribution; -import org.simantics.ui.utils.ResourceAdaptionUtils; - -/** - * @author Tuukka Lehtonen - */ -public class ResetProfileMonitorTransformContribution extends DynamicMenuContribution implements IExecutableExtension { - - String name = ""; - ImageDescriptor image = null; - - @Override - public void setInitializationData(IConfigurationElement config, String propertyName, Object data) - throws CoreException { - if (data instanceof Map) { - @SuppressWarnings("unchecked") - Map args = (Map) data; - name = args.get("name"); - String imageId = args.get("image"); - image = Activator.getDefault().getImageRegistry().getDescriptor(imageId); - } - } - - @Override - protected Object[] getSelectedObjects() { - return ResourceAdaptionUtils.toResources(getSelection()); - } - - @Override - protected IContributionItem[] getContributionItems(ReadGraph graph, final Object[] elements) throws DatabaseException { - if (elements.length == 0) - return NONE; - - boolean todo = false; - DiagramResource DIA = DiagramResource.getInstance(graph); - for (Object object : elements) { - Resource element = (Resource)object; - Statement stm = graph.getPossibleStatement(element, DIA.Element_profileMonitorOffset); - if (stm != null && !stm.isAsserted(element)) { - todo = true; - break; - } - } - - if (!todo) - return NONE; - - return new IContributionItem[] { - new ActionContributionItem(new Action(name, image) { - @Override - public void run() { - Simantics.async(new WriteRequest() { - @Override - public void perform(WriteGraph graph) throws DatabaseException { - Command cmd = Commands.get(graph, "Simantics/Profile/resetProfileMonitorPosition"); - Resource model = graph.syncRequest(new IndexRoot((Resource)elements[0])); - for(Object element : elements) - cmd.execute(graph, model, element); - } - }); - } - }) - }; - } - -} +package org.simantics.modeling.ui.diagram; + +import java.util.Map; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExecutableExtension; +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.resource.ImageDescriptor; +import org.simantics.Simantics; +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.Statement; +import org.simantics.db.WriteGraph; +import org.simantics.db.common.request.IndexRoot; +import org.simantics.db.common.request.WriteRequest; +import org.simantics.db.exception.DatabaseException; +import org.simantics.diagram.stubs.DiagramResource; +import org.simantics.modeling.ui.Activator; +import org.simantics.scl.commands.Command; +import org.simantics.scl.commands.Commands; +import org.simantics.ui.contribution.DynamicMenuContribution; +import org.simantics.ui.utils.ResourceAdaptionUtils; + +/** + * @author Tuukka Lehtonen + */ +public class ResetProfileMonitorTransformContribution extends DynamicMenuContribution implements IExecutableExtension { + + String name = ""; //$NON-NLS-1$ + ImageDescriptor image = null; + + @Override + public void setInitializationData(IConfigurationElement config, String propertyName, Object data) + throws CoreException { + if (data instanceof Map) { + @SuppressWarnings("unchecked") + Map args = (Map) data; + name = args.get("name"); //$NON-NLS-1$ + String imageId = args.get("image"); //$NON-NLS-1$ + image = Activator.getDefault().getImageRegistry().getDescriptor(imageId); + } + } + + @Override + protected Object[] getSelectedObjects() { + return ResourceAdaptionUtils.toResources(getSelection()); + } + + @Override + protected IContributionItem[] getContributionItems(ReadGraph graph, final Object[] elements) throws DatabaseException { + if (elements.length == 0) + return NONE; + + boolean todo = false; + DiagramResource DIA = DiagramResource.getInstance(graph); + for (Object object : elements) { + Resource element = (Resource)object; + Statement stm = graph.getPossibleStatement(element, DIA.Element_profileMonitorOffset); + if (stm != null && !stm.isAsserted(element)) { + todo = true; + break; + } + } + + if (!todo) + return NONE; + + return new IContributionItem[] { + new ActionContributionItem(new Action(name, image) { + @Override + public void run() { + Simantics.async(new WriteRequest() { + @Override + public void perform(WriteGraph graph) throws DatabaseException { + Command cmd = Commands.get(graph, "Simantics/Profile/resetProfileMonitorPosition"); //$NON-NLS-1$ + Resource model = graph.syncRequest(new IndexRoot((Resource)elements[0])); + for(Object element : elements) + cmd.execute(graph, model, element); + } + }); + } + }) + }; + } + +}