示例#1
0
 public CFHeader12Record(CellRangeAddress[] regions, int nRules)
     : base(regions, nRules)
 {
     ;
     futureHeader            = new FtrHeader();
     futureHeader.RecordType = (/*setter*/ sid);
 }
示例#2
0
        public FeatHdrRecord(RecordInputStream in1)
        {
            futureHeader = new FtrHeader(in1);

            isf_sharedFeatureType = in1.ReadShort();
            reserved  = (byte)in1.ReadByte();
            cbHdrData = in1.ReadInt();
            // Don't process this just yet, need the BOFRecord
            rgbHdrData = in1.ReadRemainder();
        }
示例#3
0
        private void SetDefaults()
        {
            futureHeader            = new FtrHeader();
            futureHeader.RecordType = (/*setter*/ sid);

            ext_formatting_length = 0;
            ext_formatting_data   = new byte[4];

            formula_scale = Formula.Create(Ptg.EMPTY_PTG_ARRAY);

            ext_opts              = 0;
            priority              = 0;
            template_type         = ConditionType;
            template_param_length = 16;
            template_params       = new byte[template_param_length];
        }
示例#4
0
        public FeatRecord(RecordInputStream in1)
        {
            futureHeader = new FtrHeader(in1);

            isf_sharedFeatureType = in1.ReadShort();
            reserved1             = (byte)in1.ReadByte();
            reserved2             = in1.ReadInt();
            int cref = in1.ReadUShort();

            cbFeatData = in1.ReadInt();
            reserved3  = in1.ReadShort();

            cellRefs = new CellRangeAddress[cref];
            for (int i = 0; i < cellRefs.Length; i++)
            {
                cellRefs[i] = new CellRangeAddress(in1);
            }

            switch (isf_sharedFeatureType)
            {
            case FeatHdrRecord.SHAREDFEATURES_ISFPROTECTION:
                sharedFeature = new FeatProtection(in1);
                break;

            case FeatHdrRecord.SHAREDFEATURES_ISFFEC2:
                sharedFeature = new FeatFormulaErr2(in1);
                break;

            case FeatHdrRecord.SHAREDFEATURES_ISFFACTOID:
                sharedFeature = new FeatSmartTag(in1);
                break;

            default:
                logger.Log(POILogger.ERROR, "Unknown Shared Feature " + isf_sharedFeatureType + " found!");
                break;
            }
        }
示例#5
0
 public FeatRecord()
 {
     futureHeader            = new FtrHeader();
     futureHeader.RecordType = (/*setter*/ sid);
 }
示例#6
0
 public CFHeader12Record(RecordInputStream in1)
 {
     futureHeader = new FtrHeader(in1);
     Read(in1);
 }
示例#7
0
 /** Creates new CFHeaderRecord */
 public CFHeader12Record()
 {
     CreateEmpty();
     futureHeader            = new FtrHeader();
     futureHeader.RecordType = (/*setter*/ sid);
 }
示例#8
0
        public CFRule12Record(RecordInputStream in1)
        {
            futureHeader        = new FtrHeader(in1);
            ConditionType       = ((byte)in1.ReadByte());
            ComparisonOperation = ((byte)in1.ReadByte());
            int field_3_formula1_len = in1.ReadUShort();
            int field_4_formula2_len = in1.ReadUShort();

            ext_formatting_length = in1.ReadInt();
            ext_formatting_data   = new byte[0];
            if (ext_formatting_length == 0)
            {
                // 2 bytes reserved
                in1.ReadUShort();
            }
            else
            {
                int len = ReadFormatOptions(in1);
                if (len < ext_formatting_length)
                {
                    ext_formatting_data = new byte[ext_formatting_length - len];
                    in1.ReadFully(ext_formatting_data);
                }
            }

            Formula1 = (Formula.Read(field_3_formula1_len, in1));
            Formula2 = (Formula.Read(field_4_formula2_len, in1));

            int formula_scale_len = in1.ReadUShort();

            formula_scale = Formula.Read(formula_scale_len, in1);

            ext_opts              = (byte)in1.ReadByte();
            priority              = in1.ReadUShort();
            template_type         = in1.ReadUShort();
            template_param_length = (byte)in1.ReadByte();
            if (template_param_length == 0 || template_param_length == 16)
            {
                template_params = new byte[template_param_length];
                in1.ReadFully(template_params);
            }
            else
            {
                //logger.Log(POILogger.WARN, "CF Rule v12 template params length should be 0 or 16, found " + template_param_length);
                in1.ReadRemainder();
            }

            byte type = ConditionType;

            if (type == CONDITION_TYPE_COLOR_SCALE)
            {
                color_gradient = new ColorGradientFormatting(in1);
            }
            else if (type == CONDITION_TYPE_DATA_BAR)
            {
                data_bar = new DataBarFormatting(in1);
            }
            else if (type == CONDITION_TYPE_FILTER)
            {
                filter_data = in1.ReadRemainder();
            }
            else if (type == CONDITION_TYPE_ICON_SET)
            {
                multistate = new IconMultiStateFormatting(in1);
            }
        }