Esempio n. 1
0
        private void CompleteCells()
        {
            var capacity         = ViewerControl.LayoutManager.RootCell.DisplayCapacity;
            var currentCellCount = ViewerControl.CellCount;
            var deltaCellCount   = capacity - currentCellCount;

            if (deltaCellCount == 0)
            {
                return;
            }

            // cell count is less
            // TODO-later: New FilmingControlCell(), not smell good
            var cells = new List <FilmingControlCell>();

            for (var i = 0; i < deltaCellCount; i++)
            {
                cells.Add(new FilmingControlCell());
            }
            ViewerControl.AddCells(cells);

            // cell count is more,  not move, for performance conside ( ViewerControl only have interface to remove a cell, then refresh )

            // Register CellImpl.MouseDown Event
            for (var i = 0; i < deltaCellCount; i++)
            {
                var cellImpl = cells[i].Control;
                Debug.Assert(cellImpl != null);
                cellImpl.MouseDown -= CellImplOnMouseDown;
                cellImpl.MouseDown += CellImplOnMouseDown;
            }
        }