Example #1
0
        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);
        }
Example #2
0
        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;
        }
Example #3
0
 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;
 }
Example #4
0
 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;
 }
Example #5
0
            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;
            }
Example #6
0
            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);
            }
Example #7
0
 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;
     }
 }
Example #8
0
		/* 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;
			}
		}
Example #9
0
	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;
	}
Example #10
0
	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;
	}
Example #11
0
		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;
		}
Example #12
0
		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);
		}
Example #13
0
        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);
        }
Example #14
0
        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);

        }