X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.ui%2Fsrc%2Forg%2Fsimantics%2Fui%2Fcontribution%2FOpenWithMenuContribution.java;h=2f46ddb5fe3125bbf3005e3e137b2d31b5c70d1d;hb=1ca7c5aad9e845ca9969ea37c7d4bef54e94b9e2;hp=4112d905134e5b9319a86e8db55a1f14a7112f6c;hpb=6d3ad7881d53c6f7c039026cfbf9d356a5bc2286;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.ui/src/org/simantics/ui/contribution/OpenWithMenuContribution.java b/bundles/org.simantics.ui/src/org/simantics/ui/contribution/OpenWithMenuContribution.java index 4112d9051..2f46ddb5f 100644 --- a/bundles/org.simantics.ui/src/org/simantics/ui/contribution/OpenWithMenuContribution.java +++ b/bundles/org.simantics.ui/src/org/simantics/ui/contribution/OpenWithMenuContribution.java @@ -58,20 +58,24 @@ public class OpenWithMenuContribution extends DynamicMenuContribution { } protected Object extractResource(ReadGraph graph, Object object) throws DatabaseException { - Resource resource = WorkbenchSelectionUtils.getPossibleResource(object); - //Resource resource = ResourceAdaptionUtils.adaptToResource(graph, object); - if(resource != null) return resource; - else return object; + Resource resource = WorkbenchSelectionUtils.getPossibleResourceFromSelection(graph, object); + return resource != null ? resource : object; } - + @Override protected boolean preAcceptSelection(Object[] selection) { return selection.length == 1; } + protected String getText() { + return "Open With"; + } + @Override protected IContributionItem[] getContributionItems(ReadGraph graph, Object[] selection) throws DatabaseException { final Object r = extractResource(graph, selection[0]); + if (r == null) + return NONE; final EditorAdapter[] editorAdapters = EditorRegistry.getInstance().getAdaptersFor(graph, r); if (editorAdapters.length == 0) return NONE; @@ -81,7 +85,7 @@ public class OpenWithMenuContribution extends DynamicMenuContribution { @Override public void fill(Menu menu, int index) { MenuItem openWith = new MenuItem(menu, SWT.CASCADE, index); - openWith.setText("Open With"); + openWith.setText(getText()); openWith.setEnabled(editorAdapters.length > 0); Menu subMenu = new Menu(menu); openWith.setMenu(subMenu);