public override object Clone() { LinkedDataRecord rec = new LinkedDataRecord(); rec.field_1_linkType = field_1_linkType; rec.field_2_referenceType = field_2_referenceType; rec.field_3_options = field_3_options; rec.field_4_indexNumberFmtRecord = field_4_indexNumberFmtRecord; rec.field_5_formulaOfLink = field_5_formulaOfLink.Copy(); return(rec); }
public override Object Clone() { LinkedDataRecord rec = new LinkedDataRecord(); rec.field_1_linkType = field_1_linkType; rec.field_2_referenceType = field_2_referenceType; rec.field_3_options = field_3_options; rec.field_4_indexNumberFmtRecord = field_4_indexNumberFmtRecord; rec.field_5_formulaOfLink = field_5_formulaOfLink.Copy(); return rec; }
private LinkedDataRecord CreateTitleLinkedDataRecord() { LinkedDataRecord r = new LinkedDataRecord(); r.LinkType = (LinkedDataRecord.LINK_TYPE_TITLE_OR_TEXT); r.ReferenceType = (LinkedDataRecord.REFERENCE_TYPE_DIRECT); r.IsCustomNumberFormat = (false); r.IndexNumberFmtRecord = ((short)0); r.FormulaOfLink = (null); return r; }
private LinkedDataRecord CreateValuesLinkedDataRecord() { LinkedDataRecord r = new LinkedDataRecord(); r.LinkType = (LinkedDataRecord.LINK_TYPE_VALUES); r.ReferenceType = (LinkedDataRecord.REFERENCE_TYPE_WORKSHEET); r.IsCustomNumberFormat = (false); r.IndexNumberFmtRecord = ((short)0); Area3DPtg p = new Area3DPtg(0, 31, 0, 0, false, false, false, false, 0); r.FormulaOfLink = (new Ptg[] { p, }); return r; }
private int SetVerticalCellRange(LinkedDataRecord linkedDataRecord, CellRangeAddressBase range) { if (linkedDataRecord == null) { throw new ArgumentNullException("linkedDataRecord should not be null"); ; } List<Ptg> ptgList = new List<Ptg>(); int rowCount = (range.LastRow - range.FirstRow) + 1; int colCount = (range.LastColumn - range.FirstColumn) + 1; foreach (Ptg ptg in linkedDataRecord.FormulaOfLink) { if (ptg is AreaPtgBase) { AreaPtgBase areaPtg = (AreaPtgBase)ptg; areaPtg.FirstRow = range.FirstRow; areaPtg.LastRow = range.LastRow; areaPtg.FirstColumn = range.FirstColumn; areaPtg.LastColumn = range.LastColumn; ptgList.Add(areaPtg); } } linkedDataRecord.FormulaOfLink = (ptgList.ToArray()); return rowCount * colCount; }
private CellRangeAddressBase GetCellRange(LinkedDataRecord linkedDataRecord) { if (linkedDataRecord == null) { return null; } int firstRow = 0; int lastRow = 0; int firstCol = 0; int lastCol = 0; foreach (Ptg ptg in linkedDataRecord.FormulaOfLink) { if (ptg is AreaPtgBase) { AreaPtgBase areaPtg = (AreaPtgBase)ptg; firstRow = areaPtg.FirstRow; lastRow = areaPtg.LastRow; firstCol = areaPtg.FirstColumn; lastCol = areaPtg.LastColumn; } } return new CellRangeAddress(firstRow, lastRow, firstCol, lastCol); }
internal void InsertData(LinkedDataRecord data) { switch (data.LinkType) { case 0: dataName = data; break; case 1: dataValues = data; break; case 2: dataCategoryLabels = data; break; case 3: dataSecondaryCategoryLabels = data; break; } }
/* package */ void InsertData(LinkedDataRecord data){ switch(data.GetLinkType()){ case 0: dataName = data; break; case 1: dataValues = data; break; case 2: dataCategoryLabels = data; break; case 3: dataSecondaryCategoryLabels = data; break; } }
private LinkedDataRecord CreateTitleLinkedDataRecord() { LinkedDataRecord r = new LinkedDataRecord(); r.SetLinkType( LinkedDataRecord.LINK_TYPE_TITLE_OR_TEXT ); r.SetReferenceType( LinkedDataRecord.REFERENCE_TYPE_DIRECT ); r.SetCustomNumberFormat( false ); r.SetIndexNumberFmtRecord( (short) 0 ); r.SetFormulaOfLink(null); return r; }
private LinkedDataRecord CreateCategoriesLinkedDataRecord() { LinkedDataRecord r = new LinkedDataRecord(); r.SetLinkType( LinkedDataRecord.LINK_TYPE_CATEGORIES ); r.SetReferenceType( LinkedDataRecord.REFERENCE_TYPE_WORKSHEET ); r.SetCustomNumberFormat( false ); r.SetIndexNumberFmtRecord( (short) 0 ); Area3DPtg p = new Area3DPtg(0, 31, 1, 1, false, false, false, false, 0); r.SetFormulaOfLink(new Ptg[] { p, }); return r; }
private Integer SetVerticalCellRange(LinkedDataRecord linkedDataRecord, CellRangeAddressBase range) { if (linkedDataRecord == null) { return null; } List<Ptg> ptgList = new ArrayList<Ptg>(); int rowCount = (range.GetLastRow() - range.GetFirstRow()) + 1; int colCount = (range.GetLastColumn() - range.GetFirstColumn()) + 1; for (Ptg ptg : linkedDataRecord.GetFormulaOfLink()) { if (ptg is AreaPtgBase) { AreaPtgBase areaPtg = (AreaPtgBase) ptg; areaPtg.SetFirstRow(range.GetFirstRow()); areaPtg.SetLastRow(range.GetLastRow()); areaPtg.SetFirstColumn(range.GetFirstColumn()); areaPtg.SetLastColumn(range.GetLastColumn()); ptgList.Add(areaPtg); } } linkedDataRecord.SetFormulaOfLink(ptgList.ToArray(new Ptg[ptgList.Size()])); return rowCount * colCount; }
private CellRangeAddressBase GetCellRange(LinkedDataRecord linkedDataRecord) { if (linkedDataRecord == null) { return null ; } int firstRow = 0; int lastRow = 0; int firstCol = 0; int lastCol = 0; for (Ptg ptg : linkedDataRecord.GetFormulaOfLink()) { if (ptg is AreaPtgBase) { AreaPtgBase areaPtg = (AreaPtgBase) ptg; firstRow = areaPtg.GetFirstRow(); lastRow = areaPtg.GetLastRow(); firstCol = areaPtg.GetFirstColumn(); lastCol = areaPtg.GetLastColumn(); } } return new CellRangeAddress(firstRow, lastRow, firstCol, lastCol); }
public void TestStore() { LinkedDataRecord record = new LinkedDataRecord(); record.LinkType=(LinkedDataRecord.LINK_TYPE_VALUES); record.ReferenceType=(LinkedDataRecord.REFERENCE_TYPE_WORKSHEET); record.Options=((short)0); record.IsCustomNumberFormat=(false); record.IndexNumberFmtRecord=((short)0); Area3DPtg ptg = new Area3DPtg(0, 7936, 0, 0, false, false, false, false, 0); record.FormulaOfLink = (new Ptg[] { ptg, }); byte[] recordBytes = record.Serialize(); Assert.AreEqual(recordBytes.Length - 4, data.Length); for (int i = 0; i < data.Length; i++) Assert.AreEqual(data[i], recordBytes[i + 4], "At offset " + i); }
public void TestLoad() { LinkedDataRecord record = new LinkedDataRecord(TestcaseRecordInputStream.Create((short)0x1051, data)); Assert.AreEqual(LinkedDataRecord.LINK_TYPE_VALUES, record.LinkType); Assert.AreEqual(LinkedDataRecord.REFERENCE_TYPE_WORKSHEET, record.ReferenceType); Assert.AreEqual(0, record.Options); Assert.AreEqual(false, record.IsCustomNumberFormat); Assert.AreEqual(0, record.IndexNumberFmtRecord); Area3DPtg ptgExpected = new Area3DPtg(0, 7936, 0, 0,false, false, false, false, 0); Object ptgActual = record.FormulaOfLink[0]; Assert.AreEqual(ptgExpected.ToString(), ptgActual.ToString()); Assert.AreEqual(data.Length + 4, record.RecordSize); }