GetColumnIter() public method

public GetColumnIter ( ) : IEnumerable
return IEnumerable
コード例 #1
0
        public override void TopDownReArrangeContent()
        {
#if DEBUG
            vinv_dbug_EnterLayerReArrangeContent(this);
#endif
            //---------------------------------
            //this.BeginLayerLayoutUpdate();
            //---------------------------------
            if (gridCols != null && gridCols.Count > 0)
            {
                int curY = 0;
                foreach (GridRow rowDef in gridRows.GetRowIter())
                {
                    rowDef.AcceptDesiredHeight(curY);
                    curY += rowDef.Height;
                }

                int curX = 0;
                foreach (GridColumn gridCol in gridCols.GetColumnIter())
                {
                    SetLeftAndPerformArrange(gridCol, curX);
                    curX += gridCol.Width;
                }
            }

            ValidateArrangement();
            //---------------------------------
            //this.EndLayerLayoutUpdate();

#if DEBUG
            vinv_dbug_ExitLayerReArrangeContent();
#endif
        }
コード例 #2
0
ファイル: 2_GridLayer.cs プロジェクト: brezza92/PixelFarm
        //        //
        //        public void TopDownReArrangeContent()
        //        {
        //#if DEBUG
        //            //vinv_dbug_EnterLayerReArrangeContent(this);
        //#endif
        //            //---------------------------------
        //            //this.BeginLayerLayoutUpdate();
        //            //---------------------------------
        //            if (_gridCols != null && _gridCols.Count > 0)
        //            {
        //                int curY = 0;
        //                foreach (GridRow rowDef in _gridRows.GetRowIter())
        //                {
        //                    rowDef.AcceptDesiredHeight(curY);
        //                    curY += rowDef.Height;
        //                }

        //                int curX = 0;
        //                foreach (GridColumn gridCol in _gridCols.GetColumnIter())
        //                {
        //                    SetLeftAndPerformArrange(gridCol, curX);
        //                    curX += gridCol.Width;
        //                }
        //            }

        //            _validSize = true;

        //            //---------------------------------
        //            //this.EndLayerLayoutUpdate();

        //#if DEBUG
        //            //            vinv_dbug_ExitLayerReArrangeContent();
        //#endif
        //        }


        //static void SetLeftAndPerformArrange(GridColumn col, int left)
        //{
        //    int prevWidth = col.Width;
        //    if (!col.HasCustomSize)
        //    {
        //        col.Width = col.CalculatedWidth;
        //    }
        //    col.Left = left;
        //    int j = col.CellCount;
        //    int dW = col.Width;
        //    for (int i = 0; i < j; ++i)
        //    {
        //        var content = col.GetCell(i).ContentElement as RenderElement;
        //        if (content != null)
        //        {
        //            //RenderElement.DirectSetVisualElementWidth(content, dW);
        //            //if (content.IsVisualContainerBase)
        //            //{

        //            //    ArtVisualContainerBase vscont = (ArtVisualContainerBase)content;
        //            //    vscont.InvalidateContentArrangementFromContainerSizeChanged();
        //            //    vscont.TopDownReArrangeContentIfNeed(vinv);
        //            //}
        //        }
        //    }
        //}
        public IEnumerable <RenderElement> GetRenderElementIter()
        {
            if (_gridCols != null && _gridCols.Count > 0)
            {
                foreach (GridColumn gridCol in _gridCols.GetColumnIter())
                {
                    foreach (var gridCell in gridCol.GetTopDownGridCellIter())
                    {
                        if (gridCell.ContentElement is RenderElement re)
                        {
                            yield return(re);
                        }
                    }
                }
            }
        }