/// <summary> /// Creates and initializes a new instance of a <see cref="ReadOnlyControllerView"/> object. /// </summary> /// <param name="controller">The controller on which the view is attached.</param> public static IReadOnlyControllerView Create(IReadOnlyController controller) { ReadOnlyControllerView View = new ReadOnlyControllerView(controller); View.Init(); return(View); }
/// <inheritdoc/> public override void Detach(ReadOnlyControllerView view, ReadOnlyAttachCallbackSet 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(ReadOnlyControllerView controllerView, IReadOnlyNodeState state) { Contract.RequireNotNull(controllerView, out ReadOnlyControllerView ControllerView); Contract.RequireNotNull(state, out IReadOnlyNodeState State); this.ControllerView = ControllerView; this.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(ReadOnlyControllerView controllerView, IReadOnlyBlockState blockState) { Contract.RequireNotNull(controllerView, out ReadOnlyControllerView ControllerView); Contract.RequireNotNull(blockState, out IReadOnlyBlockState BlockState); this.ControllerView = ControllerView; this.BlockState = BlockState; }
/// <inheritdoc/> public override void Detach(ReadOnlyControllerView view, ReadOnlyAttachCallbackSet callbackSet) { foreach (IReadOnlyBlockState BlockState in BlockStateList) { ((IReadOnlyBlockState <IReadOnlyInner <IReadOnlyBrowsingChildIndex> >)BlockState).Detach(view, callbackSet); } callbackSet.OnBlockListInnerDetached(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(ReadOnlyControllerView view, ReadOnlyAttachCallbackSet 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="ReadOnlySourceStateView"/> class. /// </summary> /// <param name="controllerView">The controller view to which this object belongs.</param> /// <param name="state">The source state.</param> public ReadOnlySourceStateView(ReadOnlyControllerView controllerView, IReadOnlySourceState state) : base(controllerView, state) { }
/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyEmptyNodeStateView"/> class. /// </summary> /// <param name="controllerView">The controller view to which this object belongs.</param> /// <param name="state">The node state.</param> protected ReadOnlyEmptyNodeStateView(ReadOnlyControllerView controllerView, IReadOnlyNodeState 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(ReadOnlyControllerView view, ReadOnlyAttachCallbackSet callbackSet);
/// <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(ReadOnlyControllerView controllerView, IReadOnlyOptionalNodeState state) : base(controllerView, state) { }
/// <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(ReadOnlyControllerView controllerView, IReadOnlyPlaceholderNodeState state) : base(controllerView, state) { }
/// <inheritdoc/> public override void Attach(ReadOnlyControllerView view, ReadOnlyAttachCallbackSet 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(ReadOnlyControllerView controllerView, IReadOnlyPatternState state) : base(controllerView, state) { }
/// <inheritdoc/> public virtual void Detach(ReadOnlyControllerView view, ReadOnlyAttachCallbackSet callbackSet) { ((IReadOnlyPlaceholderNodeState <IReadOnlyInner <IReadOnlyBrowsingChildIndex> >)RootState).Detach(view, callbackSet); }