////////////////////////////////////////////////////////////////////////////////
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
package mx.core
{
/**
* The IDataRenderer interface defines the interface for components that have a data
property.
*
*
Components that are used in an item renderer or item editor
* in a list control (such as the List, HorizontalList, TileList, DataGrid,
* and Tree controls), or as renderers in a chart are passed the data
* to render or edit by using the data
property.
* The component must implement IDataRenderer so that the host components
* can pass this information.
* All Flex containers and many Flex components implement IDataRenderer and
* the data
property.
In a list control, Flex sets the data
property
* of an item renderer or item editor to the element in the data provider
* that corresponds to the item being rendered or edited.
* For a DataGrid control, the data
property
* contains the data provider element for the entire row of the DataGrid
* control, not just for the item.
To implement this interface, you define a setter and getter method
* to implement the data
property.
* Typically, the setter method writes the value of the data
* property to an internal variable and dispatches a dataChange
* event, and the getter method returns the current value of the internal
* variable, as the following example shows:
* // Internal variable for the property value. * private var _data:Object; * * // Make the data property bindable. * [Bindable("dataChange")] * * // Define the getter method. * public function get data():Object { * return _data; * } * * // Define the setter method, and dispatch an event when the property * // changes to support data binding. * public function set data(value:Object):void { * _data = value; * * dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); * } ** * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ public interface IDataRenderer { //-------------------------------------------------------------------------- // // Properties // //-------------------------------------------------------------------------- //---------------------------------- // data //---------------------------------- /** * The data to render or edit. * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ function get data():Object; /** * @private */ function set data(value:Object):void; } }