public static void SelectCellsOnSuccessionalPage( FilmingPageControl currentPage, FilmingPageControl minPage, FilmingPageControl maxPage, int minVIndex, int maxVIndex, int minCIndex, int maxCIndex) { currentPage.IsSelected = true; if (minPage == maxPage) { // only one page is selected foreach (var viewport in currentPage.ViewportList) { if (viewport.IndexInFilm >= minVIndex && viewport.IndexInFilm <= maxVIndex) { foreach (var cell in viewport.GetCells()) { viewport.IsSelected = true; if (cell.CellIndex >= minCIndex && cell.CellIndex <= maxCIndex) { if (!cell.IsSelected) { cell.IsSelected = true; } } else { if (cell.IsSelected) { cell.IsSelected = false; } } } } else { if (viewport.IsSelected) { viewport.IsSelected = false; viewport.SelectAllCells(false); } } } } else if (currentPage == minPage) { // current page is min page. foreach (var viewport in currentPage.ViewportList) { if (viewport.IndexInFilm > minVIndex) { viewport.IsSelected = true; viewport.SelectAllCells(true); } else if (viewport.IndexInFilm == minVIndex) { viewport.IsSelected = true; foreach (var cell in viewport.GetCells()) { if (cell.CellIndex >= minCIndex) { if (!cell.IsSelected) { cell.IsSelected = true; } } else { if (cell.IsSelected) { cell.IsSelected = false; } } } } else { if (viewport.IsSelected) { viewport.IsSelected = false; viewport.SelectAllCells(false); } } } } else if (currentPage == maxPage) { // current page is max page. foreach (var viewport in currentPage.ViewportList) { if (viewport.IndexInFilm < maxVIndex) { viewport.IsSelected = true; viewport.SelectAllCells(true); } else if (viewport.IndexInFilm == maxVIndex) { viewport.IsSelected = true; foreach (var cell in viewport.GetCells()) { if (cell.CellIndex <= maxCIndex) { if (!cell.IsSelected) { cell.IsSelected = true; } } else { if (cell.IsSelected) { cell.IsSelected = false; } } } } else { if (viewport.IsSelected) { viewport.IsSelected = false; viewport.SelectAllCells(false); } } } } else { // current page is between min and max page. currentPage.SelectedAll(true); } }
// Active/Deactive and select/unselect all viewport, cells of filming page. public static void SelectAllOfFilmingPage(FilmingPageControl page, Boolean isSelected) { page.IsSelected = isSelected; page.SelectedAll(isSelected); }