Ejemplo n.º 1
0
 /// <summary>
 /// Creates a IxxxContainerCellView object.
 /// </summary>
 private protected override IFrameContainerCellView CreateFrameCellView(IFrameNodeStateView stateView, IFrameCellViewCollection parentCellView, IFrameNodeStateView childStateView, IFramePlaceholderFrame frame)
 {
     ControllerTools.AssertNoOverride(this, typeof(LayoutVerticalPanelFrame));
     return(new LayoutContainerCellView((ILayoutNodeStateView)stateView, (ILayoutCellViewCollection)parentCellView, (ILayoutNodeStateView)childStateView, (ILayoutPlaceholderFrame)frame));
 }
Ejemplo n.º 2
0
        private protected override IFrameCellView BuildBlockCellsForPlaceholderFrame(IFrameCellViewTreeContext context, IFramePlaceholderFrame frame, IFrameCellViewCollection embeddingCellView, IFrameBlockState blockState)
        {
            Type   OldSelectorType = null;
            string OldSelectorName = null;

            ((IFocusCellViewTreeContext)context).AddOrReplaceSelectors(((IFocusPlaceholderFrame)frame).Selectors, out OldSelectorType, out OldSelectorName);

            IFrameCellView ItemCellView = base.BuildBlockCellsForPlaceholderFrame(context, frame, embeddingCellView, blockState);

            bool HasVisibleCellView = ItemCellView.HasVisibleCellView;

            Debug.Assert(((IFocusCellViewTreeContext)context).IsVisible || !HasVisibleCellView);

            ((IFocusCellViewTreeContext)context).RemoveOrRestoreSelectors(((IFocusPlaceholderFrame)frame).Selectors, OldSelectorType, OldSelectorName);

            return(ItemCellView);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Creates a IxxxContainerCellView object.
 /// </summary>
 private protected virtual IFrameContainerCellView CreateFrameCellView(IFrameNodeStateView stateView, IFrameCellViewCollection parentCellView, IFrameNodeStateView childStateView, IFramePlaceholderFrame frame)
 {
     ControllerTools.AssertNoOverride(this, Type.FromTypeof <FramePanelFrame>());
     return(new FrameContainerCellView(stateView, parentCellView, childStateView, frame));
 }
Ejemplo n.º 4
0
        private protected virtual IFrameCellView BuildPlaceholderCells(IFrameCellViewTreeContext context, IFrameCellViewCollection parentCellView, IFrameNodeState childState, IFramePlaceholderFrame frame)
        {
            FrameNodeStateViewDictionary StateViewTable = context.ControllerView.StateViewTable;

            Debug.Assert(StateViewTable.ContainsKey(childState));

            IFrameNodeStateView StateView      = context.StateView;
            IFrameNodeStateView ChildStateView = (IFrameNodeStateView)StateViewTable[childState];

            Debug.Assert(ChildStateView.RootCellView == null);
            context.SetChildStateView(ChildStateView);
            ChildStateView.BuildRootCellView(context);
            context.RestoreParentStateView(StateView);
            Debug.Assert(ChildStateView.RootCellView != null);

            IFrameContainerCellView Result = CreateFrameCellView(context.StateView, parentCellView, ChildStateView, frame);

            ChildStateView.SetContainerCellView(Result);

            return(Result);
        }
Ejemplo n.º 5
0
        private protected virtual IFrameCellView BuildBlockCellsForPlaceholderFrame(IFrameCellViewTreeContext context, IFramePlaceholderFrame frame, IFrameCellViewCollection embeddingCellView, IFrameBlockState blockState)
        {
            IFrameCellView ItemCellView = null;
            bool           IsHandled    = false;

            if (frame.PropertyName == nameof(IBlock.ReplicationPattern))
            {
                ItemCellView = BuildPlaceholderCells(context, embeddingCellView, blockState.PatternState, frame);
                IsHandled    = true;
            }
            else if (frame.PropertyName == nameof(IBlock.SourceIdentifier))
            {
                ItemCellView = BuildPlaceholderCells(context, embeddingCellView, blockState.SourceState, frame);
                IsHandled    = true;
            }

            Debug.Assert(IsHandled);

            return(ItemCellView);
        }
 /// <summary>
 /// Creates a IxxxContainerCellView object.
 /// </summary>
 private protected override IFrameContainerCellView CreateFrameCellView(IFrameNodeStateView stateView, IFrameCellViewCollection parentCellView, IFrameNodeStateView childStateView, IFramePlaceholderFrame frame)
 {
     ControllerTools.AssertNoOverride(this, Type.FromTypeof <FocusHorizontalPanelFrame>());
     return(new FocusContainerCellView((IFocusNodeStateView)stateView, (IFocusCellViewCollection)parentCellView, (IFocusNodeStateView)childStateView, (IFocusPlaceholderFrame)frame));
 }