private void ShowWithContextFilter(Screen mousedOverViewModel) { if (mousedOverViewModel is InputTerminal inputTerminalMouseIsOver) { ContextTerminal = inputTerminalMouseIsOver; Show(n => n.Terminals.Any(t => t is OutputTerminal && t.Model.Type.IsAssignableFrom(inputTerminalMouseIsOver.Model.Type))); inputTerminalMouseIsOver.HighlightVisible = true; } else if (mousedOverViewModel is OutputTerminal outputTerminalMouseIsOver) { ContextTerminal = outputTerminalMouseIsOver; Show(n => n.Terminals.Any(t => t is InputTerminal && t.Model.Type.IsAssignableFrom(outputTerminalMouseIsOver.Model.Type))); outputTerminalMouseIsOver.HighlightVisible = true; } else { Show(n => true); } if (ContextTerminal != null) { ContextTerminal.SetAdorner(null); } }
private void ShowWithContextFilter(Screen mousedOverViewModel) { if (mousedOverViewModel is InputTerminal inputTerminalMouseIsOver) { ContextTerminal = inputTerminalMouseIsOver; Show(n => n.Terminals.Any(t => t is OutputTerminal && ValueConverter.TryCoerseValue(t.Data, inputTerminalMouseIsOver.Model.Type, out var _))); inputTerminalMouseIsOver.HighlightVisible = true; } else if (mousedOverViewModel is OutputTerminal outputTerminalMouseIsOver) { ContextTerminal = outputTerminalMouseIsOver; Show(n => n.Terminals.Any(t => t is InputTerminal && ValueConverter.TryCoerseValue(outputTerminalMouseIsOver.Data, t.Model.Type, out var _))); outputTerminalMouseIsOver.HighlightVisible = true; } else { Show(n => true); } if (ContextTerminal != null) { ContextTerminal.SetAdorner(null); } }