0 Replies Latest reply on Feb 13, 2009 3:07 PM by (Ryan_Frishberg)

    [svn:fx-trunk] 4958: Change the initialization sequence of FxComponent and Group.

    Level 1
      Revision: 4958
      Author: rfrishbe@adobe.com
      Date: 2009-02-13 15:07:46 -0800 (Fri, 13 Feb 2009)

      Log Message:
      -----------
      Change the initialization sequence of FxComponent and Group. Basically now children (including the skin) should get created at createChildren() time and follow the correct lifecycle pattern. Unfortunately, this change got mingled in with all my PARB changes, so I'm submitting a bunch of PARB changes for Group, DataGroup, FxContainer, and FxDataContainer, outlined below:

      1. New event classes/names for Group/FxContainer and DataGroup ("elementAdd" and "elementRemove" event of type ElementExistenceEvent for Group/FxContainer and "rendererAdd" and "rendererRemove" event of type RendererExistenceEvent for DataGroup). It was just one event class of ItemExistenceChangedEvent before.
      2. LayoutBase.clipContent->clipAndEnableScrolling (same with IViewport.clipContent and GroupBase.clipContent)
      3. GroupBase.getLayoutELementAt()->getElementAt()
      4. GroupBase.numLayoutElements -> numElements.
      5. LayoutBase.virtualLayout -> useVirtualLayout
      6. ScrollUnit constants are now changed to be uints instead of typed as ScrollUnit. This means the signature for getHorizontalScrollPositionDelta(unit:ScrollUnit):Number has changed to getHorizontalScrollPositionDelta(scrollUnit:uint):Number (and ditto for getVerticalScrollPositionDelta())
      7. DataGroup.getRendererForItemAt() -> getElementAt()
      8. DataGroup.getItemIndexForRenderer() -> getElementIndex()

      Other changes:
      - Change IVisualElement interface so that it's smaller now. It also extends ILayoutElement now. The properties removed from IVisualElement are: rotation, rotationX, rotationY, rotationZ, transformX, transformY, offsets, x, y, z, scaleX, scaleY, scaleZ, explicitWidth, explicitMinWidth, explicitMaxWidth, explicitHeight, explicitMinHeight, explicitMaxHeight)
      - Fix in DataGroup so we don?\226?\128?\153t remove/add elements if we?\226?\128?\153re gonna do it later anyways. I also need to do some other work in here around cleaning up of renderers.
      - AddItems fix around handling IVisualElementContainers more effeciently
      - get mxmlContent now returns a copy of the Array rather than the one we're using internally
      - Had to update mustella since there was special case logic for dealing with getLayoutElementAt(). I added this logic for getElementAt(), which replaces that method.

      QE Notes: Thanks for changing all the tests and working on the cyclone
      Doc Notes: Made some ASDoc changes to some core classes to move the comments into the interfaces. I did update the comments a bit as well.
      Bugs: SDK-18115, SDK-19004
      Reviewer: Jason, Glenn, Hans for initialization sequence change and Hans for all PARB changes
      tests: checkintests, all mustella tests

      Ticket Links:
      ------------
      http://bugs.adobe.com/jira/browse/SDK-18115
      http://bugs.adobe.com/jira/browse/SDK-19004

      Modified Paths:
      --------------
      flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IViewport.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/ScrollUnit.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/TileLayout.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/states/AddItems.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as
      flex/sdk/trunk/mustella/mustella.swc

      Added Paths:
      -----------
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ElementExistenceEvent.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/RendererExistenceEvent.as

      Removed Paths:
      -------------
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ItemExistenceChangedEvent.as