0 Replies Latest reply on Jan 23, 2009 10:45 AM by Peter Farland

    [svn] 4646: As part of the Advanced CSS work, adding support for pseudo-selectors that match component states.

    Peter Farland Level 3
      Revision: 4646
      Author: pfarland@adobe.com
      Date: 2009-01-23 10:45:23 -0800 (Fri, 23 Jan 2009)

      Log Message:
      -----------
      As part of the Advanced CSS work, adding support for pseudo-selectors that match component states. There are two scenarios for matching states.

      1. For skinnable Spark subclasses of FxComponents, such as FxButton. The pseudo-selector will be matched against the current skin state.

      2. For other UIComponents, the pseudo-selector is matched against the currentState. Note that since states are declared at the document level, pseudo-selectors are written to match the component representing the document only (rather than an arbitrary child component of that document). Note that as with styles in general, it is not advised to make changes to inheriting styles at the Application root as this impacts all child components in the display list.

      Note that further optimization will be investigated to limit the number of components that are redrawn where a change in state is accompanied by a matching pseudo-selector.

      QE: Yes
      Doc: Yes, see the Advanced CSS specification for Gumbo.
      Checkintests: Pass
      Reviewer: Glenn

      Modified Paths:
      --------------
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSSelector.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager3.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as