private protected override void Refresh(IFrameNodeState state) { Node FocusedNode = null; IFocusFrame FocusedFrame = null; if (Focus != null) { Focus.GetLocationInSourceCode(out FocusedNode, out FocusedFrame); } base.Refresh(state); UpdateFocusChain((IFocusNodeState)state, FocusedNode, FocusedFrame); }
private protected virtual bool IsSameChangeCommentOperationFocus(FocusChangeCommentOperation operation) { Node Node = null; if (operation.State.ParentIndex is IFocusNodeIndex AsNodeIndex) { Node = AsNodeIndex.Node; } else if (operation.State is IFocusOptionalNodeState AsOptionalNodeState && AsOptionalNodeState.ParentInner.IsAssigned) { Node = AsOptionalNodeState.Node; } Debug.Assert(Node != null); Node FocusedNode = null; IFocusFrame FocusedFrame = null; Focus.GetLocationInSourceCode(out FocusedNode, out FocusedFrame); return(FocusedNode == Node && FocusedFrame is IFocusCommentFrame); }