public void propagateToBackingMatchers(MatcherChain matcherChain) { if (matcherVMRemoved != null) { matcherVMRemoved.propagateToBackingMatchers(matcherChain.Matchers, this); matcherVMRemoved = null; } MatcherVM.propagateToBackingMatchers(matcherChain.Matchers, this); if (MatcherVM.hasBackingMatcher()) { MatcherVM.getBackingMatcher().Name = Name; } if (IsLevel && MatcherVM.hasBackingMatcher()) { matcherChain.LevelMatcherRef = MatcherVM.getBackingMatcher(); } }
private void OnSelectedMatcherChanged(MatcherType newValue) { if (MatcherVM != null) { MatcherVM.remove(); if (MatcherVM.hasBackingMatcher()) { matcherVMRemoved = MatcherVM; } } MatcherVM = getInstance(newValue); HasAffixes = MatcherVM.hasAffixes(); HasSeparator = MatcherVM.hasSeparator(); CanBeLevel = canBeLevel(newValue); if (!CanBeLevel) { IsLevel = false; } }