internal Group(DataRegion owner, ShimRenderGroups renderGroups, ShimTablixMember dynamicMember) { m_isOldSnapshot = true; m_ownerItem = owner; m_renderGroups = renderGroups; m_dynamicMember = dynamicMember; }
internal void UpdateContext(ListContentCollection renderListContents) { m_renderGroups = new ShimRenderGroups(renderListContents); if (m_children != null) { ((ShimListMember)m_children[0]).ResetContext(m_renderGroups); } }
internal Group(DataRegion owner, ShimTableMember tableDetailMember) { m_isOldSnapshot = true; m_isDetailGroup = true; m_tableDetailMember = tableDetailMember; m_dynamicMember = tableDetailMember; m_ownerItem = owner; m_renderGroups = null; }
internal void ResetContext(ShimRenderGroups renderGroups) { if (m_group != null) { m_group.CurrentRenderGroupIndex = -1; if (renderGroups != null) { m_group.RenderGroups = renderGroups; } } }
internal void ResetContext(Microsoft.ReportingServices.ReportRendering.ChartMemberCollection newRenderMemberCollection) { if (m_children == null) { return; } if (m_isDynamic) { ShimRenderGroups renderGroups = (newRenderMemberCollection != null) ? new ShimRenderGroups(newRenderMemberCollection) : null; ((ShimChartMember)m_children[0]).ResetContext(null, renderGroups); return; } for (int i = 0; i < m_children.Length; i++) { Microsoft.ReportingServices.ReportRendering.ChartMember staticOrSubtotal = newRenderMemberCollection?[i]; ((ShimChartMember)m_children[i]).ResetContext(staticOrSubtotal, null); } }
internal void ResetContext(MatrixMemberCollection newRenderMemberCollection, MatrixMemberInfoCache matrixMemberCellIndexes) { if (m_children == null) { return; } MatrixMember staticOrSubtotal = null; int newAfterSubtotalCollectionIndex = -1; ShimRenderGroups renderGroups = null; if (newRenderMemberCollection != null) { renderGroups = new ShimRenderGroups(newRenderMemberCollection, m_subtotalChildIndex == 0, 1 == m_subtotalChildIndex); int count = newRenderMemberCollection.Count; if (m_subtotalChildIndex == 0) { staticOrSubtotal = newRenderMemberCollection[0]; } else if (1 == m_subtotalChildIndex) { staticOrSubtotal = newRenderMemberCollection[count - 1]; newAfterSubtotalCollectionIndex = count - 1; } } if (m_dynamicSubgroupChildIndex >= 0) { ((ShimMatrixMember)m_children[m_dynamicSubgroupChildIndex]).ResetContext(null, -1, renderGroups, matrixMemberCellIndexes); if (m_subtotalChildIndex >= 0) { ((ShimMatrixMember)m_children[m_subtotalChildIndex]).ResetContext(staticOrSubtotal, newAfterSubtotalCollectionIndex, null, matrixMemberCellIndexes); } } else { for (int i = 0; i < m_children.Length; i++) { staticOrSubtotal = newRenderMemberCollection?[i]; ((ShimMatrixMember)m_children[i]).ResetContext(staticOrSubtotal, -1, null, matrixMemberCellIndexes); } } }
internal ShimListMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, ListContentCollection renderListContents) : base(parentDefinitionPath, owner, isColumnGroup: false) { m_renderGroups = new ShimRenderGroups(renderListContents); }
internal void ResetContext(Microsoft.ReportingServices.ReportRendering.ChartMember staticOrSubtotal, ShimRenderGroups renderGroups) { if (m_group != null) { m_group.CurrentRenderGroupIndex = -1; if (renderGroups != null) { m_group.RenderGroups = renderGroups; } } else if (staticOrSubtotal != null) { m_staticOrSubtotal = staticOrSubtotal; } Microsoft.ReportingServices.ReportRendering.ChartMember currentRenderGroup = IsStatic ? m_staticOrSubtotal : (m_group.CurrentShimRenderGroup as Microsoft.ReportingServices.ReportRendering.ChartMember); UpdateInnerContext(currentRenderGroup); }
internal ShimChartMember(IDefinitionPath parentDefinitionPath, Chart owner, ShimChartMember parent, int parentCollectionIndex, bool isCategory, ShimRenderGroups renderGroups) : base(parentDefinitionPath, owner, parent, parentCollectionIndex) { m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); m_isCategory = isCategory; m_group = new Group(owner, renderGroups); GenerateInnerHierarchy(owner, parent, isCategory, ((Microsoft.ReportingServices.ReportRendering.ChartMember)renderGroups[0]).Children); m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
internal ShimMatrixMemberCollection(IDefinitionPath parentDefinitionPath, Tablix owner, bool isColumnGroup, ShimMatrixMember parent, MatrixMemberCollection renderMemberCollection, MatrixMemberInfoCache matrixMemberCellIndexes) : base(parentDefinitionPath, owner, isColumnGroup) { m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); int count = renderMemberCollection.Count; if (renderMemberCollection[0].IsStatic) { m_children = new ShimMatrixMember[count]; for (int i = 0; i < count; i++) { m_children[i] = new ShimMatrixMember(this, owner, parent, i, isColumnGroup, i, renderMemberCollection[i], isAfterSubtotal: false, matrixMemberCellIndexes); } } else { m_dynamicSubgroupChildIndex = 0; bool flag = renderMemberCollection.MatrixHeadingDef.Subtotal != null; bool flag2 = flag && renderMemberCollection.MatrixHeadingDef.Subtotal.Position == Subtotal.PositionType.After; m_children = new ShimMatrixMember[(!flag) ? 1 : 2]; if (flag) { m_subtotalChildIndex = 0; if (flag2) { m_subtotalChildIndex++; } else { m_dynamicSubgroupChildIndex++; } } if (flag) { Microsoft.ReportingServices.ReportRendering.ReportItem reportItem = renderMemberCollection[m_subtotalChildIndex].ReportItem; if (reportItem != null) { if (isColumnGroup) { m_sizeDelta += reportItem.Width.ToMillimeters(); } else { m_sizeDelta += reportItem.Height.ToMillimeters(); } } } if (flag && !flag2) { m_children[m_subtotalChildIndex] = new ShimMatrixMember(this, owner, parent, m_subtotalChildIndex, isColumnGroup, 0, renderMemberCollection[0], flag2, matrixMemberCellIndexes); } ShimRenderGroups renderGroups = new ShimRenderGroups(renderMemberCollection, flag && !flag2, flag && flag2); ShimMatrixMember shimMatrixMember = (ShimMatrixMember)(m_children[m_dynamicSubgroupChildIndex] = new ShimMatrixMember(this, owner, parent, m_dynamicSubgroupChildIndex, isColumnGroup, m_dynamicSubgroupChildIndex, renderGroups, matrixMemberCellIndexes)); if (flag && flag2) { m_children[m_subtotalChildIndex] = new ShimMatrixMember(this, owner, parent, m_subtotalChildIndex, isColumnGroup, count - 1, renderMemberCollection[count - 1], flag2, matrixMemberCellIndexes); } m_sizeDelta += shimMatrixMember.SizeDelta; } m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
internal void ResetContext(MatrixMember staticOrSubtotal, int newAfterSubtotalCollectionIndex, ShimRenderGroups renderGroups, MatrixMemberInfoCache newMatrixMemberCellIndexes) { int currentAllocationSize = 1; if (m_group != null) { m_group.CurrentRenderGroupIndex = -1; if (renderGroups != null) { m_group.RenderGroups = renderGroups; } currentAllocationSize = m_group.RenderGroups.MatrixMemberCollectionCount; } else if (staticOrSubtotal != null) { m_staticOrSubtotal = staticOrSubtotal; if (m_isAfterSubtotal && newAfterSubtotalCollectionIndex >= 0) { m_renderCollectionIndex = newAfterSubtotalCollectionIndex; } } UpdateMatrixMemberInfoCache(currentAllocationSize, newMatrixMemberCellIndexes); if (IsStatic) { UpdateContext(m_staticOrSubtotal); } else if (!base.OwnerTablix.RenderMatrix.NoRows && m_group.RenderGroups != null && m_group.RenderGroups.Count > 0) { UpdateContext(m_group.RenderGroups[0] as MatrixMember); } }
internal ShimMatrixMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimMatrixMember parent, int parentCollectionIndex, bool isColumn, int renderCollectionIndex, ShimRenderGroups renderGroups, MatrixMemberInfoCache matrixMemberCellIndexes) : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn) { m_renderCollectionIndex = renderCollectionIndex; m_currentMatrixMemberCellIndexes = matrixMemberCellIndexes; m_definitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); m_group = new Group(owner, renderGroups, this); GenerateInnerHierarchy(owner, parent, isColumn, ((MatrixMember)m_group.CurrentShimRenderGroup).Children); m_definitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
internal ShimTableMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimTableMember parent, int parentCollectionIndex, ShimRenderGroups renderGroups) : base(parentDefinitionPath, owner, parent, parentCollectionIndex, isColumn: false) { m_rowDefinitionStartIndex = owner.GetCurrentMemberCellDefinitionIndex(); if (renderGroups != null) { m_children = new ShimTableMemberCollection(this, (Tablix)m_owner, this, (TableGroup)renderGroups[0]); } m_group = new Group(owner, renderGroups, this); m_rowDefinitionEndIndex = owner.GetCurrentMemberCellDefinitionIndex(); }
internal ShimListMember(IDefinitionPath parentDefinitionPath, Tablix owner, ShimRenderGroups renderGroups, int parentCollectionIndex, bool isColumn) : base(parentDefinitionPath, owner, null, parentCollectionIndex, isColumn) { m_group = new Group(owner, renderGroups, this); }
internal Group(CustomReportItem owner, ShimRenderGroups renderGroups) { m_isOldSnapshot = true; m_renderGroups = renderGroups; m_criOwner = owner; }
internal Group(DataRegion owner, ShimRenderGroups renderGroups) { m_isOldSnapshot = true; m_ownerItem = owner; m_renderGroups = renderGroups; }