X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.ui%2Fsrc%2Forg%2Fsimantics%2Fui%2Fworkbench%2Feditor%2FEditorRegistry.java;h=9fdfbb4ddd2463dc0763a365e65a3ecd6079a638;hp=b952966e493509ad5e11e6b8897b29273c52deaa;hb=15d8500282b7bc9f54e561c88564a10a7def44fb;hpb=5bdd9ea819c48642ab2f4b0fc9aa3e785db0cb14 diff --git a/bundles/org.simantics.ui/src/org/simantics/ui/workbench/editor/EditorRegistry.java b/bundles/org.simantics.ui/src/org/simantics/ui/workbench/editor/EditorRegistry.java index b952966e4..9fdfbb4dd 100644 --- a/bundles/org.simantics.ui/src/org/simantics/ui/workbench/editor/EditorRegistry.java +++ b/bundles/org.simantics.ui/src/org/simantics/ui/workbench/editor/EditorRegistry.java @@ -17,6 +17,7 @@ import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -105,7 +106,8 @@ public final class EditorRegistry implements IExtensionChangeHandler, IEditorReg private static final String ATTR_ID = "id"; - + private static final Comparator ADAPTER_COMPARATOR = (o1, o2) -> -(o1.getPriority() - o2.getPriority()); + private static class Group { public final String id; public final List adapters; @@ -558,6 +560,9 @@ public final class EditorRegistry implements IExtensionChangeHandler, IEditorReg } result = gatherAdapterResult(l); + + Arrays.sort(result, ADAPTER_COMPARATOR); + updateCache(r, result); if (status != null && !status.isOK())