Exemple #1
0
        /// <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)
 {
 }
Exemple #9
0
 /// <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)
 {
 }
Exemple #11
0
 /// <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)
 {
 }
Exemple #12
0
 /// <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);
 }