예제 #1
0
        public SSAggregate(RecordStream rs, ChartRecordAggregate container)
            : base(RuleName_SS, container)
        {
            dataFormat = (DataFormatRecord)rs.GetNext();
            rs.GetNext();
            if (rs.PeekNextChartSid() == Chart3DBarShapeRecord.sid)
            {
                chart3DBarShape = (Chart3DBarShapeRecord)rs.GetNext();
            }
            if (rs.PeekNextChartSid() == LineFormatRecord.sid)
            {
                lineFormat = (LineFormatRecord)rs.GetNext();
                areaFormat = (AreaFormatRecord)rs.GetNext();
                pieFormat  = (PieFormatRecord)rs.GetNext();
            }
            if (rs.PeekNextChartSid() == SerFmtRecord.sid)
            {
                serFmt = (SerFmtRecord)rs.GetNext();
            }

            if (rs.PeekNextChartSid() == GelFrameRecord.sid)
            {
                gelFrame = new GelFrameAggregate(rs, this);
            }

            if (rs.PeekNextChartSid() == MarkerFormatRecord.sid)
            {
                markerFormat = (MarkerFormatRecord)rs.GetNext();
            }

            if (rs.PeekNextChartSid() == AttachedLabelRecord.sid)
            {
                attachedLabel = (AttachedLabelRecord)rs.GetNext();
            }

            if (rs.PeekNextChartSid() == ShapePropsStreamRecord.sid)
            {
                shapeProps1 = new ShapePropsAggregate(rs, this);
            }

            if (rs.PeekNextChartSid() == ShapePropsStreamRecord.sid)
            {
                shapeProps2 = new ShapePropsAggregate(rs, this);
            }

            if (rs.PeekNextChartSid() == CrtMlFrtRecord.sid)
            {
                crtMlFrt = new CrtMlFrtAggregate(rs, this);
            }

            Record r = rs.GetNext();//EndRecord

            Debug.Assert(r.GetType() == typeof(EndRecord));
        }