Exemple #1
0
        protected override void ParseAttribute(XmlNode attr)
        {
            base.ParseAttribute(attr);
            switch (attr.Name.ToLower())
            {
            case "source":
                _source = (ImageSourceEnum)Enum.Parse(typeof(ImageSourceEnum), attr.InnerText, true);
                break;

            case "value":
                _value = new Expression(attr, this);
                break;

            case "mimetype":
                _mIMEType = new Expression(attr, this);
                break;

            case "sizing":
                _sizing = (ImageSizingEnum)Enum.Parse(typeof(ImageSizingEnum), attr.InnerText, true);
                break;

            default:
                break;
            }
        }
        internal Image(ReportDefn r, ReportLink p, XmlNode xNode)
            : base(r, p, xNode)
        {
            _ImageSource   = ImageSourceEnum.Unknown;
            _Value         = null;
            _MIMEType      = null;
            _Sizing        = ImageSizingEnum.AutoSize;
            _ConstantImage = false;

            // Loop thru all the child nodes
            foreach (XmlNode xNodeLoop in xNode.ChildNodes)
            {
                if (xNodeLoop.NodeType != XmlNodeType.Element)
                {
                    continue;
                }
                switch (xNodeLoop.Name)
                {
                case "Source":
                    _ImageSource = fyiReporting.RDL.ImageSource.GetStyle(xNodeLoop.InnerText);
                    break;

                case "Value":
                    _Value = new Expression(r, this, xNodeLoop, ExpressionType.Variant);
                    break;

                case "MIMEType":
                    _MIMEType = new Expression(r, this, xNodeLoop, ExpressionType.String);
                    break;

                case "Sizing":
                    _Sizing = ImageSizing.GetStyle(xNodeLoop.InnerText, OwnerReport.rl);
                    break;

                default:
                    if (ReportItemElement(xNodeLoop))           // try at ReportItem level
                    {
                        break;
                    }
                    // don't know this element - log it
                    OwnerReport.rl.LogError(4, "Unknown Image element " + xNodeLoop.Name + " ignored.");
                    break;
                }
            }
            if (_ImageSource == ImageSourceEnum.Unknown)
            {
                OwnerReport.rl.LogError(8, "Image requires a Source element.");
            }
            if (_Value == null)
            {
                OwnerReport.rl.LogError(8, "Image requires the Value element.");
            }
        }
        internal Image(ReportDefn r, ReportLink p, XmlNode xNode)
            : base(r, p, xNode)
        {
            _ImageSource = ImageSourceEnum.Unknown;
            _Value = null;
            _MIMEType = null;
            _Sizing = ImageSizingEnum.AutoSize;
            _ConstantImage = false;

            // Loop thru all the child nodes
            foreach (XmlNode xNodeLoop in xNode.ChildNodes)
            {
                if (xNodeLoop.NodeType != XmlNodeType.Element)
                    continue;
                switch (xNodeLoop.Name)
                {
                    case "Source":
                        _ImageSource = fyiReporting.RDL.ImageSource.GetStyle(xNodeLoop.InnerText);
                        break;
                    case "Value":
                        _Value = new Expression(r, this, xNodeLoop, ExpressionType.Variant);
                        break;
                    case "MIMEType":
                        _MIMEType = new Expression(r, this, xNodeLoop, ExpressionType.String);
                        break;
                    case "Sizing":
                        _Sizing = ImageSizing.GetStyle(xNodeLoop.InnerText, OwnerReport.rl);
                        break;
                    default:
                        if (ReportItemElement(xNodeLoop))	// try at ReportItem level
                            break;
                        // don't know this element - log it
                        OwnerReport.rl.LogError(4, "Unknown Image element " + xNodeLoop.Name + " ignored.");
                        break;
                }
            }
            if (_ImageSource == ImageSourceEnum.Unknown)
                OwnerReport.rl.LogError(8, "Image requires a Source element.");
            if (_Value == null)
                OwnerReport.rl.LogError(8, "Image requires the Value element.");
        }