public override void VisitContainedRecords(RecordVisitor rv) { int nRegions = _mergedRegions.Count; if (nRegions < 1) { // no need to write a single empty MergeCellsRecord return; } int nFullMergedCellsRecords = nRegions / MAX_MERGED_REGIONS; int nLeftoverMergedRegions = nRegions % MAX_MERGED_REGIONS; CellRangeAddress[] cras = (CellRangeAddress[])_mergedRegions.ToArray(); for (int i = 0; i < nFullMergedCellsRecords; i++) { int startIx = i * MAX_MERGED_REGIONS; rv.VisitRecord(new MergeCellsRecord(cras, startIx, MAX_MERGED_REGIONS)); } if (nLeftoverMergedRegions > 0) { int startIx = nFullMergedCellsRecords * MAX_MERGED_REGIONS; rv.VisitRecord(new MergeCellsRecord(cras, startIx, nLeftoverMergedRegions)); } }
public override void VisitContainedRecords(RecordVisitor rv) { WriteStartBlock(rv); rv.VisitRecord(shapProps); foreach (ContinueFrt12Record cr in continues) rv.VisitRecord(cr); }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(legend); rv.VisitRecord(BeginRecord.instance); rv.VisitRecord(pos); attachedLabel.VisitContainedRecords(rv); if (frame != null) { frame.VisitContainedRecords(rv); } if (crtLayout != null) { rv.VisitRecord(crtLayout); } if (textProps != null) { textProps.VisitContainedRecords(rv); } if (crtMlFrt != null) { crtMlFrt.VisitContainedRecords(rv); } WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { WriteStartBlock(rv); rv.VisitRecord(crtmlFrt); foreach (CrtMlFrtContinueRecord cr in continues) rv.VisitRecord(cr); }
public void VisitCellsForRow(int rowIndex, RecordVisitor rv) { CellValueRecordInterface[] rowCells = records[rowIndex]; if (rowCells == null) { throw new ArgumentException("Row [" + rowIndex + "] is empty"); } for (int i = 0; i < rowCells.Length; i++) { RecordBase cvr = (RecordBase)rowCells[i]; if (cvr == null) { continue; } int nBlank = CountBlanks(rowCells, i); if (nBlank > 1) { rv.VisitRecord(CreateMBR(rowCells, i, nBlank)); i += nBlank - 1; } else if (cvr is RecordAggregate) { RecordAggregate agg = (RecordAggregate)cvr; agg.VisitContainedRecords(rv); } else { rv.VisitRecord((Record)cvr); } } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(_pls); for (int i = 0; i < _plsContinues.Length; i++) { rv.VisitRecord(_plsContinues[i]); } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(dat); rv.VisitRecord(BeginRecord.instance); ld.VisitContainedRecords(rv); WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(header); foreach (CFRuleBase rule in rules) { rv.VisitRecord(rule); } }
public override void VisitContainedRecords(RecordVisitor rv) { WriteStartBlock(rv); rv.VisitRecord(crtmlFrt); foreach (CrtMlFrtContinueRecord cr in continues) { rv.VisitRecord(cr); } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(header); for (int i = 0; i < rules.Count; i++) { CFRuleRecord rule = (CFRuleRecord)rules[i]; rv.VisitRecord(rule); } }
public override void VisitContainedRecords(RecordVisitor rv) { WriteStartBlock(rv); rv.VisitRecord(shapProps); foreach (ContinueFrt12Record cr in continues) { rv.VisitRecord(cr); } }
public override void VisitContainedRecords(RecordVisitor rv) { WriteStartBlock(rv); if(textPropsStream!=null) rv.VisitRecord(textPropsStream); if (richTextStream != null) rv.VisitRecord(richTextStream); foreach (ContinueFrt12Record cr in continues) rv.VisitRecord(cr); }
public override void VisitContainedRecords(RecordVisitor rv) { WriteStartBlock(rv);//?? rv.VisitRecord(yMult); rv.VisitRecord(startObject); IsInStartObject = true; attachedLabel.VisitContainedRecords(rv); IsInStartObject = false; rv.VisitRecord(endObject); }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(dimensions); foreach (KeyValuePair<SeriesIndexRecord, List<Record>> kv in dicData) { rv.VisitRecord(kv.Key); foreach (Record r in kv.Value) rv.VisitRecord(r); } }
public override void VisitContainedRecords(RecordVisitor rv) { if (_validationList.Count == 0) { return; } rv.VisitRecord(_headerRec); for (int i = 0; i < _validationList.Count; i++) { rv.VisitRecord((Record)_validationList[i]); } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(dimensions); foreach (KeyValuePair <SeriesIndexRecord, List <Record> > kv in dicData) { rv.VisitRecord(kv.Key); foreach (Record r in kv.Value) { rv.VisitRecord(r); } } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(axisPraent); rv.VisitRecord(BeginRecord.instance); rv.VisitRecord(pos); if (axes != null) axes.VisitContainedRecords(rv); foreach (CRTAggregate crt in crtList) crt.VisitContainedRecords(rv); WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(dataFormat); rv.VisitRecord(BeginRecord.instance); if (chart3DBarShape != null) { rv.VisitRecord(chart3DBarShape); } if (lineFormat != null) { rv.VisitRecord(lineFormat); rv.VisitRecord(areaFormat); rv.VisitRecord(pieFormat); } if (serFmt != null) { rv.VisitRecord(serFmt); } if (gelFrame != null) { gelFrame.VisitContainedRecords(rv); } if (markerFormat != null) { rv.VisitRecord(markerFormat); } if (attachedLabel != null) { rv.VisitRecord(attachedLabel); } if (shapeProps1 != null) { shapeProps1.VisitContainedRecords(rv); } if (shapeProps2 != null) { shapeProps2.VisitContainedRecords(rv); } if (crtMlFrt != null) { crtMlFrt.VisitContainedRecords(rv); } WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
/// <summary> /// Visit each of the atomic BIFF records contained in this {@link RecordAggregate} in the order /// that they should be written to file. Implementors may or may not return the actual /// {@link Record}s being used to manage POI's internal implementation. Callers should not /// assume either way, and therefore only attempt to modify those {@link Record}s after cloning /// </summary> /// <param name="rv"></param> public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(_formulaRecord); Record sharedFormulaRecord = _sharedValueManager.GetRecordForFirstCell(this); if (sharedFormulaRecord != null) { rv.VisitRecord(sharedFormulaRecord); } if (_formulaRecord.HasCachedResultString && _stringRecord != null) { rv.VisitRecord(_stringRecord); } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(axis); rv.VisitRecord(BeginRecord.instance); if (catSerRange != null) rv.VisitRecord(catSerRange); axs.VisitContainedRecords(rv); if (crtmlfrt != null) crtmlfrt.VisitContainedRecords(rv); WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(dropBar); rv.VisitRecord(BeginRecord.instance); rv.VisitRecord(lineFormat); rv.VisitRecord(areaFormat); if (gelFrame != null) gelFrame.VisitContainedRecords(rv); if (shapProps != null) shapProps.VisitContainedRecords(rv); WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { if (dataLabExt != null) { rv.VisitRecord(dataLabExt); rv.VisitRecord(startObject); IsInStartObject = true; } attachedLabel.VisitContainedRecords(rv); if (endObject != null) { IsInStartObject = false; rv.VisitRecord(endObject); } }
public override void VisitContainedRecords(RecordVisitor rv) { WriteStartBlock(rv);//?? rv.VisitRecord(frtFontList); rv.VisitRecord(startObject); IsInStartObject = true; foreach (KeyValuePair<FontRecord, FbiRecord> kv in dicFonts) { rv.VisitRecord(kv.Key); if (kv.Value != null) rv.VisitRecord(kv.Value); } IsInStartObject = false; rv.VisitRecord(endObject); }
public override void VisitContainedRecords(RecordVisitor rv) { PositionTrackingVisitor stv = new PositionTrackingVisitor(rv, 0); //DBCells are serialized before row records. int blockCount = this.RowBlockCount; for (int blockIndex = 0; blockIndex < blockCount; blockIndex++) { // Serialize a block of rows. // Hold onto the position of the first row in the block int pos = 0; // Hold onto the size of this block that was serialized int rowBlockSize = VisitRowRecordsForBlock(blockIndex, rv); pos += rowBlockSize; // Serialize a block of cells for those rows int startRowNumber = GetStartRowNumberForBlock(blockIndex); int endRowNumber = GetEndRowNumberForBlock(blockIndex); DBCellRecord cellRecord = new DBCellRecord(); // Note: Cell references start from the second row... int cellRefOffset = (rowBlockSize - RowRecord.ENCODED_SIZE); for (int row = startRowNumber; row <= endRowNumber; row++) { if (_valuesAgg.RowHasCells(row)) { stv.Position = 0; _valuesAgg.VisitCellsForRow(row, stv); int rowCellSize = stv.Position; pos += rowCellSize; // Add the offset to the first cell for the row into the // DBCellRecord. cellRecord.AddCellOffset((short)cellRefOffset); cellRefOffset = rowCellSize; } } // Calculate Offset from the start of a DBCellRecord to the first Row cellRecord.RowOffset = (pos); rv.VisitRecord(cellRecord); } foreach (Record _hyperlinkRecord in _hyperlinkRecordRecords) { rv.VisitRecord(_hyperlinkRecord); } foreach (Record _unknownRecord in _unknownRecords) { // Potentially breaking the file here since we don't know exactly where to write these records rv.VisitRecord(_unknownRecord); } }
public override void VisitContainedRecords(RecordVisitor rv) { if (ivaxis != null) { ivaxis.VisitContainedRecords(rv); } if (dvaxis != null) { dvaxis.VisitContainedRecords(rv); } dvaxisSecond.VisitContainedRecords(rv); if (seriesAxis != null) { seriesAxis.VisitContainedRecords(rv); } foreach (AttachedLabelAggregate al in attachedLabelList) { al.VisitContainedRecords(rv); } if (plotArea != null) { rv.VisitRecord(plotArea); if (frame != null) { frame.VisitContainedRecords(rv); } } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(legendException); if (attachedLabel != null) { rv.VisitRecord(BeginRecord.instance); attachedLabel.VisitContainedRecords(rv); if (textProps != null) { textProps.VisitContainedRecords(rv); } WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); } }
public override void VisitContainedRecords(RecordVisitor rv) { WriteStartBlock(rv); if (textPropsStream != null) { rv.VisitRecord(textPropsStream); } if (richTextStream != null) { rv.VisitRecord(richTextStream); } foreach (ContinueFrt12Record cr in continues) { rv.VisitRecord(cr); } }
private static void VisitIfPresent(Record r, RecordVisitor rv) { if (r != null) { rv.VisitRecord(r); } }
private int VisitRowRecordsForBlock(int blockIndex, RecordVisitor rv) { int startIndex = blockIndex * DBCellRecord.BLOCK_SIZE; int endIndex = startIndex + DBCellRecord.BLOCK_SIZE; IEnumerator rowIterator = _rowRecords.Values.GetEnumerator(); //Given that we basically iterate through the rows in order, //For a performance improvement, it would be better to return an instance of //an iterator and use that instance throughout, rather than recreating one and //having to move it to the right position. int i = 0; for (; i < startIndex && rowIterator.MoveNext(); i++) { ; } int result = 0; while (rowIterator.MoveNext() && (i++ < endIndex)) { Record rec = (Record)rowIterator.Current; result += rec.RecordSize; rv.VisitRecord(rec); } return(result); }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(axisPraent); rv.VisitRecord(BeginRecord.instance); rv.VisitRecord(pos); if (axes != null) { axes.VisitContainedRecords(rv); } foreach (CRTAggregate crt in crtList) { crt.VisitContainedRecords(rv); } WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { WriteStartBlock(rv);//?? rv.VisitRecord(frtFontList); rv.VisitRecord(startObject); IsInStartObject = true; foreach (KeyValuePair <FontRecord, FbiRecord> kv in dicFonts) { rv.VisitRecord(kv.Key); if (kv.Value != null) { rv.VisitRecord(kv.Value); } } IsInStartObject = false; rv.VisitRecord(endObject); }
public override void VisitContainedRecords(RecordVisitor rv) { if (dataLabExt != null) { rv.VisitRecord(dataLabExt); rv.VisitRecord(startObject); IsInStartObject = true; } rv.VisitRecord(defaultText); attachedLabel.VisitContainedRecords(rv); if (endObject != null) { rv.VisitRecord(endObject); IsInStartObject = false; } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(dropBar); rv.VisitRecord(BeginRecord.instance); rv.VisitRecord(lineFormat); rv.VisitRecord(areaFormat); if (gelFrame != null) { gelFrame.VisitContainedRecords(rv); } if (shapProps != null) { shapProps.VisitContainedRecords(rv); } WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(axis); rv.VisitRecord(BeginRecord.instance); if (catSerRange != null) { rv.VisitRecord(catSerRange); } axs.VisitContainedRecords(rv); if (crtmlfrt != null) { crtmlfrt.VisitContainedRecords(rv); } WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(frame); rv.VisitRecord(BeginRecord.instance); rv.VisitRecord(lineFormat); rv.VisitRecord(areaFormat); if (gelFrame != null) gelFrame.VisitContainedRecords(rv); //TODO: write StartBlockRecord if (shapeProps != null) { //WriteStartBlock(rv); shapeProps.VisitContainedRecords(rv); } WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { if (_recs.Count == 0) { return; } rv.VisitRecord(_bofRec); for (int i = 0; i < _recs.Count; i++) { RecordBase rb = _recs[i]; if (rb is RecordAggregate) { ((RecordAggregate)rb).VisitContainedRecords(rv); } else { rv.VisitRecord((Record)rb); } } rv.VisitRecord(EOFRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(legend); rv.VisitRecord(BeginRecord.instance); rv.VisitRecord(pos); attachedLabel.VisitContainedRecords(rv); if (frame != null) frame.VisitContainedRecords(rv); if (crtLayout != null) rv.VisitRecord(crtLayout); if (textProps != null) textProps.VisitContainedRecords(rv); if (crtMlFrt != null) crtMlFrt.VisitContainedRecords(rv); WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(frame); rv.VisitRecord(BeginRecord.instance); rv.VisitRecord(lineFormat); rv.VisitRecord(areaFormat); if (gelFrame != null) { gelFrame.VisitContainedRecords(rv); } //TODO: write StartBlockRecord if (shapeProps != null) { //WriteStartBlock(rv); shapeProps.VisitContainedRecords(rv); } WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
private static void VisitIfPresent(PageBreakRecord r, RecordVisitor rv) { if (r != null) { if (r.IsEmpty) { // its OK to not serialize empty page break records return; } rv.VisitRecord(r); } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(axis); rv.VisitRecord(BeginRecord.instance); if (catSerRange != null) { rv.VisitRecord(catSerRange); } rv.VisitRecord(axcExt); if (catLab != null) { WriteStartBlock(rv); rv.VisitRecord(catLab); } axs.VisitContainedRecords(rv); foreach (CrtMlFrtAggregate crtmlfrt in crtmlfrtList) { crtmlfrt.VisitContainedRecords(rv); } WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { if (ifmt != null) rv.VisitRecord(ifmt); if (tick != null) rv.VisitRecord(tick); if (fontx != null) rv.VisitRecord(fontx); for (int i = 0; i < axisLines.Count; i++) { rv.VisitRecord(axisLines[i]); rv.VisitRecord(lineFormats[i]); } if (areaFormat != null) rv.VisitRecord(areaFormat); if (gelFrame != null) gelFrame.VisitContainedRecords(rv); foreach (ShapePropsAggregate shape in shapes) shape.VisitContainedRecords(rv); if (textProps != null) { rv.VisitRecord(textProps); foreach (ContinueFrt12Record c in continues) rv.VisitRecord(c); } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(series); rv.VisitRecord(BeginRecord.instance); foreach (KeyValuePair <BRAIRecord, SeriesTextRecord> kv in dic4AI) { rv.VisitRecord(kv.Key); if (kv.Value != null) { rv.VisitRecord(kv.Value); } } foreach (SSAggregate ss in ssList) { ss.VisitContainedRecords(rv); } if (serToCrt != null) { rv.VisitRecord(serToCrt); } else { if (serParent != null) { rv.VisitRecord(serParent); } if (serAuxTrend != null) { rv.VisitRecord(serAuxTrend); } else { rv.VisitRecord(serAuxErrBar); } } foreach (LegendExceptionAggregate le in leList) { le.VisitContainedRecords(rv); } WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(gelFrame1); if (gelFrame2 != null) rv.VisitRecord(gelFrame2); foreach (ContinueRecord cr in continues) rv.VisitRecord(cr); if (picF != null) { rv.VisitRecord(BeginRecord.instance); rv.VisitRecord(picF); rv.VisitRecord(EndRecord.instance); } }
public override void VisitContainedRecords(RecordVisitor rv) { if (_recs.Count==0) { return; } rv.VisitRecord(_bofRec); for (int i = 0; i < _recs.Count; i++) { RecordBase rb = _recs[i]; if (rb is RecordAggregate) { ((RecordAggregate)rb).VisitContainedRecords(rv); } else { rv.VisitRecord((Record)rb); } } rv.VisitRecord(EOFRecord.instance); }
private int VisitRowRecordsForBlock(int blockIndex, RecordVisitor rv) { int startIndex = blockIndex * DBCellRecord.BLOCK_SIZE; int endIndex = startIndex + DBCellRecord.BLOCK_SIZE; IEnumerator rowIterator = _rowRecords.Values.GetEnumerator(); //Given that we basically iterate through the rows in order, //For a performance improvement, it would be better to return an instance of //an iterator and use that instance throughout, rather than recreating one and //having to move it to the right position. int i = 0; for (; i < startIndex && rowIterator.MoveNext(); i++) ; int result = 0; while (rowIterator.MoveNext() && (i++ < endIndex)) { Record rec = (Record)rowIterator.Current; result += rec.RecordSize; rv.VisitRecord(rec); } return result; }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(axis); rv.VisitRecord(BeginRecord.instance); if (catSerRange != null) rv.VisitRecord(catSerRange); rv.VisitRecord(axcExt); if (catLab != null) { WriteStartBlock(rv); rv.VisitRecord(catLab); } axs.VisitContainedRecords(rv); foreach (CrtMlFrtAggregate crtmlfrt in crtmlfrtList) crtmlfrt.VisitContainedRecords(rv); WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { VisitIfPresent(_rowBreaksRecord, rv); VisitIfPresent(_columnBreaksRecord, rv); // Write out empty header / footer records if these are missing if (header == null) { rv.VisitRecord(new HeaderRecord("")); } else { rv.VisitRecord(header); } if (footer == null) { rv.VisitRecord(new FooterRecord("")); } else { rv.VisitRecord(footer); } VisitIfPresent(_hCenter, rv); VisitIfPresent(_vCenter, rv); VisitIfPresent(_leftMargin, rv); VisitIfPresent(_rightMargin, rv); VisitIfPresent(_topMargin, rv); VisitIfPresent(_bottomMargin, rv); foreach (RecordAggregate pls in _plsRecords) { pls.VisitContainedRecords(rv); } VisitIfPresent(printSetup, rv); VisitIfPresent(_printSize, rv); VisitIfPresent(_headerFooter, rv); VisitIfPresent(_bitmap, rv); }
public override void VisitContainedRecords(RecordVisitor rv) { PositionTrackingVisitor stv = new PositionTrackingVisitor(rv, 0); //DBCells are serialized before row records. int blockCount = this.RowBlockCount; for (int blockIndex = 0; blockIndex < blockCount; blockIndex++) { // Serialize a block of rows. // Hold onto the position of the first row in the block int pos = 0; // Hold onto the size of this block that was serialized int rowBlockSize = VisitRowRecordsForBlock(blockIndex, rv); pos += rowBlockSize; // Serialize a block of cells for those rows int startRowNumber = GetStartRowNumberForBlock(blockIndex); int endRowNumber = GetEndRowNumberForBlock(blockIndex); DBCellRecord cellRecord = new DBCellRecord(); // Note: Cell references start from the second row... int cellRefOffset = (rowBlockSize - RowRecord.ENCODED_SIZE); for (int row = startRowNumber; row <= endRowNumber; row++) { if (_valuesAgg.RowHasCells(row)) { stv.Position = 0; _valuesAgg.VisitCellsForRow(row, stv); int rowCellSize = stv.Position; pos += rowCellSize; // Add the offset to the first cell for the row into the // DBCellRecord. cellRecord.AddCellOffset((short)cellRefOffset); cellRefOffset = rowCellSize; } } // Calculate Offset from the start of a DBCellRecord to the first Row cellRecord.RowOffset = (pos); rv.VisitRecord(cellRecord); } for (int i = 0; i < _unknownRecords.Count; i++) { // Potentially breaking the file here since we don't know exactly where to write these records rv.VisitRecord((Record)_unknownRecords[i]); } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(chartForamt); rv.VisitRecord(BeginRecord.instance); rv.VisitRecord(chartTypeRecord); if (bopPopCustom != null) rv.VisitRecord(bopPopCustom); rv.VisitRecord(crtLink); if (seriesList != null) rv.VisitRecord(crtLink); if (chart3d != null) rv.VisitRecord(chart3d); if (ld != null) ld.VisitContainedRecords(rv); if (dropBar1 != null) { dropBar1.VisitContainedRecords(rv); dropBar2.VisitContainedRecords(rv); } foreach (KeyValuePair<CrtLineRecord, LineFormatRecord> kv in dicLines) { rv.VisitRecord(kv.Key); rv.VisitRecord(kv.Value); } if (dft1 != null) { dft1.VisitContainedRecords(rv); if (dft2 != null) dft2.VisitContainedRecords(rv); } if (dataLabExtContents != null) rv.VisitRecord(dataLabExtContents); if (ss != null) ss.VisitContainedRecords(rv); foreach (ShapePropsAggregate shape in shapeList) shape.VisitContainedRecords(rv); WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
/// <summary> /// Visit each of the atomic BIFF records contained in this {@link RecordAggregate} in the order /// that they should be written to file. Implementors may or may not return the actual /// Records being used to manage POI's internal implementation. Callers should not /// assume either way, and therefore only attempt to modify those Records after cloning /// </summary> /// <param name="rv"></param> public override void VisitContainedRecords(RecordVisitor rv) { int nItems = records.Count; if (nItems < 1) { return; } ColumnInfoRecord cirPrev = null; for (int i = 0; i < nItems; i++) { ColumnInfoRecord cir = (ColumnInfoRecord)records[i]; rv.VisitRecord(cir); if (cirPrev != null && CIRComparator.CompareColInfos(cirPrev, cir) > 0) { // Excel probably wouldn't mind, but there is much logic in this class // that assumes the column info records are kept in order throw new InvalidOperationException("Column info records are out of order"); } cirPrev = cir; } }
public override void VisitContainedRecords(RecordVisitor rv) { rv.VisitRecord(chart); rv.VisitRecord(BeginRecord.instance); foreach (FontListAggregate f in fontList) { f.VisitContainedRecords(rv); } rv.VisitRecord(scl); rv.VisitRecord(plotGrowth); if (frame != null) frame.VisitContainedRecords(rv); short num = 0; foreach (SeriesFormatAggregate sf in seriesFormatList) { sf.VisitContainedRecords(rv); sf.SeriesIndex = num++; } foreach (SSAggregate ss in ssList) ss.VisitContainedRecords(rv); rv.VisitRecord(shtProps); foreach (DFTTextAggregate dft in dftTextList) dft.VisitContainedRecords(rv); rv.VisitRecord(axesUsed); axisParent1.VisitContainedRecords(rv); if (axisParent2 != null) axisParent2.VisitContainedRecords(rv); if (crt12A != null) rv.VisitRecord(crt12A); if (dat != null) dat.VisitContainedRecords(rv); foreach (AttachedLabelAggregate al in attachedLabelList) al.VisitContainedRecords(rv); if (crtMlFrt != null) crtMlFrt.VisitContainedRecords(rv); foreach (ChartFormatsAttachedLabelAggregate cfa in cfalList) cfa.VisitContainedRecords(rv); if (textProps != null) textProps.VisitContainedRecords(rv); foreach (CrtMlFrtAggregate c in mlfrtList) c.VisitContainedRecords(rv); WriteEndBlock(rv); rv.VisitRecord(EndRecord.instance); }
public override void VisitContainedRecords(RecordVisitor rv) { int nRegions = _mergedRegions.Count; if (nRegions < 1) { // no need to write a single empty MergeCellsRecord return; } int nFullMergedCellsRecords = nRegions / MAX_MERGED_REGIONS; int nLeftoverMergedRegions = nRegions % MAX_MERGED_REGIONS; CellRangeAddress[] cras = (CellRangeAddress[])_mergedRegions.ToArray(typeof(CellRangeAddress)); for (int i = 0; i < nFullMergedCellsRecords; i++) { int startIx = i * MAX_MERGED_REGIONS; rv.VisitRecord(new MergeCellsRecord(cras, startIx, MAX_MERGED_REGIONS)); } if (nLeftoverMergedRegions > 0) { int startIx = nFullMergedCellsRecords * MAX_MERGED_REGIONS; rv.VisitRecord(new MergeCellsRecord(cras, startIx, nLeftoverMergedRegions)); } }