Transferred from the Adobe Open Source Subversion Repository
Transferred from the Adobe Open Source Subversion Repository

Revision: 8589
Author:   dsubrama@adobe.com
Date:     2009-07-15T18:20:12.196711Z

Log Message: 
-----------
With this check-in, we now collapse Path segment classes (PathSegment, MoveSegment, LineSegment, CloseSegment, CubicBezierSegment, QuadraticBezierSegment) as internal, private classes in Path. Paths will now be wholly dependent on the compact syntax for expressing Path data. Previously, users could write: 

<Path>
<segments>
<MoveSegment x="0" y="0" />
<LineSegment x="100" y="100" />
<CloseSegment />
</segments>
</Path>

Now, this syntax is illegal since the Path segment classes are not publicly accessible. Users have to write in the compact syntax as the value of the Path's data property, like so:

<Path data="M 0 0 L 100 100 Z" />

Additional changes include:

1. Path.segments property removed. In its place, there is private variable (segments) which holds the path data parsed into the correct segment objects.  

2. Path.segmentChanged() removed – Segments do not need to notify the parent path when their properties have changed since they are now not individually accessible. 

3. PathSegment.segmentHost property removed – Segments do not need a pointer back to the parent Path since now they are now not individually accessible. 

4. PathSegment.notifySegmentChanged() removed – Segments do not need to notify the parent Path they have changed since they are now not individually accessible. 

5. PathSegment.dispatchSegmentChanged() removed – Path segments do not need to dispatch propertyChange events since they are now not individually accessible. As part of this, I have removed the [Bindable] and 	[Inspectable] metadata from all PathSegment properties.

6. PathSegment no longer extends EventDispatcher, instead it extends Object.

7. All of the PathSegment and derivative classes no longer have getters/setters for their properties (like x, y, etc) since these properties are now not dispatching property change events. 

8. A variety of checkintests/sparkTest project files have been updated to use the compact syntax as they are drawn/transitioned between state changes. Refer to sparkTest/AddItemsTest.mxml and RemoveItemsTest.mxml for examples on how to use states and transitions to transform Paths through the data they are bound to (as opposed to modifying individual segments). 

This is as per the ARB decision listed here: http://opensource.adobe.com/wiki/display/flexsdk/Verbose+Path+Syntax 

QA: Yes - Joan ran a cyclone and updated all tests
Doc: Yes - Changes above need to be reflected in documentation
Checkintests: Pass

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/PathSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/states/statefulNodes.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/AddItemsTest.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/EffectsProperties.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/RemoveItemsTest.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/CloseSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarRightButtonSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/MoveSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/SpinnerIncrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/QuadraticBezierSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarLeftButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/ArrowExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/fxg-manifest.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/CubicBezierSegment.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/pathSegments/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/SpinnerDecrementButtonSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/CircleExample.mxml</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1290757 13f79535-47bb-0310-9956-ffa450edef68

apache/flex-sdk,apache/flex-sdk,danteinforno/flex-sdk,danteinforno/flex-sdk,danteinforno/flex-sdk,SlavaRa/flex-sdk,adufilie/flex-sdk,shyamalschandra/flex-sdk,apache/flex-sdk,shyamalschandra/flex-sdk,danteinforno/flex-sdk,apache/flex-sdk,SlavaRa/flex-sdk,SlavaRa/flex-sdk,shyamalschandra/flex-sdk,SlavaRa/flex-sdk,SlavaRa/flex-sdk,adufilie/flex-sdk,shyamalschandra/flex-sdk,shyamalschandra/flex-sdk,adufilie/flex-sdk,shyamalschandra/flex-sdk,danteinforno/flex-sdk,adufilie/flex-sdk,adufilie/flex-sdk,apache/flex-sdk,SlavaRa/flex-sdk,apache/flex-sdk,danteinforno/flex-sdk,adufilie/flex-sdk