Exemple #1
0
        public static int GetImageCountOfViewport(McsfFilmViewport viewport)
        {
            if (viewport == null)
            {
                return(0);
            }

            return(viewport.GetCells().Count(cell => cell.Image != null));
        }
Exemple #2
0
 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);
         }
     }
 }
Exemple #3
0
        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;
                }
            }
        }
Exemple #4
0
        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;
            }
        }
Exemple #5
0
        /// <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;
                    }
                }
            }
        }