public static int GetImageCountOfViewport(McsfFilmViewport viewport) { if (viewport == null) { return(0); } return(viewport.GetCells().Count(cell => cell.Image != null)); }
public static void UnselectOtherViewports(FilmingPageControl page, McsfFilmViewport viewport) { foreach (var aViewport in page.ViewportList) { if (aViewport.IsSelected && aViewport != viewport) { aViewport.IsSelected = false; aViewport.SelectAllCells(false); } } }
public static void UnselectOtherCellsInViewport(McsfFilmViewport viewport, MedViewerControlCell cell, bool _isGroupLRButtonDown = false) { //if (cell.ViewerControl.CellHoldedByAction != null) //{ // cell.ViewerControl.CellHoldedByAction.ForceEndAction(); //} var cells = viewport.GetCells(); foreach (var aCell in cells) { if (aCell.IsSelected && aCell != cell && !_isGroupLRButtonDown) { aCell.IsSelected = false; } } }
public static void UnselectCellInViewport(McsfFilmViewport viewport, MedViewerControlCell cell) { if (cell == null) { return; } if (viewport == null) { cell.IsSelected = false; return; } var cells = viewport.GetCells(); cell.IsSelected = false; if (cells.All(c => !c.IsSelected)) { viewport.IsSelected = false; } }
/// <summary> /// 设置minicell的状态 /// </summary> /// <param name="pageList"></param>IEnumerable<FilmingPageControl> pageList /// <param name="args"></param> //public static void MakeSingleUseCellSelectStatus(List<MedViewerControlCell> cellList , SingleUseCellSelectedEventArgs args) //{ // foreach (var cell in cellList) // { // var overlayLocalizedImage = cell.Image.CurrentPage.GetOverlay(OverlayType.LocalizedImage) as OverlayLocalizedImage; // if (null != overlayLocalizedImage) // { // pageControl.IsSelected = true; // viewport.IsSelected = true; // overlayLocalizedImage.GraphicLocalizedImage.MiniCell.IsSelected = true; // //shouldBreakFilmingPage = true; // //break; // } // } //} #endregion public static void GetMinMaxInfoFromStartAndEndSelections( FilmingPageControl startPage, McsfFilmViewport startViewport, MedViewerControlCell startCell, FilmingPageControl endPage, McsfFilmViewport endViewport, MedViewerControlCell endCell, out FilmingPageControl minPage, out FilmingPageControl maxPage, out int minViewportIndex, out int maxViewportIndex, out int minCellIndex, out int maxCellIndex) { minPage = (startPage.FilmPageIndex > endPage.FilmPageIndex) ? endPage : startPage; maxPage = (minPage == endPage) ? startPage : endPage; minViewportIndex = (startPage.FilmPageIndex == minPage.FilmPageIndex) ? startViewport.IndexInFilm : endViewport.IndexInFilm; maxViewportIndex = (startPage.FilmPageIndex == maxPage.FilmPageIndex) ? startViewport.IndexInFilm : endViewport.IndexInFilm; minCellIndex = (startPage.FilmPageIndex == minPage.FilmPageIndex) ? startCell.CellIndex : endCell.CellIndex; maxCellIndex = (startPage.FilmPageIndex == maxPage.FilmPageIndex) ? startCell.CellIndex : endCell.CellIndex; // same page if (minPage.FilmPageIndex == maxPage.FilmPageIndex) { minViewportIndex = Math.Min(startViewport.IndexInFilm, endViewport.IndexInFilm); maxViewportIndex = Math.Max(startViewport.IndexInFilm, endViewport.IndexInFilm); // same viewport if (startViewport.IndexInFilm == endViewport.IndexInFilm) { minCellIndex = Math.Min(startCell.CellIndex, endCell.CellIndex); maxCellIndex = Math.Max(startCell.CellIndex, endCell.CellIndex); } else { // different viewport if (minViewportIndex == startViewport.IndexInFilm) { minCellIndex = startCell.CellIndex; maxCellIndex = endCell.CellIndex; } else /*(minViewportIndex == endViewport.Index)*/ { minCellIndex = endCell.CellIndex; maxCellIndex = startCell.CellIndex; } } } }