/// <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; }