/// <summary> /// Detach a view from the inner. /// </summary> /// <param name="view">The attaching view.</param> /// <param name="callbackSet">The set of callbacks to no longer call when enumerating existing states.</param> public override void Detach(IReadOnlyControllerView view, IReadOnlyAttachCallbackSet callbackSet) { foreach (IReadOnlyNodeState ChildState in StateList) { ((IReadOnlyNodeState <IReadOnlyInner <IReadOnlyBrowsingChildIndex> >)ChildState).Detach(view, callbackSet); } }
/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyNodeStateView"/> class. /// </summary> /// <param name="controllerView">The controller view to which this object belongs.</param> /// <param name="state">The node state.</param> public ReadOnlyNodeStateView(IReadOnlyControllerView controllerView, IReadOnlyNodeState state) { Debug.Assert(controllerView != null); Debug.Assert(state != null); ControllerView = controllerView; State = state; }
/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyBlockStateView"/> class. /// </summary> /// <param name="controllerView">The controller view to which this object belongs.</param> /// <param name="blockState">The block state.</param> public ReadOnlyBlockStateView(IReadOnlyControllerView controllerView, IReadOnlyBlockState blockState) { Debug.Assert(controllerView != null); Debug.Assert(blockState != null); ControllerView = controllerView; BlockState = blockState; }
/// <summary> /// Detach a view from the inner. /// </summary> /// <param name="view">The attaching view.</param> /// <param name="callbackSet">The set of callbacks to no longer call when enumerating existing states.</param> public override void Detach(IReadOnlyControllerView view, IReadOnlyAttachCallbackSet callbackSet) { foreach (IReadOnlyBlockState BlockState in BlockStateList) { ((IReadOnlyBlockState <IReadOnlyInner <IReadOnlyBrowsingChildIndex> >)BlockState).Detach(view, callbackSet); } callbackSet.OnBlockListInnerDetached(this); }
/// <summary> /// Detach a view to the state. /// </summary> /// <param name="view">The attaching view.</param> /// <param name="callbackSet">The set of callbacks to no longer call when enumerating existing states.</param> public virtual void Detach(IReadOnlyControllerView view, IReadOnlyAttachCallbackSet callbackSet) { foreach (KeyValuePair <string, IReadOnlyInner> Entry in InnerTable) { IReadOnlyInner Inner = Entry.Value; ((IReadOnlyInner <IReadOnlyBrowsingChildIndex>)Inner).Detach(view, callbackSet); } callbackSet.OnNodeStateDetached(this); }
/// <summary> /// Detach a view from the block state. /// </summary> /// <param name="view">The attaching view.</param> /// <param name="callbackSet">The set of callbacks to no longer call when enumerating existing states.</param> public virtual void Detach(IReadOnlyControllerView view, IReadOnlyAttachCallbackSet callbackSet) { foreach (IReadOnlyNodeState ChildState in StateList) { ((IReadOnlyNodeState <IInner>)ChildState).Detach(view, callbackSet); } ((IReadOnlySourceState <IInner>)SourceState).Detach(view, callbackSet); ((IReadOnlyPatternState <IInner>)PatternState).Detach(view, callbackSet); callbackSet.OnBlockStateDetached(this); }
/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyPlaceholderNodeStateView"/> class. /// </summary> /// <param name="controllerView">The controller view to which this object belongs.</param> /// <param name="state">The child node state.</param> public ReadOnlyPlaceholderNodeStateView(IReadOnlyControllerView controllerView, IReadOnlyPlaceholderNodeState state) : base(controllerView, state) { }
/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyOptionalNodeStateView"/> class. /// </summary> /// <param name="controllerView">The controller view to which this object belongs.</param> /// <param name="state">The optional node state.</param> public ReadOnlyOptionalNodeStateView(IReadOnlyControllerView controllerView, IReadOnlyOptionalNodeState state) : base(controllerView, state) { }
/// <summary> /// DEtach a view from the inner. /// </summary> /// <param name="view">The attaching view.</param> /// <param name="callbackSet">The set of callbacks to no longer call when enumerating existing states.</param> public abstract void Detach(IReadOnlyControllerView view, IReadOnlyAttachCallbackSet callbackSet);
/// <summary> /// Attach a view to the inner. /// </summary> /// <param name="view">The attaching view.</param> /// <param name="callbackSet">The set of callbacks to call when enumerating existing states.</param> public override void Attach(IReadOnlyControllerView view, IReadOnlyAttachCallbackSet callbackSet) { ((IReadOnlyOptionalNodeState <IReadOnlyInner <IReadOnlyBrowsingChildIndex> >)ChildState).Attach(view, callbackSet); }
/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyPatternStateView"/> class. /// </summary> /// <param name="controllerView">The controller view to which this object belongs.</param> /// <param name="state">The pattern state.</param> public ReadOnlyPatternStateView(IReadOnlyControllerView controllerView, IReadOnlyPatternState state) : base(controllerView, state) { }
/// <summary> /// Initializes a new instance of the <see cref="ReadOnlySourceStateView"/> class. /// </summary> /// <param name="controllerView">The controller view to which this object belongs.</param> /// <param name="state">The source state.</param> public ReadOnlySourceStateView(IReadOnlyControllerView controllerView, IReadOnlySourceState state) : base(controllerView, state) { }