Change 20070323-sallen-0 by sallen@sallen-new on 2007-03-23 13:08:03 PDT
    in /cygdrive/c/laszlo/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: missed from last change (sorry about that)

Bugs Fixed: LPP-3753 (goes with change 4468)

Technical Reviewer: ptw@openlaszlo.orG
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details: sorry, I'm still getting the hang of svn

Tests:

git-svn-id: d62bde4b5aa582fdf07c8d403e53e0399a7ed285@4472 fa20e4f9-1d0a-0410-b5f3-dc9c16b8b17c

--- WEB-INF/lps/lfc/services/LzModeManager.as
+++ WEB-INF/lps/lfc/services/LzModeManager.as
@@ -3,7 +3,7 @@
  *****************************************************************************/

 //* A_LZ_COPYRIGHT_BEGIN ******************************************************
-//* Copyright 2001-2004 Laszlo Systems, Inc.  All Rights Reserved.            *
+//* Copyright 2001-2007 Laszlo Systems, Inc.  All Rights Reserved.            *
 //* Use is subject to license terms.                                          *
 //* A_LZ_COPYRIGHT_END ********************************************************

@@ -109,14 +109,9 @@
 // @param String eventStr: the event string
 //-----------------------------------------------------------------------------
 LzModeManager.handleMouseEvent= function ( view, eventStr ) {
-    //_root.Debug.warn(view + ', ' + eventStr);
-
-     if (eventStr == "onmouseup") _root.LzTrack.__LZmouseup();
-    _root.LzGlobalMouse[ eventStr ].sendEvent( view );
-
-    if ( this.eventsLocked == true ){
-        return;
-    }
+    //_root.Debug.warn("%w, %w", view , eventStr);
+
+    if (eventStr == "onmouseup") _root.LzTrack.__LZmouseup();

     var dosend = true;
     var isinputtext = false;
@@ -124,10 +119,18 @@
     if (view == null ) {  // check if the mouse event is in a inputtext
         var ss = Selection.getFocus();
         if ( ss != null ){
-            var focusview = eval( ss.substring( 0 , ss.lastIndexOf( '.' ) )
-                                  + ".view");
-            if ( focusview ) view = focusview;
+            var focusview = eval(ss + '.__lzview');
+            //_root.Debug.warn("Selection.getFocus: %w, %w, %w", focusview, ss);
+            if ( focusview != undefined ) {
+                view = focusview;
+            }
         }
+    }
+
+    _root.LzGlobalMouse[ eventStr ].sendEvent( view );
+
+    if ( this.eventsLocked == true ){
+        return;
     }

     var i = this.modeArray.length-1;
@@ -160,6 +163,8 @@
                 this.__LZlastClickTime = getTimer();
             }
         }
+
+        //_root.Debug.warn("sending %w, %w", view , eventStr);

         view[ eventStr ].sendEvent( view );
         if ( eventStr == "onmousedown" ){


Transferred from the Adobe Open Source Subversion Repository

Revision: 20843
Author:   mhorn@adobe.com
Date:     2011-03-14T14:36:04.836183Z

Log Message:
-----------
merge

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/StringUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>

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

--- frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
@@ -836,12 +836,7 @@

     /**
-     *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @private
      */
     override protected function commitProperties():void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 16596
Author:   cframpto@adobe.com
Date:     2010-06-18T15:50:44.761276Z

Log Message:
-----------
The following changes apply to Spark DataGrid only.   Code reviews have been deferred until the implementation is closer to completion.

More work on ColumnHeaderBar.  It is no longer commented out in the DataGridSkin but if you have problems you can comment it out again.

checkintests pass

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ColumnHeaderBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DefaultColumnHeaderRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/ColumnHeaderBarSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/GridContainerBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ColumnHeaderBarLayout.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/utils/MouseEventUtil.as</path>

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

--- frameworks/projects/spark/src/spark/components/GridColumnHeaderGroup.as
+++ frameworks/projects/spark/src/spark/components/GridColumnHeaderGroup.as
@@ -13,17 +13,17 @@
 {
 import flash.events.Event;
 import flash.events.MouseEvent;
-import flash.geom.Rectangle;
+import flash.geom.Point;

 import mx.collections.IList;
 import mx.core.ClassFactory;
 import mx.core.IFactory;
 import mx.core.IVisualElement;
 import mx.core.mx_internal;
-import mx.events.CollectionEvent;
-import mx.events.CollectionEventKind;
+import mx.managers.CursorManager;
 import mx.managers.IFocusManagerComponent;

+import spark.components.supportClasses.ColumnHeaderBarLayout;
 import spark.components.supportClasses.DefaultColumnHeaderRenderer;
 import spark.components.supportClasses.GridColumn;
 import spark.events.RendererExistenceEvent;
@@ -59,7 +59,8 @@
  *  @playerversion AIR 2.0
  *  @productversion Flex 4.5
  */
-public class ColumnHeaderBar extends SkinnableDataContainer implements IFocusManagerComponent
+public class ColumnHeaderBar extends SkinnableDataContainer
+    implements IFocusManagerComponent
 {
     include "../core/Version.as";

@@ -80,8 +81,23 @@
     public function ColumnHeaderBar()
     {
         super();
-
+
+        layout = new ColumnHeaderBarLayout();
+        layout.useVirtualLayout = true;
+        layout.clipAndEnableScrolling = true;
+
         itemRendererFunction = defaultColumnHeaderBarItemRendererFunction;
+
+        addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
+        addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
+        addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
+
+/*
+        MouseEventUtil.addDownDragUpListeners(this,
+                                        mouseDownDragUpHandler,
+                                        mouseDownDragUpHandler,
+                                        mouseDownDragUpHandler);
+*/
     }

     //--------------------------------------------------------------------------
@@ -90,6 +106,16 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  @private
+     */
+    public var overlayGroup:Group;
+
+    /**
+     *  @private
+     */
+    private var resizeCursorID:int = CursorManager.NO_CURSOR;
+
     //--------------------------------------------------------------------------
     //
     //  Properties
@@ -135,7 +161,7 @@

         dispatchChangeEvent("firstItemRendererChanged");
     }
-
+
     //----------------------------------
     //  headerSeparator
     //----------------------------------
@@ -168,7 +194,10 @@
             return;

         _headerSeparator = value;
-        dispatchChangeEvent("columnSeparatorChanged");
+
+        invalidateDisplayList();
+
+        dispatchChangeEvent("headerSeparatorChanged");
     }

     //----------------------------------
@@ -348,14 +377,14 @@
      */
     override public function set dataProvider(value:IList):void
     {
-        if (dataProvider)
-            dataProvider.removeEventListener(CollectionEvent.COLLECTION_CHANGE, dataProvider_collectionChangeHandler);
+        //if (dataProvider)
+        //    dataProvider.removeEventListener(CollectionEvent.COLLECTION_CHANGE, dataProvider_collectionChangeHandler);

         // ensure that our listener is added before the dataGroup which adds a listener during
         // the base class setter if the dataGroup already exists.  If the dataGroup isn't
         // created yet, then we still be first.
-        if (value)
-            value.addEventListener(CollectionEvent.COLLECTION_CHANGE, dataProvider_collectionChangeHandler);
+        //if (value)
+        //    value.addEventListener(CollectionEvent.COLLECTION_CHANGE, dataProvider_collectionChangeHandler);

         super.dataProvider = value;
     }
@@ -420,6 +449,10 @@

         if (instance == dataGroup)
         {
+            overlayGroup = new Group();
+            overlayGroup.layout = null;
+            dataGroup.overlay.addDisplayObject(overlayGroup);
+
             dataGroup.horizontalScrollPosition = _horizontalScrollPosition;
             dataGroup.addEventListener(RendererExistenceEvent.RENDERER_ADD, dataGroup_rendererAddHandler);
             dataGroup.addEventListener(RendererExistenceEvent.RENDERER_REMOVE, dataGroup_rendererRemoveHandler);
@@ -436,6 +469,8 @@
             dataGroup.removeEventListener(RendererExistenceEvent.RENDERER_ADD, dataGroup_rendererAddHandler);
             dataGroup.removeEventListener(RendererExistenceEvent.RENDERER_REMOVE, dataGroup_rendererRemoveHandler);
             horizontalScrollPosition = 0;
+
+            overlayGroup = null;
         }

         super.partRemoved(partName, instance);
@@ -482,8 +517,8 @@
      */
     override protected function measure():void
     {
-        super.measure();
-        //trace("ColumnHeaderBar.measure", measuredWidth, measuredHeight, "min", measuredMinWidth, measuredMinHeight);
+        super.measure();
+        //trace("CHB.measure", measuredWidth, measuredHeight, "min", measuredMinWidth, measuredMinHeight);
     }

     /**
@@ -492,8 +527,21 @@
     override protected function updateDisplayList(unscaledWidth:Number,
                                                   unscaledHeight:Number):void
     {
-        //trace("CoulmnHeaderBar.updateDisplayList", this.nestLevel, unscaledWidth, unscaledHeight, dataGroup);
+        //trace("CHB.udl", unscaledWidth, unscaledHeight);
         super.updateDisplayList(unscaledWidth, unscaledHeight);
+    }
+
+    /**
+     *  @private
+     */
+    override public function updateRenderer(renderer:IVisualElement, itemIndex:int, data:Object):void
+    {
+        // If the CHB has a height set on it, force all the headers to be
+        // that height.
+        if (!isNaN(explicitHeight))
+            renderer.height = explicitHeight;
+
+        super.updateRenderer(renderer, itemIndex, data);
     }

     /**
@@ -523,19 +571,11 @@
     //--------------------------------------------------------------------------

     /**
-     *  @copy spark.components.DataGroup#getElementAt
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function getElementAt(index:int):IVisualElement
-    {
-        if (!dataGroup)
-            return null;
-
-        return dataGroup.getElementAt(index);
+     *  @private
+     */
+    private function get dataGrid():DataGrid
+    {
+        return owner as DataGrid;
     }

     //--------------------------------------------------------------------------
@@ -598,7 +638,9 @@
         if (event.currentTarget is IItemRenderer)
             newIndex = IItemRenderer(event.currentTarget).itemIndex;
         else
-            newIndex = dataGroup.getElementIndex(event.currentTarget as IVisualElement);
+            newIndex = dataGroup.getElementIndex(event.currentTarget as IVisualElement);
+
+        trace("item_clickHandler", newIndex);
     }

     /**
@@ -612,6 +654,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
+    /*
     protected function dataProvider_collectionChangeHandler(event:Event):void
     {
         // ToDo: what should be done if columns change?
@@ -639,6 +682,7 @@
             }
         }
     }
+    */

     /**
      *  @private
@@ -665,7 +709,124 @@
         if (renderer)
             renderer.removeEventListener(MouseEvent.CLICK, item_clickHandler);
     }
+
+    /**
+     *  This method is called when a MOUSE_DOWN event occurs within the
+     *  ColumnHeaderBar and for all subsequent MOUSE_MOVE events until the
+     *  button is released (even if the mouse leaves the chb).  The last event
+     *  in such a "down drag up" gesture is always a MOUSE_UP.  By default this
+     *  method dispatches GRID_MOUSE_DOWN, GRID_MOUSE_DRAG, or a
+     *  GRID_MOUSE_UP event in response to the the corresponding
+     *  mouse event.  The GridEvent's rowIndex, columnIndex, column, item, and itemRenderer
+     *  properties correspond to the grid cell under the mouse.
+     *
+     *  @param event A MOUSE_DOWN, MOUSE_MOVE, or MOUSE_UP MouseEvent from a
+     *  down/move/up gesture initiated within the ColumnHeaderBar.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    protected function mouseDownDragUpHandler(event:MouseEvent):void
+    {
+        const eventStageXY:Point = new Point(event.stageX, event.stageY);
+        const eventColumnHeaderBarXY:Point = globalToLocal(eventStageXY);
+
+        //const gridDimensions:GridDimensions = GridLayout(layout).gridDimensions;
+        //const eventRowIndex:int = gridDimensions.getRowIndexAt(eventColumnHeaderBarXY.x, eventColumnHeaderBarXY.y);
+        //const eventColumnIndex:int = gridDimensions.getColumnIndexAt(eventColumnHeaderBarXY.x, eventColumnHeaderBarXY.y);
+
+        trace("event type", event.type, "chb", eventColumnHeaderBarXY, "stage", eventStageXY);
+
+        var gridEventType:String;
+        switch(event.type)
+        {
+            case MouseEvent.MOUSE_MOVE:
+            {
+                //gridEventType = GridEvent.GRID_MOUSE_DRAG;
+                break;
+            }
+            case MouseEvent.MOUSE_UP:
+            {
+                //gridEventType = GridEvent.GRID_MOUSE_UP;
+                break;
+            }
+            case MouseEvent.MOUSE_DOWN:
+            {
+                //gridEventType = GridEvent.GRID_MOUSE_DOWN;
+                //mouseDownRowIndex = eventRowIndex;
+                //mouseDownColumnIndex = eventColumnIndex;
+                break;
+            }
+        }
+
+        //dispatchGridEvent(event, gridEventType, eventColumnHeaderBarXY, eventRowIndex, eventColumnIndex);
+    }
+
+    /**
+     *  @private
+     */
+    private function mouseDownHandler(event:MouseEvent):void
+    {
+        // ToDo: should there be dataGrid.resizableColumns so you don't have
+        // to set every column to false.
+        if (!enabled /*|| !dataGrid.resizableColumns*/)
+            return;
+
+        trace("mouseDown", event.target);
+
+        // ToDo: figure out which column or separator
+        //if (!column.resizable)
+        //   return;
+    }
+
+    /**
+     *  @private
+     */
+    private function mouseOverHandler(event:MouseEvent):void
+    {
+        // ToDo: should there be dataGrid.resizableColumns so you don't have
+        // to set every column to false.
+        if (!enabled /*|| !dataGrid.resizableColumns*/)
+            return;
+
+        trace("mouseOver", event.target);
+
+        // ToDo: figure out which column or separator
+        //if (!column.resizable)
+        //   return;
+
+        // This goes in columnResizeMouseOutHandler
+       // ToDo: should this be a property rather than a style?
+
+        // Hide the mouse, attach and show the cursor
+        /*
+        var stretchCursorClass:Class = getStyle("stretchCursor");
+        resizeCursorID = cursorManager.setCursor(
+                            stretchCursorClass,
+                            CursorManagerPriority.HIGH, 0, 0);
+        */
+    }
+
+    /**
+     *  @private
+     */
+    private function mouseOutHandler(event:MouseEvent):void
+    {
+        if (!enabled /*|| !dataGrid.resizableColumns*/)
+            return;
+
+        trace("mouseOut", event.target);
+
+        // ToDo: figure out which column or separator
+
+        // ToDo: is this check really right - should the cursor be restored?
+        //if (!column.resizable)
+        //    return;
+
+        // This goes in columnResizeMouseOutHandler
+        //cursorManager.removeCursor(resizeCursorID);
+    }
 }
-
 }
-


Transferred from the Adobe Open Source Subversion Repository

Revision: 12470
Author:   clucier@adobe.com
Date:     2009-12-03T22:07:11.713822Z

Log Message:
-----------
As it turns out, supressing MOVE and RESIZE when we can really helps out performance.  So replacing the hasEventListener check and fixing up DataGrid to avoid the need for capture.

QE notes: None
Doc notes: None
Bugs: None
Reviewer: Alex
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/mx/src/mx/controls/DataGrid.as
+++ frameworks/projects/mx/src/mx/controls/DataGrid.as
@@ -4321,8 +4321,9 @@
             addEventListener(MouseEvent.MOUSE_DOWN, editorMouseDownHandler, true, 0, true);
         systemManager.getSandboxRoot().
             addEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, editorMouseDownHandler, false, 0, true);
-        // we disappear if stage is resized
-        systemManager.addEventListener(Event.RESIZE, editorStageResizeHandler, true, 0, true);
+        // we disappear if stage or our grid is resized
+        systemManager.addEventListener(Event.RESIZE, editorAncestorResizeHandler);
+        addEventListener(Event.RESIZE, editorAncestorResizeHandler);

 	// Dispatch our item editor created event
         var event:DataGridEvent =
@@ -4423,7 +4424,8 @@
                 removeEventListener(MouseEvent.MOUSE_DOWN, editorMouseDownHandler, true);
             systemManager.getSandboxRoot().
                 removeEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, editorMouseDownHandler);
-            systemManager.removeEventListener(Event.RESIZE, editorStageResizeHandler, true);
+            systemManager.removeEventListener(Event.RESIZE, editorAncestorResizeHandler);
+            removeEventListener(Event.RESIZE, editorAncestorResizeHandler);

             var event:DataGridEvent =
                 new DataGridEvent(DataGridEvent.ITEM_FOCUS_OUT);
@@ -5102,11 +5104,9 @@
     /**
      *  @private
      */
-    private function editorStageResizeHandler(event:Event):void
-    {
-        if (event.target is DisplayObjectContainer &&
-            DisplayObjectContainer(event.target).contains(this))
-            endEdit(DataGridEventReason.OTHER);
+    private function editorAncestorResizeHandler(event:Event):void
+    {
+        endEdit(DataGridEventReason.OTHER);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 6035
Author:   smgilson@adobe.com
Date:     2009-04-08T18:19:39.016902Z

Log Message:
-----------
Add note that the textInput event is not dispatched for the delete and backspace keys

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>

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

--- frameworks/projects/mx/src/mx/controls/TextArea.as
+++ frameworks/projects/mx/src/mx/controls/TextArea.as
@@ -116,6 +116,7 @@

 /**
  *  Dispatched when the user types, deletes, or pastes text into the control.
+ *  No event is dispatched when the user presses the Delete key, or Backspace key.
  *
  *
Even though the default value of the TextEvent.bubbles property
  *  is true, this control dispatches the event with


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

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

--- frameworks/projects/rpc/src/mx/rpc/AsyncRequest.as
+++ frameworks/projects/rpc/src/mx/rpc/AsyncRequest.as
@@ -0,0 +1,141 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.rpc
+{
+
+import mx.core.mx_internal;
+import mx.messaging.Producer;
+import mx.messaging.messages.AcknowledgeMessage;
+import mx.messaging.messages.AsyncMessage;
+import mx.messaging.messages.ErrorMessage;
+import mx.messaging.messages.IMessage;
+import mx.messaging.events.MessageEvent;
+import mx.messaging.events.MessageFaultEvent;
+
+use namespace mx_internal;
+
+/**
+ *  The AsyncRequest class provides an abstraction of messaging for RPC call invocation.
+ *  An AsyncRequest allows multiple requests to be made on a remote destination
+ *  and will call back to the responder specified within the request when
+ *  the remote request is completed.
+ */
+public class AsyncRequest extends mx.messaging.Producer
+{
+    //--------------------------------------------------------------------------
+    //
+    // Constructor
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  Constructs a new asynchronous request.
+	 */
+	public function AsyncRequest()
+	{
+		super();
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    // Public Methods
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  Delegates to the results to responder
+	 *  @param    ack Message acknowlegdement of message previously sent
+	 *  @param    msg Message that was recieved the acknowledgement
+	 *  @private
+	 */
+	override public function acknowledge(ack:AcknowledgeMessage, msg:IMessage):void
+	{
+        var error:Boolean = ack.headers[AcknowledgeMessage.ERROR_HINT_HEADER];
+        // super will clean the error hint from the message
+        super.acknowledge(ack, msg);
+        // if acknowledge is *not* for a message that caused an error
+        // dispatch a result event
+        if (!error)
+        {
+			var act:String = ack.correlationId;
+			var resp:IResponder = IResponder(_pendingRequests[act]);
+			if (resp)
+			{
+				delete _pendingRequests[act];
+				resp.result(MessageEvent.createEvent(MessageEvent.RESULT, ack));
+			}
+		}
+	}
+
+	/**
+	 *  Delegates to the fault to responder
+	 *  @param    error message.
+	 *            The error codes and informaton are contained in the
+	 *            headers property
+	 *  @param    msg Message original message that caused the fault.
+	 *  @private
+	 */
+	override public function fault(errMsg:ErrorMessage, msg:IMessage):void
+	{
+	    super.fault(errMsg, msg);
+
+	    if (_ignoreFault)
+	    	return;
+
+        // This used to use the errMsg.correlationId here but
+        // if the server fails to deserialize the message (like if
+        // the body references a non-existent server class)
+        // it cannot supply a correlationId to the error message.
+        var act:String = msg.messageId;
+		var resp:IResponder = IResponder(_pendingRequests[act]);
+		if (resp)
+		{
+			delete _pendingRequests[act];
+			resp.fault(MessageFaultEvent.createEvent(errMsg));
+		}
+	}
+
+   /**
+    * Returns true if there are any pending requests for the passed in message.
+    *
+    * @param msg The message for which the existence of pending requests is checked.
+    */
+	override public function hasPendingRequestForMessage(msg:IMessage):Boolean
+	{
+		var act:String = msg.messageId;
+		return _pendingRequests[act];
+	}
+
+
+	/**
+	 *  Dispatches the asynchronous request and stores the responder to call
+	 *  later.
+	 */
+	public function invoke(msg:IMessage, responder:IResponder):void
+	{
+		_pendingRequests[msg.messageId] = responder;
+		send(msg);
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    // Variables
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  manages a list of all pending requests.  each request must implement
+	 *  IResponder
+	 */
+	private var _pendingRequests:Object = {};
+}
+}


version 3.7.6

version 3.7.6

--- kdp3Lib/src/com/kaltura/kdpfl/ApplicationFacade.as
+++ kdp3Lib/src/com/kaltura/kdpfl/ApplicationFacade.as
@@ -32,7 +32,7 @@
 		/**
 		 * The current version of the KDP.
 		 */
-		public var kdpVersion : String = "v3.7.5";
+		public var kdpVersion : String = "v3.7.6";

 		/**
 		 * save any mediator name that is registered to this array in order to delete at any time


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

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

--- frameworks/projects/framework/src/mx/core/IUID.as
+++ frameworks/projects/framework/src/mx/core/IUID.as
@@ -0,0 +1,44 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 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.core
+{
+
+/**
+ *  The IUID interface defines the interface for objects that must have
+ *  Unique Identifiers (UIDs) to uniquely identify the object.
+ *  UIDs do not need to be universally unique for most uses in Flex.
+ *  One exception is for messages send by data services.
+ */
+public interface IUID
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  uid
+	//----------------------------------
+
+	/**
+	 *  The unique identifier for this object.
+     */
+    function get uid():String;
+
+    /**
+     *  @private
+     */
+    function set uid(value:String):void;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 9177
Author:   jimurphy@adobe.com
Date:     2009-08-07T21:15:07.894169Z

Log Message:
-----------
Merged 3.4 revisions 8630,8660,8683,8735,8750,8753,8755,8757,8759,8764,8776,8798,8821,8824,8837,8862,8911,8946,8949,8962,8965,9026,9109,9131,9138-9139,9147 -> trunk

integrates:
player: 10.0.32.18
AIR kit: 1.5.2.8870 (20090721ap)

checkintests: pass

(btw: I'm not happy about doing this on a Friday PM!)

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/framework/src/mx/managers/BrowserManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.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/rpc/http/HTTPMultiService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/player/10/playerglobal.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLDecoder.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</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/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Flash Player.app.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.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/rpc/AbstractService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceUtils.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/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/mxml/IMXMLSupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/ISOAPDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as</path>

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

--- frameworks/projects/mx/src/mx/controls/Tree.as
+++ frameworks/projects/mx/src/mx/controls/Tree.as
@@ -896,7 +896,10 @@
      */
     public function get firstVisibleItem():Object
     {
-        return listItems[0][0].data;
+        if (listItems.length > 0 && listItems[0].length > 0)
+            return listItems[0][0].data;
+        else
+            return null;
     }

     /**


Curve Line

Curve Line

--- WeaveUISpark/src/weave/visualization/plotters/GeometryRelationPlotter.as
+++ WeaveUISpark/src/weave/visualization/plotters/GeometryRelationPlotter.as
@@ -27,6 +27,7 @@
 	import weave.data.QKeyManager;
 	import weave.primitives.GeneralizedGeometry;
 	import weave.utils.ColumnUtils;
+	import weave.utils.DrawUtils;
 	import weave.visualization.layers.PlotTask;

 	// Refer to Feature #924 for detail description
@@ -214,10 +215,12 @@
 						tempShape.graphics.lineStyle(-Math.round((valueColumn.getValueFromKey(tempRowKeys[j], Number) / max) * lineWidth.value), negLineColor.value);
 					}

-					tempShape.graphics.moveTo(tempSourcePoint.x, tempSourcePoint.y);
+//					tempShape.graphics.moveTo(tempSourcePoint.x, tempSourcePoint.y);
 					getCoordsFromRecordKey(destinationKeyColumn.getValueFromKey(tempRowKeys[j], IQualifiedKey), tempDestinationPoint); // Get destionation coordinate
 					task.dataBounds.projectPointTo(tempDestinationPoint, task.screenBounds);
-					tempShape.graphics.lineTo(tempDestinationPoint.x, tempDestinationPoint.y);
+//					tempShape.graphics.lineTo(tempDestinationPoint.x, tempDestinationPoint.y);
+
+					DrawUtils.drawCurvedLine(tempShape.graphics, tempSourcePoint.x, tempSourcePoint.y, tempDestinationPoint.x, tempDestinationPoint.y, 1);
 				}

 				task.buffer.draw(tempShape);