Esempio n. 1
0
        /// <summary> Accepts a simple <see cref="View_Object"/> from the digital resource object and returns
        /// the appropriate item viewer object which extends the <see cref="SobekCM.Library.ItemViewer.Viewers.abstractItemViewer"/>
        /// class for rendering the item to the web via HTML.</summary>
        /// <param name="viewObject"> View object from the digital resource object </param>
        /// <param name="Resource_Type">Resource type often impacts how an item viewer renders</param>
        /// <returns> Genereated item viewer class for rendering the particular view of a digital resource
        /// via HTML. </returns>
        public static abstractItemViewer Get_Viewer(View_Object viewObject, string Resource_Type)
        {
            switch (viewObject.View_Type)
            {
            case View_Enum.ALL_VOLUMES:
                return(new MultiVolumes_ItemViewer());

            case View_Enum.CITATION:
                return(new Citation_ItemViewer());

            case View_Enum.DOWNLOADS:
                return(new Download_ItemViewer());

            case View_Enum.FEATURES:
                return(new Feature_ItemViewer());

            case View_Enum.FLASH:
                return(new Flash_ItemViewer(viewObject.Label, 0));

            case View_Enum.GOOGLE_MAP:
                return(new Google_Map_ItemViewer());

            case View_Enum.HTML:
                return(new HTML_ItemViewer(viewObject.Attributes, viewObject.Label));

            case View_Enum.HTML_MAP:
                string[] html_map_splitter = viewObject.Attributes.Split(";".ToCharArray());
                if (html_map_splitter.Length >= 2)
                {
                    return(new HTML_Map_ItemViewer(html_map_splitter[0], html_map_splitter[1], viewObject.Label));
                }
                break;

            case View_Enum.JPEG:
                abstractItemViewer jpegViewer = new JPEG_ItemViewer(viewObject.Attributes);
                jpegViewer.FileName = viewObject.FileName;
                return(jpegViewer);

            case View_Enum.JPEG2000:
                abstractItemViewer jpeg2000Viewer = new Aware_JP2_ItemViewer(Resource_Type, viewObject.Attributes);
                jpeg2000Viewer.FileName = viewObject.FileName;
                return(jpeg2000Viewer);

            case View_Enum.RELATED_IMAGES:
                return(new Related_Images_ItemViewer(viewObject.Label));

            case View_Enum.SEARCH:
                return(new Text_Search_ItemViewer());

            case View_Enum.STREETS:
                return(new Street_ItemViewer());

            case View_Enum.TEXT:
                abstractItemViewer textViewer = new Text_ItemViewer();
                textViewer.FileName = viewObject.FileName;
                return(textViewer);

            case View_Enum.TOC:
                return(new TOC_ItemViewer());

            case View_Enum.PDF:
                return(new PDF_ItemViewer(viewObject.FileName));

            case View_Enum.EAD_DESCRIPTION:
                return(new EAD_Description_ItemViewer());

            case View_Enum.EAD_CONTAINER_LIST:
                return(new EAD_Container_List_ItemViewer());

            case View_Enum.PAGE_TURNER:
                return(new GnuBooks_PageTurner_ItemViewer());

            case View_Enum.YOUTUBE_VIDEO:
                return(new YouTube_Embedded_Video_ItemViewer());

            case View_Enum.EMBEDDED_VIDEO:
                return(new EmbeddedVideo_ItemViewer());

            case View_Enum.TRACKING:
                return(new Tracking_ItemViewer());

            case View_Enum.QUALITY_CONTROL:
                return(new QC_ItemViewer());
            }

            return(null);
        }
        /// <summary> Accepts a simple <see cref="View_Object"/> from the digital resource object and returns
        /// the appropriate item viewer object which extends the <see cref="SobekCM.Library.ItemViewer.Viewers.abstractItemViewer"/>
        /// class for rendering the item to the web via HTML.</summary>
        /// <param name="viewObject"> View object from the digital resource object </param>
        /// <param name="Resource_Type">Resource type often impacts how an item viewer renders</param>
        /// <param name="Current_Object">Current resource object </param>
        /// <param name="Current_User">Currently session's user </param>
        /// <returns> Genereated item viewer class for rendering the particular view of a digital resource
        /// via HTML. </returns>
        public static abstractItemViewer Get_Viewer(View_Object viewObject, string Resource_Type, SobekCM_Item Current_Object, User_Object Current_User, SobekCM_Navigation_Object Current_Mode)
        {
            switch (viewObject.View_Type)
            {
            case View_Enum.ALL_VOLUMES:
                return(new MultiVolumes_ItemViewer());

            case View_Enum.CITATION:
                return(new Citation_ItemViewer());

            case View_Enum.DOWNLOADS:
                return(new Download_ItemViewer());

            case View_Enum.DATASET_CODEBOOK:
                return(new Dataset_CodeBook_ItemViewer());

            case View_Enum.DATASET_REPORTS:
                return(new Dataset_Reports_ItemViewer());

            case View_Enum.DATASET_VIEWDATA:
                return(new Dataset_ViewData_ItemViewer());

            case View_Enum.EAD_DESCRIPTION:
                return(new EAD_Description_ItemViewer());

            case View_Enum.EAD_CONTAINER_LIST:
                return(new EAD_Container_List_ItemViewer());

            case View_Enum.EMBEDDED_VIDEO:
                return(new EmbeddedVideo_ItemViewer());

            case View_Enum.FEATURES:
                return(new Feature_ItemViewer());

            case View_Enum.FLASH:
                return(new Flash_ItemViewer(viewObject.Label, 0));

            case View_Enum.GOOGLE_COORDINATE_ENTRY:
                return(new Google_Coordinate_Entry_ItemViewer(Current_User, Current_Object, Current_Mode));

            case View_Enum.GOOGLE_MAP:
                return(new Google_Map_ItemViewer());

            case View_Enum.GOOGLE_MAP_BETA:
                return(new Google_Map_ItemViewer_Beta());

            case View_Enum.HTML:
                return(new HTML_ItemViewer(viewObject.Attributes, viewObject.Label));

            case View_Enum.JPEG:
                abstractItemViewer jpegViewer = new JPEG_ItemViewer(viewObject.Attributes);
                jpegViewer.FileName = viewObject.FileName;
                return(jpegViewer);

            case View_Enum.JPEG_TEXT_TWO_UP:
                abstractItemViewer jpegTextViewer = new JPEG_Text_Two_Up_ItemViewer(viewObject.Attributes);
                jpegTextViewer.FileName = viewObject.FileName;
                return(jpegTextViewer);

            case View_Enum.JPEG2000:
                if (SobekCM_Library_Settings.JP2ServerType == "Built-In IIPImage")
                {
                    abstractItemViewer newJp2Viewer = new JPEG2000_ItemViewer();
                    newJp2Viewer.FileName = viewObject.FileName;
                    return(newJp2Viewer);
                }
                else if (SobekCM_Library_Settings.JP2ServerType == "Aware")
                {
                    abstractItemViewer jpeg2000Viewer = new Aware_JP2_ItemViewer(Resource_Type, viewObject.Attributes, Current_Mode);
                    jpeg2000Viewer.FileName = viewObject.FileName;
                    return(jpeg2000Viewer);
                }
                return(null);

                break;

            case View_Enum.MANAGE:
                return(new ManageMenu_ItemViewer(Current_Object, Current_User, Current_Mode));

            case View_Enum.PAGE_TURNER:
                return(new GnuBooks_PageTurner_ItemViewer());

            case View_Enum.PDF:
                return(new PDF_ItemViewer(viewObject.FileName));

            case View_Enum.QUALITY_CONTROL:
                return(new QC_ItemViewer(Current_Object, Current_User, Current_Mode));

            case View_Enum.RELATED_IMAGES:
                return(new Related_Images_ItemViewer());

            case View_Enum.SEARCH:
                return(new Text_Search_ItemViewer());

            case View_Enum.STREETS:
                return(new Street_ItemViewer());

            case View_Enum.TEST:
                return(new Test_ItemViewer());

            case View_Enum.TEXT:
                abstractItemViewer textViewer = new Text_ItemViewer();
                textViewer.FileName = viewObject.FileName;
                return(textViewer);

            case View_Enum.TOC:
                return(new TOC_ItemViewer());

            case View_Enum.TRACKING:
                return(new Tracking_ItemViewer());

            case View_Enum.TRACKING_SHEET:
                return(new TrackingSheet_ItemViewer(Current_Object, Current_User, Current_Mode));

            case View_Enum.YOUTUBE_VIDEO:
                return(new YouTube_Embedded_Video_ItemViewer());
            }

            return(null);
        }