Package flash.css

Examples of flash.css.StyleSelector


    void addAdvancedDeclaration(StyleDeclaration declaration, MediaList mediaList)
    {
        if (declarations == null)
            declarations = new LinkedHashMap<String, StyleDeclaration>();

        StyleSelector selector = declaration.getSelector();
        String selectorString = selector.toString();
        StyleDeclaration existingDeclaration = declarations.get(selectorString);
        // This may be the first time we've seen this declaration
        if (existingDeclaration == null)
        {
            existingDeclaration = declaration;
View Full Code Here


    protected void addConditionalSelector(ConditionalSelector selector, StyleDeclaration declaration, MediaList mediaList)
    {
        int lineNumber = getSelectorLineNumber(selector, declaration);
        if (advanced)
        {
            StyleSelector baseSelector = convertSelector(selector, declaration);
            if (baseSelector != null)
            {
                String subject = baseSelector.getValue();
                declaration.setSubject(subject);
                declaration.setSelector(baseSelector);
                addAdvancedSelectorToStyleDef(declaration, mediaList, false, lineNumber);
            }
        }
View Full Code Here

    protected void addDescendantSelector(DescendantSelector selector, StyleDeclaration declaration, MediaList mediaList)
    {
        int lineNumber = getSelectorLineNumber(selector, declaration);
        if (advanced)
        {
            StyleSelector baseSelector = convertSelector(selector, declaration);
            if (baseSelector != null)
            {
                String subject = baseSelector.getValue();
                declaration.setSubject(subject);
                declaration.setSelector(baseSelector);
                addAdvancedSelectorToStyleDef(declaration, mediaList, false, lineNumber);
            }
        }
View Full Code Here

        if (name != null || StyleDef.UNIVERSAL.equals(selector.toString()))
        {
            int lineNumber = getSelectorLineNumber(selector, declaration);
            if (advanced)
            {
                StyleSelector baseSelector = convertSelector(selector, declaration);
                if (baseSelector != null)
                {
                    String subject = baseSelector.getValue();
                    declaration.setSelector(baseSelector);
                    declaration.setSubject(subject);
                    addAdvancedSelectorToStyleDef(declaration, mediaList, isLocal, lineNumber);
                }
            }
View Full Code Here

     */
    protected void addAdvancedSelectorToStyleDef(StyleDeclaration declaration,
            MediaList mediaList, boolean isLocal, int lineNumber)
    {
        String subject = declaration.getSubject();
        StyleSelector selector = declaration.getSelector();
        StyleDef styleDef;
        String styleDefKey = subject;

        // Treat a "*" subject like Flex's special "global" subject to fit
        // in with mxmlc's treatment of type selectors vs. universal selectors.
        if (StyleDef.UNIVERSAL.equals(subject))
        {
            styleDefKey = StyleDef.GLOBAL;

            // If we have conditions, we can make "*" implied.
            if (selector.getConditions() != null && selector.getConditions().size() > 0)
            {
                selector.setValue("");
            }
        }

        if (styleDefs.containsKey(styleDefKey))
        {
View Full Code Here

     * declared.
     * @return converted StyleSelector
     */
    private StyleSelector convertSelector(Selector selector, StyleDeclaration declaration)
    {
        StyleSelector simpleTypeSelector = null;

        // Type Selector
        if (selector instanceof ElementSelector)
        {
            simpleTypeSelector = convertTypeSelector((ElementSelector)selector, declaration);
        }
        // Conditional Selector
        else if (selector instanceof ConditionalSelector)
        {
            ConditionalSelector conditionalSelector = (ConditionalSelector)selector;
            SimpleSelector simpleSelector = conditionalSelector.getSimpleSelector();
            if (simpleSelector instanceof ElementSelector)
            {
                simpleTypeSelector = convertTypeSelector((ElementSelector)simpleSelector, declaration);
            }

            if (simpleTypeSelector != null)
            {
                Condition condition = conditionalSelector.getCondition();
                boolean supportedCondition = convertCondition(simpleTypeSelector, condition);
                if (!supportedCondition)
                {
                    int lineNumber = getSelectorLineNumber(selector, declaration);
                    String path = getPathForReporting(declaration);
                    unsupportedCondition(condition, path, lineNumber);
                    return null;
                }
            }
            else
            {
                int lineNumber = getSelectorLineNumber(selector, declaration);
                String path = getPathForReporting(declaration);
                unsupportedSelector(selector, path, lineNumber);
            }
        }
        // Descendant Selector
        else if (selector instanceof DescendantSelector)
        {
            DescendantSelector descendantSelector = (DescendantSelector)selector;
            SimpleSelector simpleSelector = descendantSelector.getSimpleSelector();

            // We may have conditions too, so we call convertSelector().
            simpleTypeSelector = convertSelector(simpleSelector, declaration);
            if (simpleTypeSelector != null)
            {
                Selector ancestorSelector = descendantSelector.getAncestorSelector();
                simpleTypeSelector.setAncestor(convertSelector(ancestorSelector, declaration));
            }
        }
        else
        {
            int lineNumber = getSelectorLineNumber(selector, declaration);
View Full Code Here

     * @param selector A SAC CSS Selector to convert.
     * @return converted StyleSelector.
     */
    private StyleSelector convertTypeSelector(ElementSelector selector, StyleDeclaration declaration)
    {
        StyleSelector result = null;

        // Simple Type Selector
        if (selector != null && selector.getSelectorType() == Selector.SAC_ELEMENT_NODE_SELECTOR)
        {
            String name = selector.getLocalName();
            String uri = selector.getNamespaceURI();

            if (name == null && "*".equals(selector.toString()))
            {
                name = "*";
            }
            else if (!StyleDef.GLOBAL.equals(name) && qualifiedTypeSelectors)
            {
                if (uri != null)
                {
                    // Try to resolve the qualified ActionScript type in the
                    // given namespace URI.
                    String className = getQualifiedClassName(uri, name);

                    if (className != null)
                    {
                        name = className;
                    }
                    else
                    {
                        // Warn that a qualified type selector was unresolved
                        int lineNumber = getSelectorLineNumber(selector, declaration);
                        String path = getPathForReporting(declaration);
                        UnresolvedQualifiedTypeSelector unresolvedType =
                            new UnresolvedQualifiedTypeSelector(path, lineNumber, name, selector.toString());
                        ThreadLocalToolkit.log(unresolvedType);
                    }
                }
                else
                {
                    // Warn that a type selector was unqualified
                    int lineNumber = getSelectorLineNumber(selector, declaration);
                    String path = getPathForReporting(declaration);
                    UnqualifiedTypeSelector unqualifiedTypeSelector =
                        new UnqualifiedTypeSelector(path, lineNumber, name, selector.toString());
                    ThreadLocalToolkit.log(unqualifiedTypeSelector);
                }
            }

            // If the local name is null, do not create a selector.
            if (name != null)
            {
                result = new StyleSelector();
                result.setValue(name);
            }
        }

        return result;
    }
View Full Code Here

            if (styleDef.isAdvanced())
            {
                for (StyleDeclaration styleDeclaration : styleDef.getDeclarations().values())
                {
                    StyleSelector selector = styleDeclaration.getSelector();

                    // selector = null;
                    ExpressionStatementNode selectorInitializer = generateNullInitializer(SELECTOR);
                    initFunctionStatementList = nodeFactory.statementList(initFunctionStatementList, selectorInitializer);

                    // conditions = null;
                    ExpressionStatementNode conditionsInitializer = generateNullInitializer(CONDITIONS);
                    initFunctionStatementList = nodeFactory.statementList(initFunctionStatementList, conditionsInitializer);

                    generateSelectorAncestor(selector, initFunctionStatementList);

                    // style = StyleManager.getStyleDeclaration("${selector.toString}");
                    ExpressionStatementNode expressionStatement = generateGetStyleDeclaration(selector.toString());
            initFunctionStatementList = nodeFactory.statementList(initFunctionStatementList, expressionStatement);

                    Node nullStyleDeclarationIfStatement = generateIfNullStyleDeclaration(styleDeclaration.getSubject(), selector);
                    initFunctionStatementList = nodeFactory.statementList(initFunctionStatementList,
                                                                          nullStyleDeclarationIfStatement);
View Full Code Here

     */
    protected void addAdvancedSelectorToStyleDef(StyleDeclaration declaration,
            MediaList mediaList, boolean isLocal, int lineNumber)
    {
        String subject = declaration.getSubject();
        StyleSelector selector = declaration.getSelector();

        // Only allow type selectors on the root (Application). StyleManager is
        // a singleton so type selector overrides in arbitrary custom components
        // would be difficult to track down and not behave as expected.
        if (hasNonRootTypeSelectors(subject, selector.toString(), lineNumber))
            return;

        StyleDef styleDef;
        String styleDefKey = subject;

        // Treat a "*" subject like Flex's special "global" subject to follow
        // mxmlc's distinction of type selectors vs. universal selectors for
        // the purposes of code-generation.
        if (StyleDef.UNIVERSAL.equals(subject))
        {
            styleDefKey = StyleDef.GLOBAL;

            // If we have conditions, we can make "*" implied.
            if (selector.getConditions() != null && selector.getConditions().size() > 0)
            {
                selector.setValue("");
            }
        }

        if (styleDefs.containsKey(styleDefKey))
        {
View Full Code Here

            if (declarations != null)
            {
                for (StyleDeclaration styleDeclaration : declarations.values())
                {
                    StyleSelector styleSelector = styleDeclaration.getSelector();

                    if (styleSelector != null)
                    {
                        List<StyleCondition> conditions = styleSelector.getConditions();

                        if (conditions != null)
                        {
                            for (StyleCondition styleCondition : conditions)
                            {
View Full Code Here

TOP

Related Classes of flash.css.StyleSelector

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.