public override Object Clone()
        {
            LeftMarginRecord rec = new LeftMarginRecord();

            rec.field_1_margin = this.field_1_margin;
            return(rec);
        }
 /**
  * Sets the size of the margin in inches.
  * @param margin which margin to Get
  * @param size the size of the margin
  */
 public void SetMargin(MarginType margin, double size)
 {
     Margin m = GetMarginRec(margin);
     if (m == null)
     {
         switch (margin)
         {
             case MarginType.LeftMargin:
                 _leftMargin = new LeftMarginRecord();
                 m = _leftMargin;
                 break;
             case MarginType.RightMargin:
                 _rightMargin = new RightMarginRecord();
                 m = _rightMargin;
                 break;
             case MarginType.TopMargin:
                 _topMargin = new TopMarginRecord();
                 m = _topMargin;
                 break;
             case MarginType.BottomMargin:
                 _bottomMargin = new BottomMarginRecord();
                 m = _bottomMargin;
                 break;
             default:
                 throw new InvalidOperationException("Unknown margin constant:  " + margin);
         }
     }
     m.Margin= size;
 }
 public override Object Clone()
 {
     LeftMarginRecord rec = new LeftMarginRecord();
     rec.field_1_margin = this.field_1_margin;
     return rec;
 }
 private bool ReadARecord(RecordStream rs)
 {
     switch (rs.PeekNextSid())
     {
         case HorizontalPageBreakRecord.sid:
             CheckNotPresent(_rowBreaksRecord);
             _rowBreaksRecord = (PageBreakRecord)rs.GetNext();
             break;
         case VerticalPageBreakRecord.sid:
             CheckNotPresent(_columnBreaksRecord);
             _columnBreaksRecord = (PageBreakRecord)rs.GetNext();
             break;
         case HeaderRecord.sid:
             CheckNotPresent(header);
             header = (HeaderRecord)rs.GetNext();
             break;
         case FooterRecord.sid:
             CheckNotPresent(footer);
             footer = (FooterRecord)rs.GetNext();
             break;
         case HCenterRecord.sid:
             CheckNotPresent(_hCenter);
             _hCenter = (HCenterRecord)rs.GetNext();
             break;
         case VCenterRecord.sid:
             CheckNotPresent(_vCenter);
             _vCenter = (VCenterRecord)rs.GetNext();
             break;
         case LeftMarginRecord.sid:
             CheckNotPresent(_leftMargin);
             _leftMargin = (LeftMarginRecord)rs.GetNext();
             break;
         case RightMarginRecord.sid:
             CheckNotPresent(_rightMargin);
             _rightMargin = (RightMarginRecord)rs.GetNext();
             break;
         case TopMarginRecord.sid:
             CheckNotPresent(_topMargin);
             _topMargin = (TopMarginRecord)rs.GetNext();
             break;
         case BottomMarginRecord.sid:
             CheckNotPresent(_bottomMargin);
             _bottomMargin = (BottomMarginRecord)rs.GetNext();
             break;
         case UnknownRecord.PLS_004D: // PLS
             _plsRecords.Add(new PLSAggregate(rs));
             break;
         case PrintSetupRecord.sid:
             CheckNotPresent(printSetup);
             printSetup = (PrintSetupRecord)rs.GetNext();
             break;
         case UnknownRecord.BITMAP_00E9: // BITMAP
             CheckNotPresent(_bitmap);
             _bitmap = rs.GetNext();
             break;
         case UnknownRecord.PRINTSIZE_0033:
             CheckNotPresent(_printSize);
             _printSize = rs.GetNext();
             break;
         case HeaderFooterRecord.sid:
             HeaderFooterRecord hf = (HeaderFooterRecord)rs.GetNext();
             if (hf.IsCurrentSheet)
                 _headerFooter = hf;
             else
                 _sviewHeaderFooters.Add(hf);
             break;
         default:
             // all other record types are not part of the PageSettingsBlock
             return false;
     }
     return true;
 }