X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.event%2Fsrc%2Forg%2Fsimantics%2Fevent%2Fview%2Fcontribution%2FProjectEventsRule.java;h=9b9ea8bfe07437702a1403ce715e567d33637595;hp=e6e59966c37f7d0a15696d6d7d53e369f048ff6e;hb=bd5bc6e45f700e755b61bd112631796631330ecb;hpb=7684baeb8bc7963700676af20db6f4a860581e46 diff --git a/bundles/org.simantics.event/src/org/simantics/event/view/contribution/ProjectEventsRule.java b/bundles/org.simantics.event/src/org/simantics/event/view/contribution/ProjectEventsRule.java index e6e59966c..9b9ea8bfe 100644 --- a/bundles/org.simantics.event/src/org/simantics/event/view/contribution/ProjectEventsRule.java +++ b/bundles/org.simantics.event/src/org/simantics/event/view/contribution/ProjectEventsRule.java @@ -116,20 +116,25 @@ public enum ProjectEventsRule implements ChildRule { if (!showHiddenEvents && graph.hasStatement(event, EVENT.Hidden)) continue; + boolean isReturnEvent = hideReturnEvents || showOnlyActiveEvents + ? graph.hasStatement(event, EVENT.ReturnEvent) : false; + + // Skip all return events if thus preferred. + if (hideReturnEvents && isReturnEvent) { + continue; + } + + // Skip all return events and starting events that have been returned, + // if thus preferred. Also skip events that are defined non-returnable. if (showOnlyActiveEvents - && (graph.hasStatement(event, EVENT.Returns) + && (isReturnEvent + || graph.hasStatement(event, EVENT.Returns) || graph.hasStatement(event, EVENT.ReturnedBy) || graph.hasStatement(event, EVENT.NoReturn))) { continue; } - // Skip return events if thus preferred. - if (hideReturnEvents && graph.hasStatement(event, EVENT.ReturnEvent)) { - if (graph.getPossibleObject(event, EVENT.Returns) != null) - continue; - } - // Filter by event type severity Resource eventType = graph.getPossibleObject(event, EVENT.Event_type); if (eventType != null) {