0 Replies Latest reply on Sep 17, 2009 11:18 AM by Paul Reilly

    [svn:fx-trunk] 10345: * Updated two way data binding to work more intuitively by having the

    Paul Reilly Level 1

      Revision: 10345

      Author:   preilly@adobe.com

      Date:     2009-09-17 11:18:01 -0700 (Thu, 17 Sep 2009)

       

      Log Message:

      ***********

      • Updated two way data binding to work more intuitively by having the

        primary execute successfully first.

       

      QE notes: A follow on checkin will address the couple of new mxunit

                databinding failures.

      Doc notes: We should document that with two way data bindings, the

                 primary will be fired first if the primary hasn't had a

                 previous value.  The primary data binding being the

                 location of the @{} expression.

      Bugs: SDK-21860

      Reviewer: Carol

      Cycloner: Gaurav

      Tests run: checkintests, mxunit databinding

      Is noteworthy for integration: No

      Code-level description of changes:

       

        modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java

       

          Modified generateBindingsSetupFunction() to call

          generateIsTwoWayPrimaryAssignment() and added

          generateIsTwoWayPrimaryAssignment().

       

        modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm

       

          Modified emitBindingsSetup macro to set isTwoWayPrimary on the

          primary Binding of a two way data binding.

       

        modules/compiler/src/java/flex2/compiler/mxml/rep/BindingExpression.java

       

          Renamed isConstructTwoWay variable to isTwoWayPrimary and updated accessor.

       

        modules/compiler/src/java/flex2/compiler/mxml/builder/DocumentBuilder.java

        modules/compiler/src/java/flex2/compiler/mxml/builder/ServiceRequestBuilder.java

        modules/compiler/src/java/flex2/compiler/mxml/builder/AbstractBuilder.java

        modules/compiler/src/java/flex2/compiler/mxml/builder/AnonymousObjectGraphBuilder.java

        modules/compiler/src/java/flex2/compiler/mxml/builder/XMLBuilder.java

        modules/compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java

       

          Updated to reflect changes to BindingExpression.

       

        frameworks/projects/framework/src/mx/binding/Binding.as

       

          Added isTwoWayPrimary variable and modified execute() to call

          execute() on the twoWayCounterPart if there is one and hasHadValue

          is false.

       

      Ticket Links:

      ************

          http://bugs.adobe.com/jira/browse/SDK-21860

       

      Modified Paths:

      **************

          flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/Binding.as

          flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java

          flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/AbstractBuilder.java

          flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/AnonymousObjectGraph Builder.java

          flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/DocumentBuilder.java

          flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/ServiceRequestBuilde r.java

          flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/XMLBuilder.java

          flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm

          flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/BindingExpression.java

          flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java