private static void HandleDocumentMap(DocumentMap documentMap, PDFLabel currentLabel, int currentLevel) { while (documentMap.MoveNext()) { DocumentMapNode current = documentMap.Current; PDFLabel pDFLabel = new PDFLabel(current.Id, current.Label); if (current.Level > currentLevel) { if (currentLabel.Children == null) { currentLabel.Children = new List <PDFLabel>(); } currentLabel.Children.Add(pDFLabel); pDFLabel.Parent = currentLabel; currentLevel++; } else if (current.Level == currentLevel) { currentLabel.Parent.Children.Add(pDFLabel); pDFLabel.Parent = currentLabel.Parent; } else { for (int num = currentLevel - current.Level; num >= 0; num--) { currentLabel = currentLabel.Parent; } currentLabel.Children.Add(pDFLabel); pDFLabel.Parent = currentLabel; currentLevel = current.Level; } currentLabel = pDFLabel; } }
public bool AddDocumentMap(DocumentMap docMap) { if (docMap == null) { return(false); } this.m_excel.SetCurrentSheetName(ExcelRenderRes.DocumentMap); int num = 0; this.m_excel.SetColumnExtents(0, this.m_excel.MaxColumns - 1); this.m_excel.SetSummaryRowAfter(false); this.m_excel.DefineCachedStyle("DocumentMapHyperlinkStyle"); this.m_excel.GetCellStyle().Color = this.m_excel.AddColor("Blue"); this.m_excel.GetCellStyle().Underline = Underline.Single; this.m_excel.GetCellStyle().Name = "Arial"; this.m_excel.GetCellStyle().Size = 10.0; this.m_excel.EndCachedStyle(); while (docMap.MoveNext() && num <= this.m_excel.MaxRows) { if (num % this.m_excel.RowBlockSize == 0) { for (int i = 0; i < this.m_excel.RowBlockSize; i++) { this.m_excel.AddRow(i + num); } } DocumentMapNode current = docMap.Current; this.m_excel.SetRowContext(num); this.m_excel.SetColumnContext(current.Level - 1); this.m_excel.SetCellValue(current.Label, TypeCode.String); if (num == 0) { this.m_excel.GetCellStyle().Bold = 700; this.m_excel.GetCellStyle().Name = "Arial"; this.m_excel.GetCellStyle().Size = 10.0; this.m_excel.GetCellStyle().Color = this.m_excel.AddColor("Black"); } else { this.m_excel.AddBookmarkLink(current.Label, current.Id); this.m_excel.UseCachedStyle("DocumentMapHyperlinkStyle"); } this.m_excel.SetRowProperties(num, 240, (byte)(current.Level - 1), current.Level > 2, false); this.m_excel.AddMergeCell(num, current.Level - 1, num, 32); num++; } for (int j = 0; j < this.m_excel.MaxColumns; j++) { this.m_excel.SetColumnProperties(j, 20.0, 0, false); } return(true); }
private static DeclarationList CreateCurrentDeclarations() { DeclarationList declarationList = new DeclarationList(); int num = 1; declarationList[num++] = IDOwner.GetDeclaration(); declarationList[num++] = ReportItem.GetDeclaration(); num++; declarationList[num++] = Report.GetDeclaration(); declarationList[num++] = PageSection.GetDeclaration(); declarationList[num++] = Line.GetDeclaration(); declarationList[num++] = Rectangle.GetDeclaration(); declarationList[num++] = Image.GetDeclaration(); num++; declarationList[num++] = CheckBox.GetDeclaration(); declarationList[num++] = TextBox.GetDeclaration(); declarationList[num++] = SubReport.GetDeclaration(); declarationList[num++] = ActiveXControl.GetDeclaration(); declarationList[num++] = DataRegion.GetDeclaration(); num++; declarationList[num++] = ReportHierarchyNode.GetDeclaration(); declarationList[num++] = Grouping.GetDeclaration(); declarationList[num++] = Sorting.GetDeclaration(); declarationList[num++] = List.GetDeclaration(); declarationList[num++] = Pivot.GetDeclaration(); declarationList[num++] = Matrix.GetDeclaration(); declarationList[num++] = PivotHeading.GetDeclaration(); declarationList[num++] = MatrixHeading.GetDeclaration(); declarationList[num++] = MatrixColumn.GetDeclaration(); num++; declarationList[num++] = MatrixRow.GetDeclaration(); num++; declarationList[num++] = Subtotal.GetDeclaration(); declarationList[num++] = Table.GetDeclaration(); declarationList[num++] = TableColumn.GetDeclaration(); num++; declarationList[num++] = TableGroup.GetDeclaration(); declarationList[num++] = TableRow.GetDeclaration(); num++; declarationList[num++] = OWCChart.GetDeclaration(); declarationList[num++] = ChartColumn.GetDeclaration(); num++; declarationList[num++] = ReportItemCollection.GetDeclaration(); declarationList[num++] = ReportItemIndexer.GetDeclaration(); num++; declarationList[num++] = Style.GetDeclaration(); num++; declarationList[num++] = AttributeInfo.GetDeclaration(); declarationList[num++] = Visibility.GetDeclaration(); declarationList[num++] = ExpressionInfo.GetDeclaration(); num++; declarationList[num++] = DataAggregateInfo.GetDeclaration(); num++; declarationList[num++] = RunningValueInfo.GetDeclaration(); num++; num++; declarationList[num++] = Filter.GetDeclaration(); num++; declarationList[num++] = DataSource.GetDeclaration(); num++; declarationList[num++] = DataSet.GetDeclaration(); num++; declarationList[num++] = ReportQuery.GetDeclaration(); declarationList[num++] = Field.GetDeclaration(); num++; declarationList[num++] = ParameterValue.GetDeclaration(); num++; num++; num++; num++; declarationList[num++] = ReportSnapshot.GetDeclaration(); declarationList[num++] = SenderInformation.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); declarationList[num++] = ReceiverInformation.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); declarationList[num++] = DocumentMapNode.GetDeclaration(); declarationList[num++] = InfoBase.GetDeclaration(); declarationList[num++] = OffsetInfo.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); declarationList[num++] = ReportItemInstanceInfo.GetDeclaration(); declarationList[num++] = ReportInstanceInfo.GetDeclaration(); declarationList[num++] = ReportItemColInstanceInfo.GetDeclaration(); declarationList[num++] = LineInstanceInfo.GetDeclaration(); declarationList[num++] = TextBoxInstanceInfo.GetDeclaration(); declarationList[num++] = RectangleInstanceInfo.GetDeclaration(); declarationList[num++] = CheckBoxInstanceInfo.GetDeclaration(); declarationList[num++] = ImageInstanceInfo.GetDeclaration(); declarationList[num++] = SubReportInstanceInfo.GetDeclaration(); declarationList[num++] = ActiveXControlInstanceInfo.GetDeclaration(); declarationList[num++] = ListInstanceInfo.GetDeclaration(); declarationList[num++] = ListContentInstanceInfo.GetDeclaration(); declarationList[num++] = MatrixInstanceInfo.GetDeclaration(); declarationList[num++] = MatrixHeadingInstanceInfo.GetDeclaration(); declarationList[num++] = MatrixCellInstanceInfo.GetDeclaration(); declarationList[num++] = TableInstanceInfo.GetDeclaration(); declarationList[num++] = TableGroupInstanceInfo.GetDeclaration(); declarationList[num++] = TableRowInstanceInfo.GetDeclaration(); declarationList[num++] = OWCChartInstanceInfo.GetDeclaration(); declarationList[num++] = ChartInstanceInfo.GetDeclaration(); declarationList[num++] = NonComputedUniqueNames.GetDeclaration(); declarationList[num++] = InstanceInfoOwner.GetDeclaration(); declarationList[num++] = ReportItemInstance.GetDeclaration(); num++; declarationList[num++] = ReportInstance.GetDeclaration(); declarationList[num++] = ReportItemColInstance.GetDeclaration(); declarationList[num++] = LineInstance.GetDeclaration(); declarationList[num++] = TextBoxInstance.GetDeclaration(); declarationList[num++] = RectangleInstance.GetDeclaration(); declarationList[num++] = CheckBoxInstance.GetDeclaration(); declarationList[num++] = ImageInstance.GetDeclaration(); declarationList[num++] = SubReportInstance.GetDeclaration(); declarationList[num++] = ActiveXControlInstance.GetDeclaration(); declarationList[num++] = ListInstance.GetDeclaration(); declarationList[num++] = ListContentInstance.GetDeclaration(); num++; declarationList[num++] = MatrixInstance.GetDeclaration(); declarationList[num++] = MatrixHeadingInstance.GetDeclaration(); num++; declarationList[num++] = MatrixCellInstance.GetDeclaration(); num++; num++; declarationList[num++] = TableInstance.GetDeclaration(); declarationList[num++] = TableRowInstance.GetDeclaration(); declarationList[num++] = TableColumnInstance.GetDeclaration(); declarationList[num++] = TableGroupInstance.GetDeclaration(); num++; declarationList[num++] = OWCChartInstance.GetDeclaration(); declarationList[num++] = ParameterInfo.GetDeclaration(); num++; num++; num++; declarationList[num++] = InstanceInfo.GetDeclaration(); num++; declarationList[num++] = RecordSetInfo.GetDeclaration(); declarationList[num++] = RecordRow.GetDeclaration(); declarationList[num++] = RecordField.GetDeclaration(); declarationList[num++] = ValidValue.GetDeclaration(); num++; declarationList[num++] = ParameterDataSource.GetDeclaration(); declarationList[num++] = ParameterDef.GetDeclaration(); num++; declarationList[num++] = ParameterBase.GetDeclaration(); num++; declarationList[num++] = ProcessingMessage.GetDeclaration(); declarationList[num++] = MatrixSubtotalHeadingInstanceInfo.GetDeclaration(); declarationList[num++] = MatrixSubtotalCellInstance.GetDeclaration(); declarationList[num++] = CodeClass.GetDeclaration(); num++; declarationList[num++] = TableDetail.GetDeclaration(); declarationList[num++] = TableDetailInstance.GetDeclaration(); num++; declarationList[num++] = TableDetailInstanceInfo.GetDeclaration(); num++; declarationList[num++] = Action.GetDeclaration(); declarationList[num++] = ActionInstance.GetDeclaration(); declarationList[num++] = Chart.GetDeclaration(); declarationList[num++] = ChartHeading.GetDeclaration(); declarationList[num++] = ChartDataPoint.GetDeclaration(); num++; declarationList[num++] = MultiChart.GetDeclaration(); declarationList[num++] = MultiChartInstance.GetDeclaration(); num++; declarationList[num++] = Axis.GetDeclaration(); declarationList[num++] = AxisInstance.GetDeclaration(); declarationList[num++] = ChartTitle.GetDeclaration(); declarationList[num++] = ChartTitleInstance.GetDeclaration(); declarationList[num++] = ThreeDProperties.GetDeclaration(); declarationList[num++] = PlotArea.GetDeclaration(); declarationList[num++] = Legend.GetDeclaration(); declarationList[num++] = GridLines.GetDeclaration(); declarationList[num++] = ChartDataLabel.GetDeclaration(); declarationList[num++] = ChartInstance.GetDeclaration(); declarationList[num++] = ChartHeadingInstance.GetDeclaration(); declarationList[num++] = ChartHeadingInstanceInfo.GetDeclaration(); num++; declarationList[num++] = ChartDataPointInstance.GetDeclaration(); declarationList[num++] = ChartDataPointInstanceInfo.GetDeclaration(); num++; num++; declarationList[num++] = RenderingPagesRanges.GetDeclaration(); num++; declarationList[num++] = IntermediateFormatVersion.GetDeclaration(); declarationList[num++] = ImageInfo.GetDeclaration(); declarationList[num++] = ActionItem.GetDeclaration(); declarationList[num++] = ActionItemInstance.GetDeclaration(); num++; num++; declarationList[num++] = DataValue.GetDeclaration(); declarationList[num++] = DataValueInstance.GetDeclaration(); num++; num++; declarationList[num++] = Tablix.GetDeclaration(); declarationList[num++] = TablixHeading.GetDeclaration(); declarationList[num++] = CustomReportItem.GetDeclaration(); declarationList[num++] = CustomReportItemInstance.GetDeclaration(); declarationList[num++] = CustomReportItemHeading.GetDeclaration(); declarationList[num++] = CustomReportItemHeadingInstance.GetDeclaration(); num++; num++; num++; num++; declarationList[num++] = CustomReportItemCellInstance.GetDeclaration(); num++; num++; declarationList[num++] = DataValueCRIList.GetDeclaration(); declarationList[num++] = BookmarkInformation.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); declarationList[num++] = DrillthroughInformation.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); num++; declarationList[num++] = CustomReportItemInstanceInfo.GetDeclaration(); declarationList[num++] = ImageMapAreaInstanceList.GetDeclaration(); declarationList[num++] = ImageMapAreaInstance.GetDeclaration(); num++; declarationList[num++] = InstanceInfo.GetDeclaration(); declarationList[num++] = SortFilterEventInfo.GetDeclaration(); declarationList[num++] = EndUserSort.GetDeclaration(); num++; num++; declarationList[num++] = RecordSetPropertyNames.GetDeclaration(); num++; num++; num++; declarationList[num++] = PageSectionInstance.GetDeclaration(); num++; declarationList[num++] = PageSectionInstanceInfo.GetDeclaration(); declarationList[num++] = SimpleTextBoxInstanceInfo.GetDeclaration(); declarationList[num++] = ScopeLookupTable.GetDeclaration(); num++; declarationList[num++] = ReportDrillthroughInfo.GetDeclaration(); declarationList[num++] = InstanceInfo.GetDeclaration(); Global.Tracer.Assert(declarationList.Count == num, "(current.Count == index)"); return(declarationList); }
protected override void Render(Microsoft.ReportingServices.OnDemandReportRendering.Report report, NameValueCollection deviceInfo, Hashtable renderProperties, CreateAndRegisterStream createAndRegisterStream) { PaginationSettings paginationSettings = new PaginationSettings(report, deviceInfo); paginationSettings.UseEmSquare = true; paginationSettings.MeasureTextDpi = 1000; paginationSettings.UseGenericDefault = false; if (paginationSettings.DynamicImageDpiX == 96) { paginationSettings.DynamicImageDpiX = 300; } if (paginationSettings.DynamicImageDpiY == 96) { paginationSettings.DynamicImageDpiY = 300; } BufferedStream bufferedStream; using (Microsoft.ReportingServices.Rendering.HPBProcessing.HPBProcessing hPBProcessing = new Microsoft.ReportingServices.Rendering.HPBProcessing.HPBProcessing(report, paginationSettings, createAndRegisterStream, ref renderProperties)) { hPBProcessing.SetContext(hPBProcessing.PaginationSettings.StartPage, hPBProcessing.PaginationSettings.EndPage); using (Renderer renderer = new Renderer(physicalPagination: true)) { bufferedStream = new BufferedStream(createAndRegisterStream(report.Name, "pdf", null, "application/pdf", willSeek: false, StreamOper.CreateAndRegister)); using (PDFWriter pDFWriter = new PDFWriter(renderer, bufferedStream, disposeRenderer: false, createAndRegisterStream, hPBProcessing.PaginationSettings.DpiX, hPBProcessing.PaginationSettings.DpiY)) { pDFWriter.HumanReadablePDF = m_humanReadablePDF; pDFWriter.PrintOnOpen = m_printOnOpen; pDFWriter.Test = m_test; pDFWriter.EmbedFonts = m_embedFonts; if (report.HasDocumentMap) { DocumentMap documentMap = null; try { documentMap = report.DocumentMap; if (documentMap != null) { if (documentMap.MoveNext()) { DocumentMapNode current = documentMap.Current; HandleDocumentMap(documentMap, pDFWriter.DocumentMapRootLabel = new PDFLabel(current.Id, current.Label), 1); } if (pDFWriter.DocumentMapRootLabel.Children == null || pDFWriter.DocumentMapRootLabel.Children.Count == 0) { pDFWriter.DocumentMapRootLabel = null; } else { pDFWriter.DocumentMapLabelPoints = new Dictionary <string, PDFPagePoint>(); } } } finally { documentMap?.Dispose(); } } int num = hPBProcessing.PaginationSettings.StartPage; pDFWriter.BeginReport(hPBProcessing.PaginationSettings.MeasureTextDpi, hPBProcessing.PaginationSettings.MeasureTextDpi); while (true) { hPBProcessing.GetNextPage(out RPLReport rplReport); if (rplReport == null) { break; } renderer.ProcessPage(rplReport, num, hPBProcessing.SharedFontCache, hPBProcessing.GlyphCache); rplReport.Release(); rplReport = null; num++; } pDFWriter.EndReport(); } } } bufferedStream.Flush(); }
public RSDocumentMapNode GetDocumentMap() { DocumentMapNode outval = rs.GetDocumentMap(); return((RSDocumentMapNode)Converter.Convert(outval)); }
public IPersistable CreateRIFObject(ObjectType objectType, ref IntermediateFormatReader context) { IPersistable persistable = null; if (objectType == ObjectType.Null) { return(null); } IDOwner parentIDOwner = this.m_parentIDOwner; ReportItem parentReportItem = this.m_parentReportItem; switch (objectType) { case ObjectType.PageSection: persistable = new PageSection(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Line: persistable = new Line(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Rectangle: persistable = new Rectangle(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Image: persistable = new Image(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.TextBox: persistable = new TextBox(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.SubReport: persistable = new SubReport(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.Grouping: persistable = new Grouping(ConstructionPhase.Deserializing); break; case ObjectType.Sorting: persistable = new Sorting(ConstructionPhase.Deserializing); break; case ObjectType.ReportItemCollection: persistable = new ReportItemCollection(); break; case ObjectType.ReportItemIndexer: persistable = (IPersistable)(object)default(ReportItemIndexer); break; case ObjectType.Style: persistable = new Style(ConstructionPhase.Deserializing); break; case ObjectType.AttributeInfo: persistable = new AttributeInfo(); break; case ObjectType.Visibility: persistable = new Visibility(); break; case ObjectType.ExpressionInfo: persistable = new ExpressionInfo(); break; case ObjectType.ExpressionInfoTypeValuePair: persistable = new ExpressionInfoTypeValuePair(); break; case ObjectType.DataAggregateInfo: persistable = new DataAggregateInfo(); break; case ObjectType.RunningValueInfo: persistable = new RunningValueInfo(); break; case ObjectType.Filter: persistable = new Filter(); break; case ObjectType.DataSource: persistable = new DataSource(); break; case ObjectType.DataSet: persistable = new DataSet(); break; case ObjectType.ReportQuery: persistable = new ReportQuery(); break; case ObjectType.Field: persistable = new Field(); break; case ObjectType.ParameterValue: persistable = new ParameterValue(); break; case ObjectType.ReportSnapshot: persistable = new ReportSnapshot(); break; case ObjectType.DocumentMapNode: persistable = new DocumentMapNode(); break; case ObjectType.DocumentMapBeginContainer: persistable = DocumentMapBeginContainer.Instance; break; case ObjectType.DocumentMapEndContainer: persistable = DocumentMapEndContainer.Instance; break; case ObjectType.ReportInstance: persistable = new ReportInstance(); break; case ObjectType.ParameterInfo: persistable = new ParameterInfo(); break; case ObjectType.ValidValue: persistable = new ValidValue(); break; case ObjectType.ParameterDataSource: persistable = new ParameterDataSource(); break; case ObjectType.ParameterDef: persistable = new ParameterDef(); break; case ObjectType.ProcessingMessage: persistable = new ProcessingMessage(); break; case ObjectType.CodeClass: persistable = (IPersistable)(object)default(CodeClass); break; case ObjectType.Action: persistable = new Action(); break; case ObjectType.RenderingPagesRanges: persistable = (IPersistable)(object)default(RenderingPagesRanges); break; case ObjectType.IntermediateFormatVersion: persistable = new IntermediateFormatVersion(); break; case ObjectType.ImageInfo: persistable = new ImageInfo(); break; case ObjectType.ActionItem: persistable = new ActionItem(); break; case ObjectType.DataValue: persistable = new DataValue(); break; case ObjectType.CustomReportItem: persistable = new CustomReportItem(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.SortFilterEventInfoMap: persistable = new SortFilterEventInfoMap(); break; case ObjectType.SortFilterEventInfo: persistable = new SortFilterEventInfo(); break; case ObjectType.EndUserSort: persistable = new EndUserSort(); break; case ObjectType.ScopeLookupTable: persistable = new ScopeLookupTable(); break; case ObjectType.Tablix: persistable = new Tablix(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.TablixHeader: persistable = new TablixHeader(); break; case ObjectType.TablixMember: persistable = new TablixMember(); break; case ObjectType.TablixColumn: persistable = new TablixColumn(); break; case ObjectType.TablixRow: persistable = new TablixRow(); break; case ObjectType.TablixCornerCell: persistable = new TablixCornerCell(); break; case ObjectType.TablixCell: persistable = new TablixCell(); break; case ObjectType.Chart: persistable = new Chart(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.ChartMember: persistable = new ChartMember(); break; case ObjectType.ChartSeries: persistable = new ChartSeries(); break; case ObjectType.ChartDataPoint: persistable = new ChartDataPoint(); break; case ObjectType.ChartDataPointValues: persistable = new ChartDataPointValues(); break; case ObjectType.ChartArea: persistable = new ChartArea(); break; case ObjectType.ChartLegend: persistable = new ChartLegend(); break; case ObjectType.ChartLegendTitle: persistable = new ChartLegendTitle(); break; case ObjectType.ChartAxis: persistable = new ChartAxis(); break; case ObjectType.ThreeDProperties: persistable = new ChartThreeDProperties(); break; case ObjectType.ChartDataLabel: persistable = new ChartDataLabel(); break; case ObjectType.ChartMarker: persistable = new ChartMarker(); break; case ObjectType.ChartTitle: persistable = new ChartTitle(); break; case ObjectType.ChartAxisScaleBreak: persistable = new ChartAxisScaleBreak(); break; case ObjectType.ChartDerivedSeries: persistable = new ChartDerivedSeries(); break; case ObjectType.ChartBorderSkin: persistable = new ChartBorderSkin(); break; case ObjectType.ChartNoDataMessage: persistable = new ChartNoDataMessage(); break; case ObjectType.ChartItemInLegend: persistable = new ChartItemInLegend(); break; case ObjectType.ChartEmptyPoints: persistable = new ChartEmptyPoints(); break; case ObjectType.ChartNoMoveDirections: persistable = new ChartNoMoveDirections(); break; case ObjectType.ChartFormulaParameter: persistable = new ChartFormulaParameter(); break; case ObjectType.ChartLegendColumn: persistable = new ChartLegendColumn(); break; case ObjectType.ChartLegendColumnHeader: persistable = new ChartLegendColumnHeader(); break; case ObjectType.ChartLegendCustomItem: persistable = new ChartLegendCustomItem(); break; case ObjectType.ChartLegendCustomItemCell: persistable = new ChartLegendCustomItemCell(); break; case ObjectType.ChartAlignType: persistable = new ChartAlignType(); break; case ObjectType.ChartElementPosition: persistable = new ChartElementPosition(); break; case ObjectType.ChartSmartLabel: persistable = new ChartSmartLabel(); break; case ObjectType.ChartStripLine: persistable = new ChartStripLine(); break; case ObjectType.ChartAxisTitle: persistable = new ChartAxisTitle(); break; case ObjectType.ChartCustomPaletteColor: persistable = new ChartCustomPaletteColor(); break; case ObjectType.GridLines: persistable = new ChartGridLines(); break; case ObjectType.ChartTickMarks: persistable = new ChartTickMarks(); break; case ObjectType.DataMember: persistable = new DataMember(); break; case ObjectType.CustomDataRow: persistable = new CustomDataRow(); break; case ObjectType.DataCell: persistable = new DataCell(); break; case ObjectType.Variable: persistable = new Variable(); break; case ObjectType.Page: persistable = new Page(); break; case ObjectType.Paragraph: persistable = new Paragraph(); break; case ObjectType.TextRun: persistable = new TextRun(); break; case ObjectType.Report: persistable = new Report(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.GaugePanel: persistable = new GaugePanel(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.GaugeMember: persistable = new GaugeMember(); break; case ObjectType.GaugeRow: persistable = new GaugeRow(); break; case ObjectType.GaugeCell: persistable = new GaugeCell(); break; case ObjectType.BackFrame: persistable = new BackFrame(); break; case ObjectType.CapImage: persistable = new CapImage(); break; case ObjectType.FrameBackground: persistable = new FrameBackground(); break; case ObjectType.FrameImage: persistable = new FrameImage(); break; case ObjectType.CustomLabel: persistable = new CustomLabel(); break; case ObjectType.GaugeImage: persistable = new GaugeImage(); break; case ObjectType.GaugeInputValue: persistable = new GaugeInputValue(); break; case ObjectType.GaugeLabel: persistable = new GaugeLabel(); break; case ObjectType.GaugePanelItem: persistable = new GaugePanelItem(); break; case ObjectType.GaugeTickMarks: persistable = new GaugeTickMarks(); break; case ObjectType.LinearGauge: persistable = new LinearGauge(); break; case ObjectType.LinearPointer: persistable = new LinearPointer(); break; case ObjectType.LinearScale: persistable = new LinearScale(); break; case ObjectType.NumericIndicator: persistable = new NumericIndicator(); break; case ObjectType.PinLabel: persistable = new PinLabel(); break; case ObjectType.PointerCap: persistable = new PointerCap(); break; case ObjectType.PointerImage: persistable = new PointerImage(); break; case ObjectType.RadialGauge: persistable = new RadialGauge(); break; case ObjectType.RadialPointer: persistable = new RadialPointer(); break; case ObjectType.RadialScale: persistable = new RadialScale(); break; case ObjectType.ScaleLabels: persistable = new ScaleLabels(); break; case ObjectType.ScalePin: persistable = new ScalePin(); break; case ObjectType.ScaleRange: persistable = new ScaleRange(); break; case ObjectType.IndicatorImage: persistable = new IndicatorImage(); break; case ObjectType.StateIndicator: persistable = new StateIndicator(); break; case ObjectType.Thermometer: persistable = new Thermometer(); break; case ObjectType.TickMarkStyle: persistable = new TickMarkStyle(); break; case ObjectType.TopImage: persistable = new TopImage(); break; case ObjectType.LookupInfo: persistable = new LookupInfo(); break; case ObjectType.LookupDestinationInfo: persistable = new LookupDestinationInfo(); break; case ObjectType.ReportSection: persistable = new ReportSection(); break; case ObjectType.MapFieldDefinition: persistable = new MapFieldDefinition(); break; case ObjectType.MapFieldName: persistable = new MapFieldName(); break; case ObjectType.MapLineLayer: persistable = new MapLineLayer(); break; case ObjectType.MapShapefile: persistable = new MapShapefile(); break; case ObjectType.MapPolygonLayer: persistable = new MapPolygonLayer(); break; case ObjectType.MapSpatialDataRegion: persistable = new MapSpatialDataRegion(); break; case ObjectType.MapSpatialDataSet: persistable = new MapSpatialDataSet(); break; case ObjectType.MapPointLayer: persistable = new MapPointLayer(); break; case ObjectType.MapTile: persistable = new MapTile(); break; case ObjectType.MapTileLayer: persistable = new MapTileLayer(); break; case ObjectType.MapField: persistable = new MapField(); break; case ObjectType.MapLine: persistable = new MapLine(); break; case ObjectType.MapPolygon: persistable = new MapPolygon(); break; case ObjectType.MapPoint: persistable = new MapPoint(); break; case ObjectType.MapLineTemplate: persistable = new MapLineTemplate(); break; case ObjectType.MapPolygonTemplate: persistable = new MapPolygonTemplate(); break; case ObjectType.MapMarkerTemplate: persistable = new MapMarkerTemplate(); break; case ObjectType.Map: persistable = new Map(this.m_parentReportItem); this.m_parentReportItem = (ReportItem)persistable; break; case ObjectType.MapBorderSkin: persistable = new MapBorderSkin(); break; case ObjectType.MapDataRegion: persistable = new MapDataRegion(this.m_parentReportItem); break; case ObjectType.MapMember: persistable = new MapMember(); break; case ObjectType.MapRow: persistable = new MapRow(); break; case ObjectType.MapCell: persistable = new MapCell(); break; case ObjectType.MapLocation: persistable = new MapLocation(); break; case ObjectType.MapSize: persistable = new MapSize(); break; case ObjectType.MapGridLines: persistable = new MapGridLines(); break; case ObjectType.MapBindingFieldPair: persistable = new MapBindingFieldPair(); break; case ObjectType.MapCustomView: persistable = new MapCustomView(); break; case ObjectType.MapDataBoundView: persistable = new MapDataBoundView(); break; case ObjectType.MapElementView: persistable = new MapElementView(); break; case ObjectType.MapViewport: persistable = new MapViewport(); break; case ObjectType.MapLimits: persistable = new MapLimits(); break; case ObjectType.MapColorScale: persistable = new MapColorScale(); break; case ObjectType.MapColorScaleTitle: persistable = new MapColorScaleTitle(); break; case ObjectType.MapDistanceScale: persistable = new MapDistanceScale(); break; case ObjectType.MapTitle: persistable = new MapTitle(); break; case ObjectType.MapLegend: persistable = new MapLegend(); break; case ObjectType.MapLegendTitle: persistable = new MapLegendTitle(); break; case ObjectType.MapBucket: persistable = new MapBucket(); break; case ObjectType.MapColorPaletteRule: persistable = new MapColorPaletteRule(); break; case ObjectType.MapColorRangeRule: persistable = new MapColorRangeRule(); break; case ObjectType.MapCustomColorRule: persistable = new MapCustomColorRule(); break; case ObjectType.MapCustomColor: persistable = new MapCustomColor(); break; case ObjectType.MapLineRules: persistable = new MapLineRules(); break; case ObjectType.MapPolygonRules: persistable = new MapPolygonRules(); break; case ObjectType.MapSizeRule: persistable = new MapSizeRule(); break; case ObjectType.MapMarkerImage: persistable = new MapMarkerImage(); break; case ObjectType.MapMarker: persistable = new MapMarker(); break; case ObjectType.MapMarkerRule: persistable = new MapMarkerRule(); break; case ObjectType.MapPointRules: persistable = new MapPointRules(); break; case ObjectType.PageBreak: persistable = new PageBreak(); break; case ObjectType.DataScopeInfo: persistable = new DataScopeInfo(); break; case ObjectType.LinearJoinInfo: persistable = new LinearJoinInfo(); break; case ObjectType.IntersectJoinInfo: persistable = new IntersectJoinInfo(); break; case ObjectType.BucketedDataAggregateInfos: persistable = new BucketedDataAggregateInfos(); break; case ObjectType.DataAggregateInfoBucket: persistable = new DataAggregateInfoBucket(); break; case ObjectType.NumericIndicatorRange: persistable = new NumericIndicatorRange(); break; case ObjectType.IndicatorState: persistable = new IndicatorState(); break; case ObjectType.SharedDataSetQuery: persistable = new SharedDataSetQuery(); break; case ObjectType.DataSetCore: persistable = new DataSetCore(); break; case ObjectType.DataSetParameterValue: persistable = new DataSetParameterValue(); break; case ObjectType.RIFVariantContainer: persistable = new RIFVariantContainer(); break; case ObjectType.IdcRelationship: persistable = new IdcRelationship(); break; case ObjectType.DefaultRelationship: persistable = new DefaultRelationship(); break; case ObjectType.JoinCondition: persistable = new Relationship.JoinCondition(); break; case ObjectType.BandLayoutOptions: persistable = new BandLayoutOptions(); break; case ObjectType.LabelData: persistable = new LabelData(); break; case ObjectType.Slider: persistable = new Slider(); break; case ObjectType.Coverflow: persistable = new Coverflow(); break; case ObjectType.PlayAxis: persistable = new PlayAxis(); break; case ObjectType.BandNavigationCell: persistable = new BandNavigationCell(); break; case ObjectType.Tabstrip: persistable = new Tabstrip(); break; case ObjectType.NavigationItem: persistable = new NavigationItem(); break; case ObjectType.ScopedFieldInfo: persistable = new ScopedFieldInfo(); break; default: Global.Tracer.Assert(false, "Unsupported object type: " + objectType.ToString()); break; } IDOwner iDOwner = persistable as IDOwner; if (iDOwner != null) { iDOwner.ParentInstancePath = this.m_parentIDOwner; this.m_parentIDOwner = iDOwner; } persistable.Deserialize(context); this.m_parentIDOwner = parentIDOwner; this.m_parentReportItem = parentReportItem; return(persistable); }