public override void WriteSharedItemProps(BinaryWriter spbifWriter, RPLWriter rplWriter, PageContext pageContext, long offset) { AspNetCore.ReportingServices.OnDemandReportRendering.TextRun textRun = base.m_source as AspNetCore.ReportingServices.OnDemandReportRendering.TextRun; RSTrace.RenderingTracer.Assert(textRun != null, "The text run definition cannot be null"); Hashtable hashtable = pageContext.ItemPropsStart; if (hashtable != null) { object obj = hashtable[this.SourceID]; if (obj != null) { spbifWriter.Write((byte)2); spbifWriter.Write((long)obj); return; } } if (hashtable == null) { hashtable = (pageContext.ItemPropsStart = new Hashtable()); } hashtable.Add(this.SourceID, offset); spbifWriter.Write((byte)0); spbifWriter.Write((byte)5); spbifWriter.Write(this.SourceID); if (!textRun.MarkupType.IsExpression) { spbifWriter.Write((byte)7); spbifWriter.Write(StyleEnumConverter.Translate(textRun.MarkupType.Value)); } if (textRun.Label != null) { spbifWriter.Write((byte)8); spbifWriter.Write(textRun.Label); } if (textRun.ToolTip != null && !textRun.ToolTip.IsExpression && textRun.ToolTip.Value != null) { spbifWriter.Write((byte)9); spbifWriter.Write(textRun.ToolTip.Value); } if (textRun.Value.IsExpression) { spbifWriter.Write((byte)12); spbifWriter.Write(textRun.Value.ExpressionString); } if (!pageContext.HideDuplicates && !textRun.FormattedValueExpressionBased && textRun.Value.Value != null) { spbifWriter.Write((byte)10); if (textRun.SharedTypeCode == TypeCode.String) { spbifWriter.Write(textRun.Value.Value); } else { spbifWriter.Write(textRun.Instance.Value); } } this.WriteSharedStyle(spbifWriter, null, pageContext, 6); spbifWriter.Write((byte)255); }
public void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(TextRun.m_declaration); IScalabilityCache scalabilityCache = reader.PersistenceHelper as IScalabilityCache; while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.Text: this.m_text = reader.ReadString(); break; case MemberName.Style: this.m_styles = reader.ReadByteVariantHashtable <Dictionary <byte, object> >(); break; case MemberName.ToolTip: this.m_toolTip = reader.ReadString(); break; case MemberName.MarkupType: this.m_markup = (byte?)(object)(reader.ReadVariant() as byte?); break; case MemberName.Actions: this.m_hyperlinks = reader.ReadListOfPrimitives <string>(); break; case MemberName.UniqueName: this.m_uniqueName = reader.ReadString(); break; case MemberName.Source: this.m_source = (AspNetCore.ReportingServices.OnDemandReportRendering.TextRun)scalabilityCache.FetchStaticReference(reader.ReadInt32()); break; case MemberName.Indexes: this.m_splitIndices = reader.ReadListOfPrimitives <int>(); break; case MemberName.Offset: this.m_startCharacterOffset = reader.ReadInt32(); break; case MemberName.Key: this.m_fontKey = reader.ReadString(); break; default: RSTrace.RenderingTracer.Assert(false, string.Empty); break; } } }
public override void WriteNonSharedItemProps(RPLElementProps elemProps, RPLWriter rplWriter, PageContext pageContext) { AspNetCore.ReportingServices.OnDemandReportRendering.TextRun textRun = base.m_source as AspNetCore.ReportingServices.OnDemandReportRendering.TextRun; RSTrace.RenderingTracer.Assert(textRun != null, "The text run definition cannot be null"); TextRunInstance textRunInstance = null; bool flag = false; if (this.m_compiledSource != null) { textRunInstance = this.m_compiledSource; flag = true; } else { textRunInstance = textRun.Instance; RSTrace.RenderingTracer.Assert(textRunInstance != null, "The text run instance cannot be null"); } elemProps.UniqueName = textRunInstance.UniqueName; RPLTextRunProps rPLTextRunProps = elemProps as RPLTextRunProps; if (!flag) { rPLTextRunProps.ProcessedWithError = textRunInstance.ProcessedWithError; if (textRun.MarkupType.IsExpression) { rPLTextRunProps.Markup = (RPLFormat.MarkupStyles)StyleEnumConverter.Translate(textRunInstance.MarkupType); } if (textRun.ToolTip != null && textRun.ToolTip.IsExpression && textRunInstance.ToolTip != null) { rPLTextRunProps.ToolTip = textRunInstance.ToolTip; } rPLTextRunProps.ActionInfo = base.WriteActionInfo(textRun.ActionInfo, pageContext); } else { rPLTextRunProps.Markup = (RPLFormat.MarkupStyles)StyleEnumConverter.Translate(textRunInstance.MarkupType); if (textRunInstance.ToolTip != null) { rPLTextRunProps.ToolTip = textRunInstance.ToolTip; } if (this.m_compiledSource.ActionInstance != null) { rPLTextRunProps.ActionInfo = this.WriteActionInstance(this.m_compiledSource.ActionInstance, pageContext); } } if ((pageContext.HideDuplicates || textRun.FormattedValueExpressionBased) && textRunInstance.Value != null) { rPLTextRunProps.Value = textRunInstance.Value; } pageContext.HideDuplicates = false; pageContext.TypeCodeNonString = false; rPLTextRunProps.NonSharedStyle = this.WriteNonSharedStyle(null, null, pageContext, this.m_compiledSource); }
public override void WriteSharedItemProps(RPLElementProps elemProps, RPLWriter rplWriter, PageContext pageContext) { AspNetCore.ReportingServices.OnDemandReportRendering.TextRun textRun = base.m_source as AspNetCore.ReportingServices.OnDemandReportRendering.TextRun; RSTrace.RenderingTracer.Assert(textRun != null, "The text run definition cannot be null"); Hashtable hashtable = pageContext.ItemPropsStart; if (hashtable != null) { object obj = hashtable[this.SourceID]; if (obj != null) { elemProps.Definition = (RPLTextRunPropsDef)obj; return; } } RPLTextRunProps rPLTextRunProps = elemProps as RPLTextRunProps; RPLTextRunPropsDef rPLTextRunPropsDef = rPLTextRunProps.Definition as RPLTextRunPropsDef; if (hashtable == null) { hashtable = (pageContext.ItemPropsStart = new Hashtable()); } hashtable.Add(this.SourceID, rPLTextRunPropsDef); rPLTextRunPropsDef.ID = this.SourceID; if (!textRun.MarkupType.IsExpression) { rPLTextRunPropsDef.Markup = (RPLFormat.MarkupStyles)StyleEnumConverter.Translate(textRun.MarkupType.Value); } if (textRun.Label != null) { rPLTextRunPropsDef.Label = textRun.Label; } if (textRun.ToolTip != null && !textRun.ToolTip.IsExpression && textRun.ToolTip.Value != null) { rPLTextRunPropsDef.ToolTip = textRun.ToolTip.Value; } if (textRun.Value.IsExpression) { rPLTextRunPropsDef.Formula = textRun.Value.ExpressionString; } if (!pageContext.HideDuplicates && !textRun.FormattedValueExpressionBased && textRun.Value.Value != null) { if (textRun.SharedTypeCode == TypeCode.String) { rPLTextRunPropsDef.Value = textRun.Value.Value; } else { rPLTextRunPropsDef.Value = textRun.Instance.Value; } } rPLTextRunPropsDef.SharedStyle = this.WriteSharedStyle(null, pageContext); }
public TextRun(TextRunInstance instance, bool hideDuplicates) { this.m_source = instance.Definition; Utility.AddInstanceStyles(instance.Style, ref this.m_styles); if (instance.IsCompiled) { this.m_text = instance.Value; this.m_toolTip = instance.ToolTip; } else { this.m_text = ((this.m_source.Value != null && (this.m_source.FormattedValueExpressionBased || hideDuplicates)) ? instance.Value : null); this.m_toolTip = ((this.m_source.ToolTip != null && this.m_source.ToolTip.IsExpression) ? instance.ToolTip : null); } ActionInfo actionInfo = this.m_source.ActionInfo; if (instance.IsCompiled) { CompiledTextRunInstance compiledTextRunInstance = instance as CompiledTextRunInstance; ActionInstance actionInstance = compiledTextRunInstance.ActionInstance; if (actionInstance != null) { this.m_hyperlinks = new List <string>(1); ReportUrl hyperlink = actionInstance.Hyperlink; string item = null; if (hyperlink != null) { item = hyperlink.ToString(); } this.m_hyperlinks.Add(item); } } else if (actionInfo != null) { ActionCollection actions = actionInfo.Actions; this.m_hyperlinks = new List <string>(actions.Count); foreach (AspNetCore.ReportingServices.OnDemandReportRendering.Action item3 in actions) { ReportUrl hyperlink2 = item3.Instance.Hyperlink; string item2 = null; if (hyperlink2 != null) { item2 = hyperlink2.ToString(); } this.m_hyperlinks.Add(item2); } } this.m_uniqueName = instance.UniqueName; if (this.m_source.MarkupType != null && this.m_source.MarkupType.IsExpression) { this.m_markup = StyleEnumConverter.Translate(instance.MarkupType); } }
public string ComputeValue() { if (this.m_compiledSource == null) { AspNetCore.ReportingServices.OnDemandReportRendering.TextRun textRun = base.m_source as AspNetCore.ReportingServices.OnDemandReportRendering.TextRun; if (textRun.FormattedValueExpressionBased) { return(textRun.Instance.Value); } return(textRun.Value.Value); } return(this.m_compiledSource.Value); }
public AspNetCore.ReportingServices.Rendering.RichText.TextRun GetRichTextRun() { string text = null; AspNetCore.ReportingServices.OnDemandReportRendering.TextRun textRun = base.m_source as AspNetCore.ReportingServices.OnDemandReportRendering.TextRun; RSTrace.RenderingTracer.Assert(textRun != null, "The text run definition cannot be null"); TextRunInstance textRunInstance = null; textRunInstance = ((this.m_compiledSource != null) ? this.m_compiledSource : textRun.Instance); text = textRunInstance.Value; if (string.IsNullOrEmpty(text) && textRun.Value != null) { text = textRun.Value.Value; } return(new AspNetCore.ReportingServices.Rendering.RichText.TextRun(text, this)); }
public bool MoveNext() { TextRunCollection textRuns = this.m_paragraphInstance.Definition.TextRuns; if (this.m_currentIndex < textRuns.Count) { TextRun textRun = ((ReportElementCollectionBase <TextRun>)textRuns)[this.m_currentIndex]; if (textRun.Instance.MarkupType != 0) { if (this.m_textRunInstances == null) { if (textRuns.Count > 1) { this.m_textRunInstances = ((ReportElementCollectionBase <CompiledParagraphInstance>)textRun.CompiledInstance.CompiledParagraphInstances)[0].CompiledTextRunInstances; } else { this.m_textRunInstances = ((CompiledParagraphInstance)this.m_paragraphInstance).CompiledTextRunInstances; } } if (this.m_currentCompiledIndex < this.m_textRunInstances.Count) { this.m_textRunInstance = ((ReportElementCollectionBase <CompiledTextRunInstance>) this.m_textRunInstances)[this.m_currentCompiledIndex]; this.m_currentCompiledIndex++; goto IL_00fb; } this.m_textRunInstances = null; this.m_currentCompiledIndex = 0; this.m_currentIndex++; return(this.MoveNext()); } this.m_textRunInstance = textRun.Instance; this.m_currentIndex++; goto IL_00fb; } return(false); IL_00fb: return(true); }
public TextRunInstance(TextRun textRunDef) : base(textRunDef) { }
public override void WriteNonSharedItemProps(BinaryWriter spbifWriter, RPLWriter rplWriter, PageContext pageContext) { AspNetCore.ReportingServices.OnDemandReportRendering.TextRun textRun = base.m_source as AspNetCore.ReportingServices.OnDemandReportRendering.TextRun; RSTrace.RenderingTracer.Assert(textRun != null, "The text run definition cannot be null"); TextRunInstance textRunInstance = null; bool flag = false; if (this.m_compiledSource != null) { textRunInstance = this.m_compiledSource; flag = true; } else { textRunInstance = textRun.Instance; RSTrace.RenderingTracer.Assert(textRunInstance != null, "The text run instance cannot be null"); } spbifWriter.Write((byte)1); spbifWriter.Write((byte)4); spbifWriter.Write(textRunInstance.UniqueName); if (!flag) { if (textRunInstance.ProcessedWithError) { spbifWriter.Write((byte)13); spbifWriter.Write(true); } if (textRun.MarkupType.IsExpression) { spbifWriter.Write((byte)7); spbifWriter.Write(StyleEnumConverter.Translate(textRunInstance.MarkupType)); } if (textRun.ToolTip != null && textRun.ToolTip.IsExpression && textRunInstance.ToolTip != null) { spbifWriter.Write((byte)9); spbifWriter.Write(textRunInstance.ToolTip); } base.WriteActionInfo(textRun.ActionInfo, spbifWriter, pageContext, 11); } else { spbifWriter.Write((byte)7); spbifWriter.Write(StyleEnumConverter.Translate(textRunInstance.MarkupType)); if (textRunInstance.ToolTip != null) { spbifWriter.Write((byte)9); spbifWriter.Write(textRunInstance.ToolTip); } if (this.m_compiledSource.ActionInstance != null) { this.WriteActionInstance(this.m_compiledSource.ActionInstance, spbifWriter, pageContext); } } if ((pageContext.HideDuplicates || textRun.FormattedValueExpressionBased) && textRunInstance.Value != null) { spbifWriter.Write((byte)10); spbifWriter.Write(textRunInstance.Value); } pageContext.HideDuplicates = false; pageContext.TypeCodeNonString = false; this.WriteNonSharedStyle(spbifWriter, null, null, pageContext, 6, this.m_compiledSource); spbifWriter.Write((byte)255); }
public TextRun(AspNetCore.ReportingServices.OnDemandReportRendering.TextRun textRun, CompiledTextRunInstance compiledTextRun, PageContext pageContext) : base(textRun) { this.m_compiledSource = compiledTextRun; }
public TextRun(AspNetCore.ReportingServices.OnDemandReportRendering.TextRun textRun, PageContext pageContext) : this(textRun, null, pageContext) { }
public ShimTextRunInstance(TextRun textRunDef, TextBoxInstance textBoxInstance) : base(textRunDef) { this.m_textBoxInstance = textBoxInstance; }
public bool RegisterItem(PageItem pageItem, PageContext pageContext) { if (!this.m_itemFound && pageItem != null) { switch (this.m_eventType) { case EventType.Collect: { ReportItemInstance instance2 = pageItem.Source.Instance; if (pageContext.Labels != null) { pageContext.Labels.WriteDocMapLabel(instance2); } if (pageContext.Bookmarks != null) { pageContext.Bookmarks.WriteBookmark(instance2); } if (pageContext.PageBookmarks != null) { pageContext.RegisterPageBookmark(instance2); } if (pageItem.ItemState == PageItem.State.OnPageHidden) { break; } return(false); } case EventType.BookmarkNavigationEvent: { ReportItemInstance instance = pageItem.Source.Instance; if (instance.Bookmark != null && SPBProcessing.CompareWithOrdinalComparison(this.m_bookmarkId, instance.Bookmark, false) == 0) { this.m_itemFound = true; this.m_itemInfo = instance.UniqueName; return(false); } if (pageItem.ItemState == PageItem.State.OnPageHidden) { break; } return(false); } case EventType.DrillthroughEvent: { ReportItemInstance instance5 = pageItem.Source.Instance; TextBoxInstance textBoxInstance = instance5 as TextBoxInstance; if (textBoxInstance != null) { AspNetCore.ReportingServices.OnDemandReportRendering.TextBox textBox = (AspNetCore.ReportingServices.OnDemandReportRendering.TextBox)pageItem.Source; if (!this.HasMatchingDrillthrough(textBox.ActionInfo)) { foreach (ParagraphInstance paragraphInstance in textBoxInstance.ParagraphInstances) { foreach (TextRunInstance textRunInstance in paragraphInstance.TextRunInstances) { AspNetCore.ReportingServices.OnDemandReportRendering.TextRun definition = textRunInstance.Definition; if (this.HasMatchingDrillthrough(definition.ActionInfo)) { return(false); } } } } } else { ImageInstance imageInstance2 = instance5 as ImageInstance; if (imageInstance2 != null) { if (!this.HasMatchingDrillthrough(imageInstance2.ActionInfoWithDynamicImageMapAreas)) { AspNetCore.ReportingServices.OnDemandReportRendering.Image image = (AspNetCore.ReportingServices.OnDemandReportRendering.Image)pageItem.Source; this.HasMatchingDrillthrough(image.ActionInfo); } } else { IDynamicImageInstance dynamicImageInstance = instance5 as IDynamicImageInstance; if (dynamicImageInstance != null) { ActionInfoWithDynamicImageMapCollection imageMaps = default(ActionInfoWithDynamicImageMapCollection); using (dynamicImageInstance.GetImage(DynamicImageInstance.ImageType.PNG, out imageMaps)) { } this.HasMatchingDrillthrough(imageMaps); } } } if (this.m_itemFound) { return(false); } if (pageItem.ItemState == PageItem.State.OnPageHidden) { break; } return(false); } case EventType.DocumentMapNavigationEvent: { ReportItemInstance instance3 = pageItem.Source.Instance; if (SPBProcessing.CompareWithOrdinalComparison(this.m_itemInfo, instance3.UniqueName, true) == 0) { this.m_itemFound = true; return(false); } if (pageItem.ItemState == PageItem.State.OnPageHidden) { break; } return(false); } case EventType.GetDocumentMap: { ReportItemInstance instance4 = pageItem.Source.Instance; if (pageContext.Labels != null) { pageContext.Labels.WriteDocMapLabel(instance4); } if (pageItem.ItemState == PageItem.State.OnPageHidden) { break; } return(false); } case EventType.FindChart: if (pageItem.ItemState != PageItem.State.OnPageHidden) { ReportItem source2 = pageItem.Source; if (SPBProcessing.CompareWithOrdinalComparison(this.m_itemInfo, source2.Instance.UniqueName, true) == 0) { this.m_itemFound = true; ChartInstance chartInstance2 = source2.Instance as ChartInstance; if (chartInstance2 != null) { this.WriteDynamicImageStream(chartInstance2.GetImage()); } } } break; case EventType.FindGaugePanel: if (pageItem.ItemState != PageItem.State.OnPageHidden) { ReportItem source3 = pageItem.Source; if (SPBProcessing.CompareWithOrdinalComparison(this.m_itemInfo, source3.Instance.UniqueName, true) == 0) { this.m_itemFound = true; GaugePanelInstance gaugePanelInstance2 = source3.Instance as GaugePanelInstance; if (gaugePanelInstance2 != null) { this.WriteDynamicImageStream(gaugePanelInstance2.GetImage()); } } } break; case EventType.FindMap: if (pageItem.ItemState != PageItem.State.OnPageHidden) { ReportItem source5 = pageItem.Source; if (SPBProcessing.CompareWithOrdinalComparison(this.m_itemInfo, source5.Instance.UniqueName, true) == 0) { this.m_itemFound = true; MapInstance mapInstance2 = source5.Instance as MapInstance; if (mapInstance2 != null) { this.WriteDynamicImageStream(mapInstance2.GetImage()); } } } break; case EventType.FindImage: if (pageItem.ItemState != PageItem.State.OnPageHidden) { ReportItem source4 = pageItem.Source; if (SPBProcessing.CompareWithOrdinalComparison(this.m_itemInfo, source4.Instance.UniqueName, true) == 0) { this.m_itemFound = true; ImageInstance imageInstance = source4.Instance as ImageInstance; if (imageInstance != null) { Stream stream2 = this.m_createAndRegisterStream(this.m_streamName, string.Empty, null, imageInstance.MIMEType, false, StreamOper.CreateAndRegister); byte[] imageData = imageInstance.ImageData; if (stream2 != null && imageData != null && imageData.Length != 0) { stream2.Write(imageData, 0, imageData.Length); } } } } break; case EventType.ImageConsolidation: if (pageItem.ItemState != PageItem.State.OnPageHidden) { ReportItem source = pageItem.Source; GaugePanelInstance gaugePanelInstance = source.Instance as GaugePanelInstance; Stream stream = null; if (gaugePanelInstance != null) { stream = gaugePanelInstance.GetImage(); } else { ChartInstance chartInstance = source.Instance as ChartInstance; if (chartInstance != null) { stream = chartInstance.GetImage(); } else { MapInstance mapInstance = source.Instance as MapInstance; if (mapInstance != null) { stream = mapInstance.GetImage(); } } } if (stream != null) { ImageConsolidation imageConsolidation = pageContext.ImageConsolidation; imageConsolidation.AppendImage(stream); if (imageConsolidation.CurrentOffset >= imageConsolidation.IgnoreOffsetTill + 1 && imageConsolidation.ImageInfos.Count > 0) { this.m_itemFound = true; } } } break; default: this.FindTextBox(pageItem as TextBox, pageContext); break; } return(true); } return(false); }