//////////////////////////////////////////////////////////////////////////////// // // 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; } }