Пример #1
0
        /// <summary>
        /// Returns the given items in a table with {@code size.width} columns and
        /// {@code size.height} rows.  If the table is too big, empty cells will be
        /// created as needed.  If the table is too small, the items that don't fit
        /// will not be rendered.
        /// </summary>
        /// <param name="items"> Palette items.</param>
        /// <param name="size"> Palette size (columns x rows); both dimensions
        /// must be specified as numbers.</param>
        /// <param name="dom"> DOM helper for document interaction.</param>
        /// <returns>Palette table element.</returns>
        public HTMLElement createGrid(ControlContent items, goog.math.Size size, goog.dom.DomHelper dom)
        {
            var rows = new JsArray <Node>();

            for (int row = 0, index = 0; row < size.height; row++)
            {
                var cells = new JsArray <Node>();
                for (var column = 0; column < size.width; column++)
                {
                    var item = items != null?items.AsArray()[index++] : null;

                    cells.Push(this.createCell(item, dom));
                }
                rows.Push(this.createRow(cells, dom));
            }

            return(this.createTable(rows, dom));
        }