OFC-576 Entering an unrecognized species name should only allow UNL not UNK

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/TaxonAttributePresenter.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/TaxonAttributePresenter.as
@@ -8,8 +8,10 @@
 	import mx.controls.TextInput;
 	import mx.core.FlexGlobals;
 	import mx.events.FlexMouseEvent;
+	import mx.managers.IFocusManagerComponent;
 	import mx.managers.PopUpManager;
 	import mx.rpc.AsyncResponder;
+	import mx.rpc.IResponder;
 	import mx.rpc.events.FaultEvent;
 	import mx.rpc.events.ResultEvent;
 	import mx.utils.StringUtil;
@@ -26,7 +28,7 @@
 	import org.openforis.collect.ui.component.input.TaxonAutoCompletePopUp;
 	import org.openforis.collect.util.CollectionUtil;
 	import org.openforis.collect.util.PopUpUtil;
-	import mx.managers.IFocusManagerComponent;
+	import org.openforis.collect.util.StringUtil;

 	/**
 	 *
@@ -45,7 +47,6 @@

 		protected static var autoCompletePopUp:TaxonAutoCompletePopUp;
 		protected static var autoCompletePopUpOpened:Boolean = false;
-		protected static var autoCompleteSearchResponder:AsyncResponder;
 		protected static var autoCompleteLastInputField:InputField;

 		private var _lastSelectedTaxon:Object;
@@ -147,7 +148,6 @@
 				autoCompletePopUp.addEventListener(KeyboardEvent.KEY_DOWN, autoCompleteKeyDownHandler);
 				autoCompletePopUp.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, autoCompleteMouseDownOutsideHandler);
 				autoCompletePopUp.addEventListener(TaxonInputFieldEvent.TAXON_SELECT, taxonSelectHandler);
-				autoCompleteSearchResponder = new AsyncResponder(autoCompleteSearchResultHandler, searchFaultHandler);
 			}
 			if(! autoCompletePopUpOpened) {
 				PopUpManager.addPopUp(autoCompletePopUp, FlexGlobals.topLevelApplication as DisplayObject, false);
@@ -170,15 +170,17 @@
 			autoCompletePopUp.dataGrid.dataProvider = null;
 			var client:SpeciesClient = ClientFactory.speciesClient;
 			var searchText:String = inputField.text;
+			var token:Object = {searchText: searchText, searchType: searchType};
+			var responder:IResponder = new AsyncResponder(autoCompleteSearchResultHandler, searchFaultHandler, token);
 			switch(searchType) {
 				case SEARCH_BY_CODE:
-					client.findByCode(autoCompleteSearchResponder, searchText, MAX_RESULTS);
+					client.findByCode(responder, searchText, MAX_RESULTS);
 					break;
 				case SEARCH_BY_SCIENTIFIC_NAME:
-					client.findByScientificName(autoCompleteSearchResponder, searchText, MAX_RESULTS);
+					client.findByScientificName(responder, searchText, MAX_RESULTS);
 					break;
 				case SEARCH_BY_VERNACULAR_NAME:
-					client.findByVernacularName(autoCompleteSearchResponder, searchText, MAX_RESULTS);
+					client.findByVernacularName(responder, searchText, MAX_RESULTS);
 					break;
 				default:
 			}
@@ -257,7 +259,14 @@
 		protected static function autoCompleteSearchResultHandler(event:ResultEvent, token:Object):void {
 			var data:IList = event.result as IList;
 			if ( CollectionUtil.isEmpty(data) ) {
-				data.addItem(UNKNOWN_ITEM);
+				var searchType:String = token.searchType;
+				var searchText:String = token.searchText;
+				if ( (searchType == SEARCH_BY_SCIENTIFIC_NAME || searchType == SEARCH_BY_VERNACULAR_NAME) &&
+					org.openforis.collect.util.StringUtil.startsWith(UNKNOWN_ITEM.scientificName.toUpperCase(), searchText.toUpperCase()) ||
+					searchType == SEARCH_BY_CODE && org.openforis.collect.util.StringUtil.startsWith(UNKNOWN_ITEM.code.toUpperCase(), searchText.toUpperCase())
+					) {
+					data.addItem(UNKNOWN_ITEM);
+				}
 				data.addItem(UNLISTED_ITEM);
 			}
 			autoCompletePopUp.dataGrid.dataProvider = data;


Transferred from the Adobe Open Source Subversion Repository

Revision: 11689
Author:   klin@adobe.com
Date:     2009-11-12T08:56:10.955873Z

Log Message:
-----------
https://bugs.adobe.com/jira/browse/SDK-24167 - ComboBox was sometimes destroying a null dropdown. I moved the code to the if block that checks for a null dropdown in onTweenEnd().

QE notes: No
Doc notes: No
Bugs: SDK-24167
Reviewer: Jason
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as

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

--- frameworks/projects/mx/src/mx/controls/ComboBox.as
+++ frameworks/projects/mx/src/mx/controls/ComboBox.as
@@ -1720,9 +1720,9 @@
             systemManager.addEventListener(Event.RESIZE, stage_resizeHandler, false, 0, true);
         }

-		var m:Matrix = transform.concatenatedMatrix;
-		_dropdown.scaleX = m.a; //scale x
-		_dropdown.scaleY = m.d; //scale y
+        var m:Matrix = transform.concatenatedMatrix;
+        _dropdown.scaleX = m.a; //scale x
+        _dropdown.scaleY = m.d; //scale y

         return _dropdown;
     }
@@ -1910,8 +1910,8 @@
                 // Special case: Empty dataProvider.
                 if (!selectedIndexChanged && !selectedItemChanged)
                 {
-                	if (super.selectedIndex != -1)
-                    	super.selectedIndex = -1;
+                    if (super.selectedIndex != -1)
+                        super.selectedIndex = -1;
                     implicitSelectedIndex = true;
                     invalidateDisplayList();
                 }
@@ -2258,17 +2258,17 @@
             inTween = false;
             _dropdown.enabled = true;
             _dropdown.visible = _showingDropdown;
-        }
-
-        if (bRemoveDropdown)
-        {
-            _dropdown.removeEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, dropdown_mouseOutsideHandler);
-            _dropdown.removeEventListener(FlexMouseEvent.MOUSE_WHEEL_OUTSIDE, dropdown_mouseOutsideHandler);
-            _dropdown.removeEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, dropdown_mouseOutsideHandler);
-            _dropdown.removeEventListener(SandboxMouseEvent.MOUSE_WHEEL_SOMEWHERE, dropdown_mouseOutsideHandler);
-
-            PopUpManager.removePopUp(_dropdown);
-            _dropdown = null;
+
+            if (bRemoveDropdown)
+            {
+                _dropdown.removeEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, dropdown_mouseOutsideHandler);
+                _dropdown.removeEventListener(FlexMouseEvent.MOUSE_WHEEL_OUTSIDE, dropdown_mouseOutsideHandler);
+                _dropdown.removeEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, dropdown_mouseOutsideHandler);
+                _dropdown.removeEventListener(SandboxMouseEvent.MOUSE_WHEEL_SOMEWHERE, dropdown_mouseOutsideHandler);
+
+                PopUpManager.removePopUp(_dropdown);
+                _dropdown = null;
+            }
         }

         bRemoveDropdown = true;


Transferred from the Adobe Open Source Subversion Repository

Revision: 21594
Author:   deeptika@adobe.com
Date:     2011-07-18T11:39:38.158141Z

Log Message:
-----------
Changing the style setting mechanism in charts (moving to defaults.css) to fix memory leak in charts.
QE notes:
Doc notes:
Bugs: FLEXDMV-2626 (Views with charts not getting GC-ed)
Reviewer:
Tests run: Mustella test suite for charts - cyclone tested by QE
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/charts.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/series/AreaSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/BubbleChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/ColumnChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/charts-4.X.0.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/GridLines.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/series/PieSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/BarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/AreaChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/series/HLOCSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/AxisRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/series/LineSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/PieChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/series/BubbleSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/PlotChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/CandlestickChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/charts-3.0.0.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/HLOCChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/LineChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/series/BarSeries.as</path>

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

--- frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
+++ frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
@@ -1041,19 +1041,13 @@
     private function initStyles():Boolean
     {
         HaloDefaults.init(styleManager);
-
-        var columnSeriesStyle:CSSStyleDeclaration =
-            HaloDefaults.createSelector("mx.charts.series.ColumnSeries", styleManager);
-
-        columnSeriesStyle.defaultFactory = function():void
-        {
-            this.fill = new SolidColor(0);
-            this.fills = [];
-            this.itemRenderer = new ClassFactory(BoxItemRenderer);
-            this.stroke = HaloDefaults.emptyStroke;
-            this.labelSizeLimit = 9;
-        }
-
+
+		var columnSeriesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.series.ColumnSeries");
+		columnSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.BoxItemRenderer));
+		columnSeriesStyle.setStyle("fill", new SolidColor(0x000000));
+		columnSeriesStyle.setStyle("fills", []);
+		columnSeriesStyle.setStyle("stroke", HaloDefaults.emptyStroke);
+
         return true;
     }

@@ -1149,7 +1143,7 @@
      */
      override public function stylesInitialized():void
      {
-        _localFills = getStyle('fills');
+		_localFills = getStyle('fills');
         if (_localFills != null)
             _fillCount = _localFills.length;
         else


Transferred from the Adobe Open Source Subversion Repository

Revision: 4009
Author:   jimurphy@adobe.com
Date:     2008-11-04T15:10:34.970681Z

Log Message:
-----------
Merged alpha_gumbo revisions 3929,3936-3937,3945,3956,3971,3986,3994,4002,4006 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/CompositeEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/src/flash_component_icon.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/src/flash_container_icon_small.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/TweenEffectInstance.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ResizeMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/src/flash_container_icon.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/src/flash_component_icon_small.png</path>

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

--- frameworks/projects/framework/src/mx/effects/IEffectInstance.as
+++ frameworks/projects/framework/src/mx/effects/IEffectInstance.as
@@ -303,6 +303,8 @@
      */
     function initEffect(event:Event):void;

+    function seek(seekTime:Number):void;
+
     /**
      *  Plays the effect instance on the target after the
      *  startDelay period has elapsed.


Transferred from the Adobe Open Source Subversion Repository

Revision: 88
Author:   open-source-svn-admin@adobe.com
Date:     2008-01-03T22:47:56.499469Z

Log Message:
-----------
Perforce Change 191925 by proberts@proberts-laptop-flex on 2008/01/03 16:47:12 Severity: ignore Details: doc additions/clean up for FlexNativeMenu. Also FLEXDOCS-320 (update documentation for FlexNativeMenuEvent.MENU_SHOW to explain that the index, label, and item properties are null) Affected files ...

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/NoChannelAvailableError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessagingError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidChannelError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXContext.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Grammar.jj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidDestinationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractMessageStore.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as
@@ -1,21 +1,14 @@
-/*************************************************************************
- *
- * ADOBE CONFIDENTIAL
- * __________________
- *
- *  [2002] - [2007] Adobe Systems Incorporated
- *  All Rights Reserved.
- *
- * NOTICE:  All information contained herein is, and remains
- * the property of Adobe Systems Incorporated and its suppliers,
- * if any.  The intellectual and technical concepts contained
- * herein are proprietary to Adobe Systems Incorporated
- * and its suppliers and may be covered by U.S. and Foreign Patents,
- * patents in process, and are protected by trade secret or copyright law.
- * Dissemination of this information or reproduction of this material
- * is strictly forbidden unless prior written permission is obtained
- * from Adobe Systems Incorporated.
- */
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
 package mx.messaging.channels
 {

@@ -495,4 +488,4 @@
     {
         super(null, message, null);
     }
-}+}


Fix bounds scaling

Fix bounds scaling

--- src/com/merlinds/miracle_tool/controllers/PublishCommand.as
+++ src/com/merlinds/miracle_tool/controllers/PublishCommand.as
@@ -118,8 +118,15 @@
 		private function createAnimationOutput(animationVO:AnimationVO, meshPrefix:String):Object {
 			var data:Object = { name:meshPrefix + "." + animationVO.name,// name of the matrix
 				totalFrames:animationVO.totalFrames,// Total animation frames
-				bounds:animationVO.bounds.clone(),
 				layers:[]};
+			//scale bounds
+			var bounds:Rectangle = animationVO.bounds.clone();
+			bounds.x = bounds.x * _scale;
+			bounds.y = bounds.y * _scale;
+			bounds.width = bounds.width * _scale;
+			bounds.height = bounds.height * _scale;
+			data.bounds = bounds;
+			//calculate frames
 			var n:int = animationVO.timelines.length;
 			//find matrix sequence for current animation
 			for(var i:int = 0; i < n; i++){


Добавлен EmptyLoadingFailHandler

Добавлен EmptyLoadingFailHandler

--- src/main/org/shypl/common/loader/EmptyLoadingFailHandler.as
+++ src/main/org/shypl/common/loader/EmptyLoadingFailHandler.as
@@ -1,5 +1,7 @@
 package org.shypl.common.loader {
 	public class EmptyLoadingFailHandler implements LoadingFailHandler {
+		public static const INSTANCE:LoadingFailHandler = new EmptyLoadingFailHandler();
+
 		public function handleLoadingFail(url:String):void {
 		}
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/advancedgrids/src/mx/controls/olapDataGridClasses/OLAPDataGridHeaderRendererProvider.as
+++ frameworks/projects/advancedgrids/src/mx/controls/olapDataGridClasses/OLAPDataGridHeaderRendererProvider.as
@@ -0,0 +1,59 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls.olapDataGridClasses
+{
+
+/**
+ *  The OLAPDataGridHeaderRendererProvider class lets you specify a
+ *  custom header renderer for the columns in the OLAPDataGrid control.
+ *
+ *
To specify a custom header renderer to the OLAPDataGrid control,
+ *  create your customer header renderer as a subclass of the OLAPDataGridHeaderRenderer class,
+ *  create an instance of the OLAPDataGridHeaderRendererProvider,
+ *  set the OLAPDataGridHeaderRendererProvider.renderer property to
+ *  your customer header renderer, and
+ *  then pass the OLAPDataGridHeaderRendererProvider instance to the OLAPDATAGrid control
+ *  by setting the OLAPDataGrid.headerRendererProviders property.

+ *
+ *  @see mx.controls.OLAPDataGrid
+ *  @see mx.controls.olapDataGridClasses.OLAPDataGridHeaderRenderer
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class OLAPDataGridHeaderRendererProvider extends OLAPDataGridRendererProvider
+{
+	include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    // headerWordWrap
+    //----------------------------------
+
+    /**
+     *  Set to true to wrap the text in the column header.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var headerWordWrap:*
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18871
Author:   smgilson@adobe.com
Date:     2010-11-30T20:10:44.561987Z

Log Message:
-----------
Fix ASDoc version tags

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/tabularData/SparkDataGridTabularData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultComplexItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkScrollBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridHeaderRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SprakTextAreaAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGridAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/GapStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/mediaClasses/SparkVolumeBarAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SprakSkinnableTextBaseAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/events/ViewNavigatorEvent.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as
@@ -11,254 +11,254 @@

 package spark.automation.delegates.components
 {
-	import flash.display.DisplayObject;
-	import flash.events.Event;
-	import flash.events.KeyboardEvent;
-	import flash.events.TextEvent;
-	import flash.ui.Keyboard;
-
-	import mx.automation.Automation;
-	import mx.automation.IAutomationObject;
-	import mx.automation.IAutomationObjectHelper;
-	import mx.automation.events.AutomationRecordEvent;
-	import mx.automation.events.TextSelectionEvent;
-	import mx.core.mx_internal;
-
-	import spark.automation.delegates.components.supportClasses.SparkDropDownListBaseAutomationImpl;
-	import spark.components.ComboBox;
-	import spark.components.RichEditableText;
-	import spark.events.TextOperationEvent;
-
-	use namespace mx_internal;
-
-	[Mixin]
-
-	/**
-	 *
-	 *  Defines methods and properties required to perform instrumentation for the
-	 *  ComboBox control.
-	 *
-	 *  @see spark.components.ComboBox
-	 *
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 4
-	 */
-
-	public class SparkComboBoxAutomationImpl extends SparkDropDownListBaseAutomationImpl
-	{
-		include "../../../core/Version.as";
-
-		//--------------------------------------------------------------------------
-		//
-		//  Class methods
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Registers the delegate class for a component class with automation manager.
-		 *
-		 *  @param root The SystemManger of the application.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 3
-		 */
-		public static function init(root:DisplayObject):void
-		{
-			Automation.registerDelegateClass(spark.components.ComboBox, SparkComboBoxAutomationImpl);
-		}
-
-		/**
-		 *  Constructor.
-		 * @param obj ComboBox object to be automated.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 3
-		 */
-		public function SparkComboBoxAutomationImpl(obj:spark.components.ComboBox)
-		{
-			super(obj);
-
-		}
-
-		override protected function componentInitialized():void
-		{
-			sparkComboBox.textInput.addEventListener(KeyboardEvent.KEY_DOWN, textKeyDownHandler, false, 0 , true);
-			sparkComboBox.textInput.addEventListener(AutomationRecordEvent.RECORD,
-				textInput_recordHandler, false, 0, true);
-		}
-
-		/**
-		 *  @private
-		 *  storage for the owner component
-		 */
-		protected function get sparkComboBox():spark.components.ComboBox
-		{
-			return uiComponent as spark.components.ComboBox;
-
-		}
-
-		/**
-		 * @private
-		 * Keyboard events like up/down/page_up/page_down/enter are
-		 * recorded here. They are not recorded by textInput control but
-		 * we require them to be recorded.
-		 */
-		private function textKeyDownHandler(event:KeyboardEvent):void
-		{
-			// we do not record key events with modifiers
-			// open/close events with ctrl key are recorded seperately.
-			if (event.ctrlKey)
-				return;
-			// record keys which are of used for navigation in the dropdown list
-			if (event.keyCode == Keyboard.UP ||
-				event.keyCode == Keyboard.DOWN ||
-				event.keyCode == Keyboard.PAGE_UP ||
-				event.keyCode == Keyboard.PAGE_DOWN ||
-				event.keyCode == Keyboard.ESCAPE ||
-				event.keyCode == Keyboard.ENTER ||
-				event.keyCode == Keyboard.HOME ||
-				event.keyCode == Keyboard.END
-			)
-
-				recordAutomatableEvent(event);
-			else	//Pressing any key other than the above keys opens dropDown automatically.
-					// So we need not record the open event in that case as replay of the input character
-					// automatically opens the dropDown
-				isKeyTypeEvent = true;
-		}
-
-		/**
-		 *  @private
-		 *  textInput is a automationComposite. Hence its own recording is skipped by AT.
-		 *  We need to handle this specifically.
-		 */
-		private function textInput_recordHandler(event:AutomationRecordEvent):void
-		{
-			if(event.automationObject == sparkComboBox.textInput)
-			{
-				var re:Object = event.replayableEvent;
-				if (re is KeyboardEvent && (re.keyCode == Keyboard.ENTER || re.keyCode == Keyboard.ESCAPE))
-					return;
-				recordAutomatableEvent(event.replayableEvent);
-			}
-		}
-
-		/**
-		 * @private
-		 * Replays a text event by delegating responsibility to the text input.,
-		 */
-		override public function replayAutomatableEvent(event:Event):Boolean
-		{
-			var help:IAutomationObjectHelper = Automation.automationObjectHelper;
-			var ke:KeyboardEvent;
-			if (event is KeyboardEvent)
-			{
-				var kbEvent:KeyboardEvent = KeyboardEvent(event);
-				var keyCode:int = kbEvent.keyCode;
-				switch (keyCode)
-				{
-					case Keyboard.BACKSPACE:
-					{
-						// Processing of Key events in EditManager looks for charCode in case of
-						// Backspace but we are not storing charCode in our scripts. So redispatching the events
-						// after setting char code for Backspace.
-						// AutomationManager's replayKeyBoardEvent also doesn't help because we do not consider
-						// charCode there also.
-						ke = new KeyboardEvent(KeyboardEvent.KEY_DOWN);
-						ke.charCode = keyCode;
-						ke.keyCode = keyCode;
-						ke.ctrlKey = kbEvent.ctrlKey;
-						ke.shiftKey = kbEvent.shiftKey;
-						ke.altKey = kbEvent.altKey;
-
-						sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
-
-						ke = new KeyboardEvent(KeyboardEvent.KEY_UP);
-						ke.charCode = keyCode;
-						ke.keyCode = keyCode;
-						ke.ctrlKey = kbEvent.ctrlKey;
-						ke.shiftKey = kbEvent.shiftKey;
-						ke.altKey = kbEvent.altKey;
-
-						sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
-						return true;
-					}
-					case Keyboard.DELETE:
-					{
-						return RichEditableText(sparkComboBox.textInput.textDisplay).replayAutomatableEvent(event);
-					}
-					default:
-					{
-						break;
-					}
-				}
-				return help.replayKeyboardEvent(sparkComboBox.textInput.textDisplay,
-					KeyboardEvent(event));
-			}
-			else if (event is TextEvent)
-			{
-				// Instead of replaying it on textDisplay, we handle it explicitly here
-				// because Change event need not be fired in this case like we do in RichEditableText.
-				// Firing that would change the anchor and active positions which causes problem due
-				// to auto-filling behavior of ComboBox.
-				var changeEvent:TextOperationEvent = new TextOperationEvent(TextOperationEvent.CHANGE);
-
-				// need to set focus in order for the uirichEditableText to behave correctly
-				sparkComboBox.textInput.textDisplay.setFocus();
-
-				var textEvent:TextEvent = TextEvent(event);
-				var text:String = textEvent.text;
-				var n:int = textEvent.text.length;
-
-				for (var i:uint = 0; i < n; i++)
-				{
-					ke = new KeyboardEvent(KeyboardEvent.KEY_DOWN);
-					ke.charCode = text.charCodeAt(i);
-					ke.keyCode = text.charCodeAt(i);
-					sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
-					var pos:int ;
-
-					// we dont need any special handling on the string.
-					// replaying the key board events takes care of the needed.
-					// however when there is a line feed or carriage return , we need to handle it specially
-					if((text.charAt(i) == "\n") || (text.charAt(i) == "\r"))
-						sparkComboBox.textInput.textDisplay.insertText(text.charAt(i));
-
-
-					var te:TextEvent = new TextEvent(TextEvent.TEXT_INPUT);
-					te.text = String(text.charAt(i));
-					// ref. http://bugs.adobe.com/jira/browse/FLEXENT-838 - charcode vs charAt
-					sparkComboBox.textInput.textDisplay.dispatchEvent(te);
-
-					ke = new KeyboardEvent(KeyboardEvent.KEY_UP);
-					ke.charCode = text.charCodeAt(i);
-					ke.keyCode = text.charCodeAt(i);
-					sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
-				}
-				sparkComboBox.textInput.textDisplay.dispatchEvent(changeEvent);
-			}
-			else if (event is TextSelectionEvent)
-			{
-				var replayer:IAutomationObject =
-					sparkComboBox.textInput as IAutomationObject;
-				return (replayer ? replayer.replayAutomatableEvent(event): false);
-			}
-			return super.replayAutomatableEvent(event);
-		}
-
-		/**
-		 * @private
-		 */
-		override protected function keyDownHandler(event:KeyboardEvent):void
-		{
-
-		}
-	}
+    import flash.display.DisplayObject;
+    import flash.events.Event;
+    import flash.events.KeyboardEvent;
+    import flash.events.TextEvent;
+    import flash.ui.Keyboard;
+
+    import mx.automation.Automation;
+    import mx.automation.IAutomationObject;
+    import mx.automation.IAutomationObjectHelper;
+    import mx.automation.events.AutomationRecordEvent;
+    import mx.automation.events.TextSelectionEvent;
+    import mx.core.mx_internal;
+
+    import spark.automation.delegates.components.supportClasses.SparkDropDownListBaseAutomationImpl;
+    import spark.components.ComboBox;
+    import spark.components.RichEditableText;
+    import spark.events.TextOperationEvent;
+
+    use namespace mx_internal;
+
+    [Mixin]
+
+    /**
+     *
+     *  Defines methods and properties required to perform instrumentation for the
+     *  ComboBox control.
+     *
+     *  @see spark.components.ComboBox
+     *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+
+    public class SparkComboBoxAutomationImpl extends SparkDropDownListBaseAutomationImpl
+    {
+        include "../../../core/Version.as";
+
+        //--------------------------------------------------------------------------
+        //
+        //  Class methods
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Registers the delegate class for a component class with automation manager.
+         *
+         *  @param root The SystemManger of the application.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static function init(root:DisplayObject):void
+        {
+            Automation.registerDelegateClass(spark.components.ComboBox, SparkComboBoxAutomationImpl);
+        }
+
+        /**
+         *  Constructor.
+         * @param obj ComboBox object to be automated.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public function SparkComboBoxAutomationImpl(obj:spark.components.ComboBox)
+        {
+            super(obj);
+
+        }
+
+        override protected function componentInitialized():void
+        {
+            sparkComboBox.textInput.addEventListener(KeyboardEvent.KEY_DOWN, textKeyDownHandler, false, 0 , true);
+            sparkComboBox.textInput.addEventListener(AutomationRecordEvent.RECORD,
+                textInput_recordHandler, false, 0, true);
+        }
+
+        /**
+         *  @private
+         *  storage for the owner component
+         */
+        protected function get sparkComboBox():spark.components.ComboBox
+        {
+            return uiComponent as spark.components.ComboBox;
+
+        }
+
+        /**
+         * @private
+         * Keyboard events like up/down/page_up/page_down/enter are
+         * recorded here. They are not recorded by textInput control but
+         * we require them to be recorded.
+         */
+        private function textKeyDownHandler(event:KeyboardEvent):void
+        {
+            // we do not record key events with modifiers
+            // open/close events with ctrl key are recorded seperately.
+            if (event.ctrlKey)
+                return;
+            // record keys which are of used for navigation in the dropdown list
+            if (event.keyCode == Keyboard.UP ||
+                event.keyCode == Keyboard.DOWN ||
+                event.keyCode == Keyboard.PAGE_UP ||
+                event.keyCode == Keyboard.PAGE_DOWN ||
+                event.keyCode == Keyboard.ESCAPE ||
+                event.keyCode == Keyboard.ENTER ||
+                event.keyCode == Keyboard.HOME ||
+                event.keyCode == Keyboard.END
+            )
+
+                recordAutomatableEvent(event);
+            else    //Pressing any key other than the above keys opens dropDown automatically.
+                    // So we need not record the open event in that case as replay of the input character
+                    // automatically opens the dropDown
+                isKeyTypeEvent = true;
+        }
+
+        /**
+         *  @private
+         *  textInput is a automationComposite. Hence its own recording is skipped by AT.
+         *  We need to handle this specifically.
+         */
+        private function textInput_recordHandler(event:AutomationRecordEvent):void
+        {
+            if(event.automationObject == sparkComboBox.textInput)
+            {
+                var re:Object = event.replayableEvent;
+                if (re is KeyboardEvent && (re.keyCode == Keyboard.ENTER || re.keyCode == Keyboard.ESCAPE))
+                    return;
+                recordAutomatableEvent(event.replayableEvent);
+            }
+        }
+
+        /**
+         * @private
+         * Replays a text event by delegating responsibility to the text input.,
+         */
+        override public function replayAutomatableEvent(event:Event):Boolean
+        {
+            var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+            var ke:KeyboardEvent;
+            if (event is KeyboardEvent)
+            {
+                var kbEvent:KeyboardEvent = KeyboardEvent(event);
+                var keyCode:int = kbEvent.keyCode;
+                switch (keyCode)
+                {
+                    case Keyboard.BACKSPACE:
+                    {
+                        // Processing of Key events in EditManager looks for charCode in case of
+                        // Backspace but we are not storing charCode in our scripts. So redispatching the events
+                        // after setting char code for Backspace.
+                        // AutomationManager's replayKeyBoardEvent also doesn't help because we do not consider
+                        // charCode there also.
+                        ke = new KeyboardEvent(KeyboardEvent.KEY_DOWN);
+                        ke.charCode = keyCode;
+                        ke.keyCode = keyCode;
+                        ke.ctrlKey = kbEvent.ctrlKey;
+                        ke.shiftKey = kbEvent.shiftKey;
+                        ke.altKey = kbEvent.altKey;
+
+                        sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
+
+                        ke = new KeyboardEvent(KeyboardEvent.KEY_UP);
+                        ke.charCode = keyCode;
+                        ke.keyCode = keyCode;
+                        ke.ctrlKey = kbEvent.ctrlKey;
+                        ke.shiftKey = kbEvent.shiftKey;
+                        ke.altKey = kbEvent.altKey;
+
+                        sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
+                        return true;
+                    }
+                    case Keyboard.DELETE:
+                    {
+                        return RichEditableText(sparkComboBox.textInput.textDisplay).replayAutomatableEvent(event);
+                    }
+                    default:
+                    {
+                        break;
+                    }
+                }
+                return help.replayKeyboardEvent(sparkComboBox.textInput.textDisplay,
+                    KeyboardEvent(event));
+            }
+            else if (event is TextEvent)
+            {
+                // Instead of replaying it on textDisplay, we handle it explicitly here
+                // because Change event need not be fired in this case like we do in RichEditableText.
+                // Firing that would change the anchor and active positions which causes problem due
+                // to auto-filling behavior of ComboBox.
+                var changeEvent:TextOperationEvent = new TextOperationEvent(TextOperationEvent.CHANGE);
+
+                // need to set focus in order for the uirichEditableText to behave correctly
+                sparkComboBox.textInput.textDisplay.setFocus();
+
+                var textEvent:TextEvent = TextEvent(event);
+                var text:String = textEvent.text;
+                var n:int = textEvent.text.length;
+
+                for (var i:uint = 0; i < n; i++)
+                {
+                    ke = new KeyboardEvent(KeyboardEvent.KEY_DOWN);
+                    ke.charCode = text.charCodeAt(i);
+                    ke.keyCode = text.charCodeAt(i);
+                    sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
+                    var pos:int ;
+
+                    // we dont need any special handling on the string.
+                    // replaying the key board events takes care of the needed.
+                    // however when there is a line feed or carriage return , we need to handle it specially
+                    if((text.charAt(i) == "\n") || (text.charAt(i) == "\r"))
+                        sparkComboBox.textInput.textDisplay.insertText(text.charAt(i));
+
+
+                    var te:TextEvent = new TextEvent(TextEvent.TEXT_INPUT);
+                    te.text = String(text.charAt(i));
+                    // ref. http://bugs.adobe.com/jira/browse/FLEXENT-838 - charcode vs charAt
+                    sparkComboBox.textInput.textDisplay.dispatchEvent(te);
+
+                    ke = new KeyboardEvent(KeyboardEvent.KEY_UP);
+                    ke.charCode = text.charCodeAt(i);
+                    ke.keyCode = text.charCodeAt(i);
+                    sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
+                }
+                sparkComboBox.textInput.textDisplay.dispatchEvent(changeEvent);
+            }
+            else if (event is TextSelectionEvent)
+            {
+                var replayer:IAutomationObject =
+                    sparkComboBox.textInput as IAutomationObject;
+                return (replayer ? replayer.replayAutomatableEvent(event): false);
+            }
+            return super.replayAutomatableEvent(event);
+        }
+
+        /**
+         * @private
+         */
+        override protected function keyDownHandler(event:KeyboardEvent):void
+        {
+
+        }
+    }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20457
Author:   jszeto@adobe.com
Date:     2011-02-24T19:03:38.321384Z

Log Message:
-----------
Remove FlexEvent.VIEW_HIDE type

http://bugs.adobe.com/jira/browse/SDK-29637 - Change FlexEvent.VIEW_HIDE to private event

QE notes: none
Doc notes: none
Bugs: SDK-29637
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
@@ -1305,7 +1305,7 @@
             data:data, transition:transition, context:context});

         if (activeView)
-            activeView.dispatchEvent(new FlexEvent(FlexEvent.VIEW_HIDE));
+            activeView.dispatchEvent(new Event("_navigationChange_"));
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 7910
Author:   egeorgie@adobe.com
Date:     2009-06-17T01:41:55.138890Z

Log Message:
-----------
P-ARB changes:

* IGraphicElement sharedIndex -> DisplayObjectSharingMode
* ScrollUnit -> NavigationUnit
* LayoutBase.getDestinationIndex -> LayoutBase.getNavigationDestinationIndex, param order reversed!!!!
* mouseOpaque -> mouseEnabledWhereTransparent
* various other small renames and changes to non-public APIs

Doc Notes: None
Bugs: N/A
Reviewer: Deepa
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexFXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/InvalidatingSprite.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/ScrollUnit.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/NavigationUnit.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/DisplayObjectSharingMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -701,8 +701,8 @@
      *  @private
      *  Storage for the mouseOpaque property
      */
-    private var _mouseOpaque:Boolean = true;
-    protected var mouseEventReferenceCount:int;
+    private var _mouseEnabledWhereTransparent:Boolean = true;
+    private var mouseEventReferenceCount:int;

     [Inspectable(category="General")]

@@ -718,20 +718,20 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function get mouseOpaque():Boolean
-    {
-        return _mouseOpaque;
-    }
-
-    /**
-     *  @private
-     */
-    public function set mouseOpaque(value:Boolean):void
-    {
-        if (value == _mouseOpaque)
+    public function get mouseEnabledWhereTransparent():Boolean
+    {
+        return _mouseEnabledWhereTransparent;
+    }
+
+    /**
+     *  @private
+     */
+    public function set mouseEnabledWhereTransparent(value:Boolean):void
+    {
+        if (value == _mouseEnabledWhereTransparent)
             return;

-        _mouseOpaque = value;
+        _mouseEnabledWhereTransparent = value;

         if (_hasMouseListeners)
             invalidateDisplayList();
@@ -745,7 +745,7 @@
      */
     protected function renderFillForMouseOpaque():void
     {
-        if (!_mouseOpaque || !_hasMouseListeners)
+        if (!_mouseEnabledWhereTransparent || !_hasMouseListeners)
             return;

         var w:Number = (_resizeMode == _SCALE_UINT) ? measuredWidth : unscaledWidth;
@@ -776,7 +776,7 @@
      */
     mx_internal function set hasMouseListeners(value:Boolean):void
     {
-        if (_mouseOpaque)
+        if (_mouseEnabledWhereTransparent)
             $invalidateDisplayList();
 	_hasMouseListeners = value;
     }
@@ -817,10 +817,11 @@
     }

     /**
+     *  @private
      *  Called when the child transform changes (currently x and y on UIComponent),
      *  so that the Group has a chance to invalidate the layout.
      */
-    public function childTransformChanged():void
+    override mx_internal function childXYChanged():void
     {
         if (autoLayout)
         {
@@ -998,9 +999,9 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function getHorizontalScrollPositionDelta(scrollUnit:uint):Number
-    {
-        return (layout) ? layout.getHorizontalScrollPositionDelta(scrollUnit) : 0;
+    public function getHorizontalScrollPositionDelta(navigationUnit:uint):Number
+    {
+        return (layout) ? layout.getHorizontalScrollPositionDelta(navigationUnit) : 0;
     }

     /**
@@ -1011,9 +1012,9 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function getVerticalScrollPositionDelta(scrollUnit:uint):Number
-    {
-        return (layout) ? layout.getVerticalScrollPositionDelta(scrollUnit) : 0;
+    public function getVerticalScrollPositionDelta(navigationUnit:uint):Number
+    {
+        return (layout) ? layout.getVerticalScrollPositionDelta(navigationUnit) : 0;
     }

     //--------------------------------------------------------------------------


Store url & add getUrl() getter

Store url & add getUrl() getter

--- ImpetusSound.as
+++ ImpetusSound.as
@@ -5,17 +5,24 @@

     public class ImpetusSound
     {
+        private var url:String;
         private var sound:Sound;

         private var channels:Vector.<ImpetusChannel>;

         public function ImpetusSound(url:String):void
         {
+            this.url = url;
             this.sound = new Sound();

             this.channels = new Vector.<ImpetusChannel>;

             this.sound.load(new URLRequest(url));
+        }
+
+        public function get getUrl():String
+        {
+            return this.url
         }

         public function playNew():ImpetusChannel


removing code that reads from window.opener

--- WeaveJS/src/WeaveJS.as
+++ WeaveJS/src/WeaveJS.as
@@ -75,24 +75,9 @@
 			Weave.registerClass("FlexibleLayout", LinkableVariable);
 			Weave.registerClass("ExternalTool", LinkableHashMap);

-			var window:Object = JS.global;
-
-			if (window.opener && window.opener[WEAVE_EXTERNAL_TOOLS] && window.opener[WEAVE_EXTERNAL_TOOLS][window.name])
-			{
-				JS.log('using WeaveJS');
-				var weave:Weave = new Weave();
-				// ownerPath is a WeavePath from Flash
-				var ownerPath:* = window.opener.WeaveExternalTools[window.name].path;
-				WeavePath.migrate(ownerPath, weave);
-
-				window.weave = weave;
-			}
-			else
-			{
-				// TEMPORARY until we read a session state using url params
-				//WeaveTest.test(weave);
-				WeaveTest;
-			}
+			// TEMPORARY
+			//WeaveTest.test(weave);
+			WeaveTest;
 		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 14483
Author:   smgilson@adobe.com
Date:     2010-03-01T19:01:18.459430Z

Log Message:
-----------
merge 14456: Adding ASDoc version tags classes

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkRangeAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkRadioButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkPanelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarAutomationImpl.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirFunctionsHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSkinnableContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkValueChangeAutomationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkNavigatorContentAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTrackBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/events/EventDetails.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkListItemSelectEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTabBarAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableContainerBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/mediaClasses/SparkMuteButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirDragManagerAutomationHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTextBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTitleWindowAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTileGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkToggleButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSpinnerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccConst.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkLabelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkBorderContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkGroupBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkVideoPlayerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableComponentAutomationImpl.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTitleWindowAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTitleWindowAutomationImpl.as
@@ -11,120 +11,126 @@

 package spark.automation.delegates.components
 {
-	import flash.display.DisplayObject;
-
-	import mx.automation.Automation;
-	import mx.automation.IAutomationObject;
-	import mx.core.mx_internal;
-
-	import spark.components.TitleWindow;
-
-	use namespace mx_internal;
-
-	[Mixin]
-	/**
-	 *
-	 *  Defines the methods and properties required to perform instrumentation for the
-	 *  TitleWindow class.
-	 *
-	 *  @see spark.components.TitleWindow
-	 *
-	 */
-
-	public class SparkTitleWindowAutomationImpl extends SparkPanelAutomationImpl
-	{
-		include "../../../core/Version.as";
-
-		//--------------------------------------------------------------------------
-		//
-		//  Class methods
-		//
-		//--------------------------------------------------------------------------
-
-
-		/**
-		 *  Registers the delegate class for a component class with automation manager.
-		 *
-		 *  @param root The SystemManger of the application.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public static function init(root:DisplayObject):void
-		{
-			Automation.registerDelegateClass(spark.components.TitleWindow, SparkTitleWindowAutomationImpl);
-		}
-
-		//--------------------------------------------------------------------------
-		//
-		//  Constructor
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Constructor.
-		 * @param obj TitleWindow object to be automated.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 4
-		 */
-		public function SparkTitleWindowAutomationImpl(obj:spark.components.TitleWindow)
-		{
-			super(obj);
-			recordClick = true;
-		}
-
-		/**
-		 *  @private
-		 *  storage for the owner component
-		 */
-		protected function get sparkTitleWindow():spark.components.TitleWindow
-		{
-			return uiComponent as spark.components.TitleWindow;
-		}
-
-		//--------------------------------------------------------------------------
-		//
-		//  Overridden properties
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  @private
-		 */
-
-		override public function getAutomationChildAt(index:int):IAutomationObject
-		{
-			if(sparkTitleWindow.closeButton != null)
-				if(index == 0)
-					return sparkTitleWindow.closeButton as  IAutomationObject;
-				else index -= 1;
-
-			return super.getAutomationChildAt(index);
-		}
-
-
-		override public function getAutomationChildren():Array
-		{
-			var childArray:Array = new Array();
-
-			if(sparkTitleWindow.closeButton != null)
-				childArray.push(sparkTitleWindow.closeButton as IAutomationObject);
-
-			var tempChildren:Array  = super.getAutomationChildren();
-			if(tempChildren)
-			{
-				var n:int = tempChildren.length;
-				for ( var i:int = 0; i < n ; i++)
-				{
-					childArray.push(tempChildren[i] as IAutomationObject);
-				}
-			}
-			return childArray;
-		}
-	}
+    import flash.display.DisplayObject;
+
+    import mx.automation.Automation;
+    import mx.automation.IAutomationObject;
+    import mx.core.mx_internal;
+
+    import spark.components.TitleWindow;
+
+    use namespace mx_internal;
+
+    [Mixin]
+    /**
+     *
+     *  Defines the methods and properties required to perform instrumentation for the
+     *  TitleWindow class.
+     *
+     *  @see spark.components.TitleWindow
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     *
+     */
+    public class SparkTitleWindowAutomationImpl extends SparkPanelAutomationImpl
+    {
+        include "../../../core/Version.as";
+
+        //--------------------------------------------------------------------------
+        //
+        //  Class methods
+        //
+        //--------------------------------------------------------------------------
+
+
+        /**
+         *  Registers the delegate class for a component class with automation manager.
+         *
+         *  @param root The SystemManger of the application.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static function init(root:DisplayObject):void
+        {
+            Automation.registerDelegateClass(spark.components.TitleWindow, SparkTitleWindowAutomationImpl);
+        }
+
+        //--------------------------------------------------------------------------
+        //
+        //  Constructor
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Constructor.
+         * @param obj TitleWindow object to be automated.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public function SparkTitleWindowAutomationImpl(obj:spark.components.TitleWindow)
+        {
+            super(obj);
+            recordClick = true;
+        }
+
+        /**
+         *  @private
+         *  storage for the owner component
+         */
+        protected function get sparkTitleWindow():spark.components.TitleWindow
+        {
+            return uiComponent as spark.components.TitleWindow;
+        }
+
+        //--------------------------------------------------------------------------
+        //
+        //  Overridden properties
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  @private
+         */
+        override public function getAutomationChildAt(index:int):IAutomationObject
+        {
+            if(sparkTitleWindow.closeButton != null)
+                if(index == 0)
+                    return sparkTitleWindow.closeButton as  IAutomationObject;
+                else index -= 1;
+
+            return super.getAutomationChildAt(index);
+        }
+
+
+        /**
+         *  @private
+         */
+        override public function getAutomationChildren():Array
+        {
+            var childArray:Array = new Array();
+
+            if(sparkTitleWindow.closeButton != null)
+                childArray.push(sparkTitleWindow.closeButton as IAutomationObject);
+
+            var tempChildren:Array  = super.getAutomationChildren();
+            if(tempChildren)
+            {
+                var n:int = tempChildren.length;
+                for ( var i:int = 0; i < n ; i++)
+                {
+                    childArray.push(tempChildren[i] as IAutomationObject);
+                }
+            }
+            return childArray;
+        }
+    }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 16762
Author:   deeptika@adobe.com
Date:     2010-07-01T08:55:25.822171Z

Log Message:
-----------
Computing automation class for record events only when we are in recording mode.

QE notes:
Doc notes:
Bugs: FLEXENT-1297
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_dmv/src/mx/automation/delegates/advancedDataGrid/AdvancedListBaseAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGroupAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation/src/mx/automation/delegates/controls/ListBaseAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkListBaseAutomationImpl.as</path>

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

--- frameworks/projects/automation_dmv/src/mx/automation/delegates/advancedDataGrid/AdvancedListBaseAutomationImpl.as
+++ frameworks/projects/automation_dmv/src/mx/automation/delegates/advancedDataGrid/AdvancedListBaseAutomationImpl.as
@@ -184,7 +184,8 @@

 			var indexSelection:Boolean = false;

-			if (!Automation.automationManager || !Automation.automationManager.automationEnvironment)
+			if (!Automation.automationManager || !Automation.automationManager.automationEnvironment
+			 || !Automation.automationManager.recording)
 				return ;

 			var automationClass:IAutomationClass = Automation.automationManager.automationEnvironment.getAutomationClassByInstance(listBase);


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/charts/src/mx/charts/LogAxis.as
+++ frameworks/projects/charts/src/mx/charts/LogAxis.as
@@ -0,0 +1,598 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.charts
+{
+
+import flash.events.Event;
+
+import mx.charts.chartClasses.AxisLabelSet;
+import mx.charts.chartClasses.NumericAxis;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+/**
+ *  The LogAxis class maps numeric values logarithmically
+ *  between a minimum and maximum value along a chart axis.
+ *  By default, it determines minimum, maximum,
+ *  and interval values from the charting data
+ *  to fit all of the chart elements on the screen.
+ *  You can also explicitly set specific values for these properties.
+ *  A LogAxis object cannot correctly render negative values,
+ *  as Log10() of a negative number is undefined.
+ *
+ *  @mxml
+ *
+ *
The <mx:LogAxis> tag inherits all the properties
+ *  of its parent classes and adds the following properties:

+ *
+ *

+ *  <mx:LogAxis
+ *    Properties
+ *    interval="10"
+ *    maximum="null"
+ *    maximumLabelPrecision="null"
+ *    minimum="null"
+ *  />
+ *

+ *
+ *  @see mx.charts.chartClasses.IAxis
+ *
+ *  @includeExample examples/LogAxisExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class LogAxis extends NumericAxis
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function LogAxis()
+	{
+		super();
+
+		computedInterval = 1;
+	}
+
+	//-------------------------------------------------------------------------
+	//
+	//   Variables
+	//
+	//-------------------------------------------------------------------------
+
+    private var _actualAssignedMaximum:Number;
+
+    private var _actualAssignedMinimum:Number;
+
+    //-----------------------------------------------------------------------
+	//
+	// Overridden properties
+	//
+	//-----------------------------------------------------------------------
+
+	//------------------------------------------
+	// direction
+	//------------------------------------------
+	[Inspectable(category="General", enumeration="normal,inverted", defaultValue="normal")]
+	/**
+	 *  @private
+	 */
+	override public function set direction(value:String):void
+	{
+		if(value == "inverted")
+		{
+			if(!(isNaN(_actualAssignedMaximum)))
+			{
+				computedMinimum = -Math.ceil(Math.log(_actualAssignedMaximum) / Math.LN10);
+				assignedMinimum = computedMinimum;
+			}
+			if(!(isNaN(_actualAssignedMinimum)))
+			{
+				computedMaximum = -Math.floor(Math.log(_actualAssignedMinimum) / Math.LN10)
+				assignedMaximum = computedMaximum;
+			}
+		}
+		else
+		{
+			if(!(isNaN(_actualAssignedMaximum)))
+			{
+				computedMaximum = Math.ceil(Math.log(_actualAssignedMaximum) / Math.LN10);
+				assignedMaximum = computedMaximum;
+			}
+			if(!(isNaN(_actualAssignedMinimum)))
+			{
+				computedMinimum = Math.floor(Math.log(_actualAssignedMinimum) / Math.LN10);
+				assignedMinimum = computedMinimum;
+			}
+
+		}
+		super.direction = value;
+	}
+
+	//----------------------------------------------------------------------------
+	//
+	// Properties
+	//
+	//----------------------------------------------------------------------------
+
+	//----------------------------------
+	//  interval
+	//----------------------------------
+
+    [Inspectable(category="General")]
+
+	/**
+	 *  Specifies the multiplier label values along the axis.
+	 *  A value of 10 generates labels at 1, 10, 100, 1000, etc.,
+	 *  while a value of 100 generates labels at 1, 100, 10000, etc.
+	 *  Flex calculates the interval if this property
+	 *  is set to NaN.
+	 *  Intervals must be even powers of 10, and must be greater than or equal to 10.
+	 *  The LogAxis rounds the interval down to an even power of 10, if necessary.
+	 *
+	 *  @default 10
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get interval():Number
+	{
+		return Math.pow(10, computedInterval);
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set interval(value:Number):void
+	{
+		if (!isNaN(value))
+			value = Math.max(1, Math.floor(Math.log(value) / Math.LN10));
+
+		if (isNaN(value))
+			value = 1;
+
+		computedInterval = value;
+		invalidateCache();
+
+		dispatchEvent(new Event("axisChange"));
+	}
+
+	//----------------------------------
+	//  maximum
+	//----------------------------------
+
+    [Inspectable(category="General")]
+
+	/**
+	 *  Specifies the maximum value for an axis label.
+	 *  If NaN, Flex determines the maximum value
+	 *  from the data in the chart.
+	 *  The maximum value must be an even power of 10.
+	 *  The LogAxis rounds an explicit maximum value
+	 *  up to an even power of 10, if necessary.
+	 *
+	 *  @default NaN
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get maximum():Number
+	{
+		if(direction == "inverted")
+			return Math.pow(10, -computedMinimum);
+		else
+			return Math.pow(10, computedMaximum);
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set maximum(value:Number):void
+	{
+		if(direction == "inverted")
+		{
+			computedMinimum = -Math.ceil(Math.log(value) / Math.LN10);
+			assignedMinimum = computedMinimum;
+		}
+		else
+		{
+			computedMaximum = Math.ceil(Math.log(value) / Math.LN10);
+			assignedMaximum = computedMaximum;
+		}
+		_actualAssignedMaximum = value;
+		invalidateCache();
+
+		dispatchEvent(new Event("mappingChange"));
+		dispatchEvent(new Event("axisChange"));
+	}
+
+	//----------------------------------
+	//  maximumLabelPrecision
+	//----------------------------------
+
+	/**
+	 *  @private
+	 */
+	private var _maximumLabelPrecision:Number;
+
+	/**
+	 * @private
+	 */
+	public function get maximumLabelPrecision():Number
+	{
+		return _maximumLabelPrecision;
+	}
+
+	/**
+	 *  Specifies the maximum number of decimal places for representing fractional
+	 *  values on the labels generated by this axis. By default, the
+	 *  Axis autogenerates this value from the labels themselves.  A value of 0
+	 *  round to the nearest integer value, while a value of 2 rounds to the nearest
+	 *  1/100th of a value.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function set maximumLabelPrecision(value:Number):void
+	{
+		_maximumLabelPrecision = value;
+
+		invalidateCache();
+	}
+
+	//----------------------------------
+	//  minimum
+	//----------------------------------
+
+    [Inspectable(category="General")]
+
+	/**
+	 *  Specifies the minimum value for an axis label.
+	 *  If NaN, Flex determines the minimum value
+	 *  from the data in the chart.
+	 *  The minimum value must be an even power of 10.
+	 *  The LogAxis will round an explicit minimum value
+	 *  downward to an even power of 10 if necessary.
+	 *
+	 *  @default NaN
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get minimum():Number
+	{
+		if(direction == "inverted")
+			return Math.pow(10, -computedMaximum);
+		else
+			return Math.pow(10, computedMinimum);
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set minimum(value:Number):void
+	{
+		if(direction == "inverted")
+		{
+			if (value == 0)
+				assignedMaximum = NaN;
+			else
+			{
+				assignedMaximum = -(Math.floor(Math.log(value) / Math.LN10));
+			}
+			computedMaximum = assignedMaximum;
+		}
+		else
+		{
+			if (value == 0)
+				assignedMinimum = NaN;
+			else
+			{
+				assignedMinimum = Math.floor(Math.log(value) / Math.LN10);
+			}
+			computedMinimum = assignedMinimum;
+		}
+		_actualAssignedMinimum = value;
+		invalidateCache();
+
+		dispatchEvent(new Event("mappingChange"));
+		dispatchEvent(new Event("axisChange"));
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: NumericAxis
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override protected function adjustMinMax(minValue:Number,
+											 maxValue:Number):void
+	{
+		// esg: We always floor to the nearest power of 10
+		//if (autoAdjust && isNaN(assignedMinimum))
+			computedMinimum = Math.floor(computedMinimum);
+
+		// esg: We always ceil o the nearest power of 10
+		//if (autoAdjust && isNaN(assignedMaximum))
+			computedMaximum = Math.ceil(computedMaximum);
+	}
+
+	/**
+	 *  @private
+	 */
+	override public function mapCache(cache:Array /* of ChartItem */, field:String,
+									  convertedField:String,
+									  indexValues:Boolean = false):void
+	{
+		const ln10:Number = Math.LN10;
+
+		var n:int = cache.length;
+		var i:int;
+		var v:Object;
+		var vf:Number;
+		var parseFunction:Function = this.parseFunction;
+
+		if (parseFunction != null)
+		{
+			for (i = 0; i < n; i++)
+			{
+				v = cache[i];
+				if(direction == "inverted")
+					v[convertedField] = -(Math.log(-(Number(parseFunction(v[field])))) / ln10);
+				else
+					v[convertedField] =	Math.log(Number(parseFunction(v[field]))) / ln10;
+			}
+		}
+		else
+		{
+			for (i = 0; i < n && cache[i][field] == null; i++)
+			{
+			}
+
+			if (i == n)
+				return;
+
+			if (cache[i][field] is String)
+			{
+				for (i = 0; i < n; i++)
+				{
+					v = cache[i];
+					if(direction == "inverted")
+						v[convertedField] = -(Math.log(-(Number(v[field]))) / ln10);
+					else
+						v[convertedField] = Math.log(Number(v[field]) / ln10);
+				}
+			}
+			else if (cache[i][field] is XML ||
+					 cache[i][field] is XMLList)
+			{
+				for (i = 0; i < n; i++)
+				{
+					v = cache[i];
+					if(direction == "inverted")
+						v[convertedField] = -(Math.log(-(Number(v[field].toString()))) / ln10);
+					else
+						v[convertedField] =	Math.log(Number(v[field].toString())) / ln10;
+				}
+			}
+			else if (cache[i][field] is Number ||
+					 cache[i][field] is int ||
+					 cache[i][field] is uint)
+			{
+				for (i = 0; i < n; i++)
+				{
+					v = cache[i];
+					if(direction == "inverted")
+						v[convertedField] = v[field] == null ?
+										NaN :
+										-(Math.log(-(v[field])) / ln10);
+					else
+						v[convertedField] = v[field] == null ?
+										NaN :
+										Math.log(v[field]) / ln10;
+				}
+			}
+			else
+			{
+				for (i = 0; i < n; i++)
+				{
+					v = cache[i];
+					if(direction == "inverted")
+						v[convertedField] = -(Math.log(-(parseFloat(v[field]))) / ln10);
+					else
+						v[convertedField] = Math.log(parseFloat(v[field])) / ln10;
+				}
+			}
+		}
+	}
+
+	/**
+	 *  @private
+	 */
+	override protected function buildLabelCache():Boolean
+	{
+		if (labelCache)
+			return false;
+
+		labelCache = [];
+
+		var r:Number = computedMaximum - computedMinimum;
+
+		var labelBase:Number = labelMinimum -
+			Math.floor((labelMinimum - computedMinimum) / computedInterval) *
+			computedInterval;
+
+		var labelTop:Number = computedMaximum + 0.000001
+
+		var labelFunction:Function = this.labelFunction;
+
+		var i:Number;
+		var v:Number;
+		var roundedValue:Number;
+
+		var roundBase:Number;
+		if (!isNaN(_maximumLabelPrecision))
+			roundBase = Math.pow(10, _maximumLabelPrecision);
+
+		if (labelFunction != null)
+		{
+			var previousValue:Number = NaN;
+			for (i = labelBase; i <= labelTop; i += computedInterval)
+			{
+				if(direction == "inverted")
+					v = Math.pow(10, -i);
+				else
+					v = Math.pow(10, i);
+
+				roundedValue = isNaN(_maximumLabelPrecision) ?
+							   v :
+							   Math.round(v * roundBase) / roundBase;
+
+				labelCache.push(new AxisLabel((i - computedMinimum) / r, v,
+					labelFunction(roundedValue, previousValue, this)));
+
+				previousValue = v;
+			}
+		}
+		else
+		{
+			for (i = labelBase; i <= labelTop; i += computedInterval)
+			{
+				if(direction == "inverted")
+					v = Math.pow(10, -i);
+				else
+					v = Math.pow(10, i);
+
+				roundedValue = isNaN(_maximumLabelPrecision) ?
+							   v :
+							   Math.round(v * roundBase) / roundBase;
+
+				labelCache.push(new AxisLabel((i - computedMinimum)/r, v,
+					roundedValue.toString()));
+			}
+		}
+
+		return true;
+	}
+
+	/**
+	 *  @private
+	 */
+	override protected function buildMinorTickCache():Array /* of Number */
+	{
+		var cache:Array /* of Number */ = [];
+
+		var n:int = labelCache.length;
+		for (var i:int = 0; i < n; i++)
+		{
+			cache.push(labelCache[i].position);
+		}
+
+		return cache;
+	}
+
+	/**
+	 *  @private
+	 */
+	override public function reduceLabels(intervalStart:AxisLabel,
+										  intervalEnd:AxisLabel):AxisLabelSet
+	{
+		var intervalMultiplier:Number =
+			Math.round((Math.log(Number(intervalEnd.value)) / Math.LN10) -
+			Math.log(Number(intervalStart.value)) / Math.LN10);
+		intervalMultiplier =
+			Math.floor(intervalMultiplier / computedInterval) + 1;
+
+		var labels:Array /* of AxisLabel */ = [];
+		var newMinorTicks:Array /* of Number */ = [];
+		var newTicks:Array /* of Number */ = [];
+
+		var r:Number = computedMaximum - computedMinimum;
+
+		var labelBase:Number = labelMinimum -
+			Math.floor((labelMinimum - computedMinimum) / computedInterval) *
+			computedInterval;
+
+		var labelTop:Number = computedMaximum + 0.000001
+
+		var n:int  = labelCache.length;
+		for (var i:int = 0; i < n; i += intervalMultiplier)
+		{
+			var ci:AxisLabel = labelCache[i];
+			labels.push(ci);
+			newTicks.push(ci.position);
+			newMinorTicks.push(ci.position);
+		}
+
+		var labelSet:AxisLabelSet = new AxisLabelSet();
+		labelSet.labels = labels;
+		labelSet.minorTicks = newMinorTicks;
+		labelSet.ticks = newTicks;
+		labelSet.accurate = true;
+		return labelSet;
+	}
+
+	/**
+	 *  @private
+	 */
+	override public function invertTransform(value:Number):Object
+	{
+		update();
+
+		return Math.pow(10,
+			value * (computedMaximum - computedMinimum) + computedMinimum);
+	}
+
+	/**
+	 *  @private
+	 */
+	override protected function guardMinMax(min:Number, max:Number):Array /* of int */
+	{
+		if (isNaN(min) || !isFinite(min))
+			min = 0;
+		if (isNaN(max) || !isFinite(max))
+			max = min + 2;
+		if (max == min)
+			max = min + 2;
+
+		return [min,max];
+	}
+}
+
+}


fixed compiling error

fixed compiling error

--- air/src/de/notfound/resourcely/Resourcely.as
+++ air/src/de/notfound/resourcely/Resourcely.as
@@ -85,7 +85,7 @@
 		 */
 		public function init(stage : Stage, config : ResourcelyConfig = null) : void
 		{
-			_config = config != null ? config : ResourcelyConfigBuilder.getDefault();
+			_config = config != null ? config : ResourcelyConfigBuilder.getDefault().build();

 			initStage(stage);
 			initDensities();


Adding second derivative to QuadBezier because I don't know why

--- raw/src/org/yellcorp/lib/geom/curves/QuadBezier.as
+++ raw/src/org/yellcorp/lib/geom/curves/QuadBezier.as
@@ -121,6 +121,13 @@
         return out;
     }

+    public function deriv2(out:Point):Point
+    {
+        out.x = 2 * p0.x - 4 * p1.x + 2 * p2.x;
+        out.y = 2 * p0.x - 4 * p1.y + 2 * p2.y;
+        return out;
+    }
+
     public function split(t:Number, outLow:QuadBezier, outHigh:QuadBezier):void
     {
         var q0x:Number = p0.x + (p1.x - p0.x) * t;