{ "type": "class",
  "qname": "spark.events.GridItemEditorEvent",
  "baseClassname": "org.apache.royale.events.Event"
  ,
    "description": "The GridItemEditorEvent class represents events that are dispatched over the life cycle of an item editor.  <p>The life cycle starts with the dispatch of an <code> GRID_ITEM_EDITOR_SESSION_STARTING</code> event. You can cancel the event to stop the editing session by calling the <code>preventDefault()</code> method in the event listener.</p>  <p>After the item editor opens, the <code>GRID_ITEM_EDITOR_SESSION_START</code> is dispatched to notify listeners that the editor has been opened.</p>  <p>The editing session can be saved or canceled. If the session is saved, then the <code>GRID_ITEM_EDITOR_SESSION_SAVE</code> event is dispatched. If the editor is canceled, a <code>GRID_ITEM_EDITOR_SESSION_CANCEL</code> event is dispatched. </p>",
  "tags": [
  {  "tagName": "see",
         "values": ["spark.components.DataGrid", "spark.components.gridClasses.IGridItemEditor", "spark.components.gridClasses.GridColumn", "spark.components.gridClasses.GridColumn#itemEditor"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 2.5"]},
      {  "tagName": "productversion",
         "values": ["Flex 4.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]},
      {  "tagName": "royalesuppresspublicvarwarning",
         "values": []}  ],
  "members": [
  { "type": "field",
        "qname": "GRID_ITEM_EDITOR_SESSION_STARTING",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The <code>GridItemEditorEvent.GRID_ITEM_EDITOR_SESSION_STARTING</code> constant defines the value of the <code>type</code> property of the event object for a <code>startGridItemEditorSession</code> event. Dispatched when a new item editor session has been requested. A listener can dynamically determine if a cell is editable and cancel the edit by calling the <code>preventDefault()</code> method if it is not. A listener can also dynamically change the editor used by assigning a different item editor to a grid column.  <p>If this event is canceled the item editor will not be created.</p>  <p>The properties of the event object have the following values:</p> <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>true</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>columnIndex</code></td><td>The zero-based column index of the requested item editor.</td></tr> <tr><td><code>rowIndex</code></td><td>The zero-based row index of the requested item editor.</td></tr> <tr><td><code>column</code></td><td>The column of the cell associated with the edit request. </td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td> GridItemEditorEvent.GRID_ITEM_EDITOR_SESSION_STARTING</td></tr> </table>",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.gridClasses.GridColumn"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["gridItemEditorSessionStarting"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "GRID_ITEM_EDITOR_SESSION_START",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The <code>GridItemEditorEvent.GRID_ITEM_EDITOR_SESSION_START</code> constant defines the value of the <code>type</code> property of the event object for a <code>openGridItemEditor</code> event. Dispatched immediately after an item editor has been opened.  <p>The properties of the event object have the following values:</p> <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>false</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>columnIndex</code></td><td>The zero-based column index of the item editor.</td></tr> <tr><td><code>rowIndex</code></td><td>The zero-based row index of the item editor.</td></tr> <tr><td><code>column</code></td><td>The column of the cell that is being edited. </td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td> GridItemEditorEvent.GRID_ITEM_EDITOR_SESSION_START</td></tr> </table>",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.gridClasses.GridColumn"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["gridItemEditorSessionStart"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "GRID_ITEM_EDITOR_SESSION_SAVE",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The <code>GridItemEditorEvent.GRID_ITEM_EDITOR_SESSION_SAVE</code> constant defines the value of the <code>type</code> property of the event object for a <code>saveGridItemEditor</code> event. Dispatched after the data in item editor has been saved into the data provider and the editor has been closed.  <p>The properties of the event object have the following values:</p> <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>false</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>columnIndex</code></td><td>The zero-based column index of the item that was modified.</td></tr> <tr><td><code>rowIndex</code></td><td>The zero-based row index of the item that was modified.</td></tr> <tr><td><code>column</code></td><td>The column of the cell that was edited. </td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td> GridItemEditorEvent.GRID_ITEM_EDITOR_SESSION_SAVE</td></tr> </table>",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.gridClasses.GridColumn"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["gridItemEditorSessionSave"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "GRID_ITEM_EDITOR_SESSION_CANCEL",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "The <code>GridItemEditorEvent.GRID_ITEM_EDITOR_SESSION_CANCEL</code> constant defines the value of the <code>type</code> property of the event object for a <code>cancelridItemEditor</code> event. Dispatched after the item editor has been closed without saving its data.  <p>The properties of the event object have the following values:</p> <table class=&quot;innertable&quot;> <tr><th>Property</th><th>Value</th></tr> <tr><td><code>bubbles</code></td><td>false</td></tr> <tr><td><code>cancelable</code></td><td>false</td></tr> <tr><td><code>currentTarget</code></td><td>The Object that defines the event listener that handles the event. For example, if you use <code>myButton.addEventListener()</code> to register an event listener, myButton is the value of the <code>currentTarget</code>. </td></tr> <tr><td><code>columnIndex</code></td><td>The zero-based column index of the item that was edited but not modified.</td></tr> <tr><td><code>rowIndex</code></td><td>The zero-based row index of the item that was edited but not modified.</td></tr> <tr><td><code>column</code></td><td>The column of the cell that was edited. </td></tr> <tr><td><code>target</code></td><td>The Object that dispatched the event; it is not always the Object listening for the event. Use the <code>currentTarget</code> property to always access the Object listening for the event.</td></tr> <tr><td><code>type</code></td><td> GridItemEditorEvent.GRID_ITEM_EDITOR_SESSION_CANCEL</td></tr> </table>",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.gridClasses.GridColumn"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "eventType",
               "values": ["gridItemEditorSessionCancel"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "spark.events.GridItemEditorEvent",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.   up the display list hierarchy.  associated with the event can be prevented.",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.gridClasses.GridColumn"]},
            {  "tagName": "param",
               "values": ["type The event type; indicates the action that caused the event.", "bubbles Specifies whether the event can bubble", "cancelable Specifies whether the behavior", "rowIndex The zero-based index of the column that is being edited.", "columnIndex The zero-based index of the column that is being edited.", "column The column that is being edited."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "type", "type": "String"},
        { "name": "bubbles", "type": "Boolean"},
        { "name": "cancelable", "type": "Boolean"},
        { "name": "rowIndex", "type": "uint"},
        { "name": "columnIndex", "type": "uint"},
        { "name": "column", "type": "spark.components.gridClasses.GridColumn"}]}
      ,
      { "type": "field",
        "qname": "columnIndex",
        "return": "int",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The zero-based index of the column that is being edited.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "column",
        "return": "spark.components.gridClasses.GridColumn",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The column of the cell that is being edited.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "rowIndex",
        "return": "int",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The index of the row that is being edited.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
