X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Factions%2FExplorerDynamicMenuContribution.java;h=35e3fb14e2916b86475aa777d918bfa5ff3cdeaa;hb=06aeb7cad707d1fed2c21c1ad9413aa97e901da7;hp=32adab93912573dbff7229bce1589bd400e7b6c8;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/actions/ExplorerDynamicMenuContribution.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/actions/ExplorerDynamicMenuContribution.java index 32adab939..35e3fb14e 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/actions/ExplorerDynamicMenuContribution.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/actions/ExplorerDynamicMenuContribution.java @@ -1,73 +1,73 @@ -/******************************************************************************* - * Copyright (c) 2007, 2010 Association for Decentralized Information Management - * in Industry THTH ry. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.modeling.ui.actions; - -import org.eclipse.core.runtime.Platform; -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.db.ReadGraph; -import org.simantics.db.Session; -import org.simantics.db.exception.DatabaseException; -import org.simantics.ui.contribution.DynamicMenuContribution; -import org.simantics.utils.ui.BundleUtils; - - -/** - * @author Antti Villberg - */ -abstract public class ExplorerDynamicMenuContribution extends DynamicMenuContribution { - - private static final IContributionItem[] NONE = {}; - - @Override - protected IContributionItem[] getContributionItems(ReadGraph graph, Object[] selection) throws DatabaseException { - - T input = computeInput(graph, selection); - - if(input == null) return NONE; - - return new IContributionItem[] { - new ActionContributionItem(new Helper(graph, input)) - }; - - } - - public class Helper extends Action { - - private final T input; - protected final Session session; - - public Helper(ReadGraph graph, T input) throws DatabaseException { - super(getName(graph, input), getImage(graph, input)); - this.session = graph.getSession(); - this.input = input; - } - - @Override - public void run() { - perform(session, input); - } - - } - - protected ImageDescriptor silk(String name) { - return BundleUtils.getImageDescriptorFromBundle(Platform.getBundle("com.famfamfam.silk"), "/icons/" + name); - } - - abstract protected T computeInput(ReadGraph graph, Object[] selection) throws DatabaseException; - abstract protected void perform(Session session, T input); - abstract protected String getName(ReadGraph graph, T input) throws DatabaseException ; - abstract protected ImageDescriptor getImage(ReadGraph graph, T input) throws DatabaseException; - -} +/******************************************************************************* + * Copyright (c) 2007, 2010 Association for Decentralized Information Management + * in Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.modeling.ui.actions; + +import org.eclipse.core.runtime.Platform; +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.db.ReadGraph; +import org.simantics.db.Session; +import org.simantics.db.exception.DatabaseException; +import org.simantics.ui.contribution.DynamicMenuContribution; +import org.simantics.utils.ui.BundleUtils; + + +/** + * @author Antti Villberg + */ +abstract public class ExplorerDynamicMenuContribution extends DynamicMenuContribution { + + private static final IContributionItem[] NONE = {}; + + @Override + protected IContributionItem[] getContributionItems(ReadGraph graph, Object[] selection) throws DatabaseException { + + T input = computeInput(graph, selection); + + if(input == null) return NONE; + + return new IContributionItem[] { + new ActionContributionItem(new Helper(graph, input)) + }; + + } + + public class Helper extends Action { + + private final T input; + protected final Session session; + + public Helper(ReadGraph graph, T input) throws DatabaseException { + super(getName(graph, input), getImage(graph, input)); + this.session = graph.getSession(); + this.input = input; + } + + @Override + public void run() { + perform(session, input); + } + + } + + protected ImageDescriptor silk(String name) { + return BundleUtils.getImageDescriptorFromBundle(Platform.getBundle("com.famfamfam.silk"), "/icons/" + name); //$NON-NLS-1$ //$NON-NLS-2$ + } + + abstract protected T computeInput(ReadGraph graph, Object[] selection) throws DatabaseException; + abstract protected void perform(Session session, T input); + abstract protected String getName(ReadGraph graph, T input) throws DatabaseException ; + abstract protected ImageDescriptor getImage(ReadGraph graph, T input) throws DatabaseException; + +}