GetStringValue() public method

This method is used to get the string value. If the CSS value doesn't contain a string value, a DOMException is raised. Note: Some properties (like 'font-family' or 'voice-family') convert a whitespace separated list of idents to a string.
INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string value.
public GetStringValue ( ) : string
return string
        public override string GetStringValue()
        {
            switch (PrimitiveType)
            {
            case CssPrimitiveType.Attr:
                return(_element.GetAttribute(_cssValue.GetStringValue(), string.Empty));

            default:
                return(_cssValue.GetStringValue());
            }
        }
Beispiel #2
0
        public void TestStringValue()
        {
            CssStyleDeclaration csd = (CssStyleDeclaration)((CssStyleRule)cssStyleSheet.CssRules[1]).Style;
            CssValue            val = (CssValue)csd.GetPropertyCssValue("string");

            Assert.IsTrue(val is CssPrimitiveValue);
            CssPrimitiveValue primValue = (CssPrimitiveValue)csd.GetPropertyCssValue("string");

            Assert.AreEqual("\"a string\"", primValue.CssText);
            Assert.AreEqual(CssValueType.PrimitiveValue, primValue.CssValueType);
            Assert.AreEqual(CssPrimitiveType.String, primValue.PrimitiveType);
            string str = primValue.GetStringValue();

            Assert.AreEqual("a string", str);
        }
        public CssAbsPrimitiveLengthValue(CssPrimitiveValue cssValue, string propertyName, XmlElement element)
        {
            if (cssValue.PrimitiveType == CssPrimitiveType.Ident)
            {
                // this is primarily to deal with font sizes.
                float absSize;
                switch (cssValue.GetStringValue())
                {
                case "xx-small":
                    absSize = 6F;
                    break;

                case "x-small":
                    absSize = 7.5F;
                    break;

                case "small":
                    absSize = 8.88F;
                    break;

                case "large":
                    absSize = 12F;
                    break;

                case "x-large":
                    absSize = 15F;
                    break;

                case "xx-large":
                    absSize = 20F;
                    break;

                case "larger":
                case "smaller":
                    float parSize;
                    if (_parentElement != null)
                    {
                        CssStyleDeclaration csd          = (CssStyleDeclaration)_ownerDocument.GetComputedStyle(_parentElement, string.Empty);
                        CssPrimitiveValue   cssPrimValue = csd.GetPropertyCssValue("font-size") as CssPrimitiveValue;

                        // no default font-size set => use 10px
                        if (cssPrimValue == null)
                        {
                            parSize = 10;
                        }
                        else
                        {
                            parSize = (float)cssPrimValue.GetFloatValue(CssPrimitiveType.Px);
                        }
                    }
                    else
                    {
                        parSize = 10;
                    }
                    if (cssValue.GetStringValue() == "smaller")
                    {
                        absSize = parSize / 1.2F;
                    }
                    else
                    {
                        absSize = parSize * 1.2F;
                    }
                    break;

                default:
                    absSize = 10F;
                    break;
                }
                SetFloatValue(absSize);
                SetPrimitiveType(CssPrimitiveType.Px);
            }
            else
            {
                SetFloatValue(cssValue.GetFloatValue(cssValue.PrimitiveType));
                SetPrimitiveType(cssValue.PrimitiveType);
            }
            _propertyName = propertyName;
            _element      = element;
        }
        public CssAbsPrimitiveLengthValue(CssPrimitiveValue cssValue, string propertyName, XmlElement element)
        {
            if (cssValue.PrimitiveType == CssPrimitiveType.Ident)
            {
                // this is primarily to deal with font sizes.
                float absSize;
                switch (cssValue.GetStringValue())
                {
                    case "xx-small":
                        absSize = 6F;
                        break;
                    case "x-small":
                        absSize = 7.5F;
                        break;
                    case "small":
                        absSize = 8.88F;
                        break;
                    case "large":
                        absSize = 12F;
                        break;
                    case "x-large":
                        absSize = 15F;
                        break;
                    case "xx-large":
                        absSize = 20F;
                        break;
                    case "larger":
                    case "smaller":
                        float parSize;
                        if(_parentElement != null)
                        {
                            CssStyleDeclaration csd = (CssStyleDeclaration)_ownerDocument.GetComputedStyle(_parentElement, String.Empty);
                            CssPrimitiveValue cssPrimValue = csd.GetPropertyCssValue("font-size") as CssPrimitiveValue;

                            // no default font-size set => use 10px
                            if(cssPrimValue == null)
                            {
                                parSize = 10;
                            }
                            else
                            {
                                parSize = (float)cssPrimValue.GetFloatValue(CssPrimitiveType.Px);
                            }
                        }
                        else
                        {
                            parSize = 10;
                        }
                        if(cssValue.GetStringValue() == "smaller") absSize = parSize / 1.2F;
                        else absSize = parSize * 1.2F;
                        break;
                    default:
                        absSize = 10F;
                        break;
                }
                SetFloatValue(absSize);
                SetPrimitiveType(CssPrimitiveType.Px);
            }
            else
            {
                SetFloatValue(cssValue.GetFloatValue(cssValue.PrimitiveType));
                SetPrimitiveType(cssValue.PrimitiveType);
            }
            _propertyName = propertyName;
            _element = element;
        }