internal override DxfObject PopulateFromBuffer(DxfCodePairBufferReader buffer) { int code_280_index = 0; while (buffer.ItemsRemain) { var pair = buffer.Peek(); if (pair.Code == 0) { break; } while (this.TrySetExtensionData(pair, buffer)) { pair = buffer.Peek(); } switch (pair.Code) { case 3: this.Description = (pair.StringValue); buffer.Advance(); break; case 7: var style = DxfTableCellStyle.FromBuffer(buffer); CellStyles.Add(style); break; case 40: this.HorizontalCellMargin = (pair.DoubleValue); buffer.Advance(); break; case 41: this.VerticalCellMargin = (pair.DoubleValue); buffer.Advance(); break; case 70: this.FlowDirection = (DxfFlowDirection)(pair.ShortValue); buffer.Advance(); break; case 71: this.Flags = (pair.ShortValue); buffer.Advance(); break; case 280: switch (code_280_index) { case 0: this.Version = (DxfVersion)(pair.ShortValue); code_280_index++; break; case 1: this.IsTitleSuppressed = BoolShort(pair.ShortValue); code_280_index++; break; default: Debug.Assert(false, "Unexpected extra values for code 280"); break; } buffer.Advance(); break; case 281: this.IsColumnHeadingSuppressed = BoolShort(pair.ShortValue); buffer.Advance(); break; default: if (!base.TrySetPair(pair)) { ExcessCodePairs.Add(pair); } buffer.Advance(); break; } } return(PostParse()); }