miles_holt
12-05-2009, 08:34 PM
Hi,
I have a cell renderer which determines the look of a list component called playList. I'm trying to have it so that when the mouse goes over an item/index, it changes its style and font.
At the moment I cant get it to work correctly I'm getting this error,
1061: Call to a possibly undefined method addEventListener through a reference with static type fl.controls.listClasses:ListData.
Here is the code for the cell renderer:
package{
import flash.events.*;
import fl.events.ListEvent;
import flash.display.Sprite;
import flash.geom.ColorTransform;
import fl.controls.listClasses.CellRenderer
import flash.text.TextFormat;
import flash.filters.BevelFilter;
import fl.managers.StyleManager
public class MyCellRenderer extends CellRenderer{
private var cTfm:ColorTransform = new ColorTransform(0, 12, 9, 3, 0x74, 0xFE, 0xF3);
private var emptyTfm:ColorTransform = new ColorTransform();
override protected function drawBackground():void{
super.drawBackground();
if(background){
if(listData.index == 0){
(background as Sprite).transform.colorTransform = cTfm;
var format:TextFormat = new TextFormat("SF Arborcrest Heavy", 12, 0xFFFFFF);
this.setStyle("textFormat", format);
this.filters = [new BevelFilter()];
this.mouseEnabled = false;
} else {
listData.addEventListener(ListEvent.ITEM_ROLL_OVER ,over);
(background as Sprite).transform.colorTransform = emptyTfm;
var format2:TextFormat = new TextFormat("SF Arborcrest Heavy", 12, 0xFFFFFF);
this.setStyle("textFormat", format2);
}
}
}
private function over (e:ListEvent):void{
var format3:TextFormat = new TextFormat("Arial", 8, 0xFFFFFF);
this.setStyle("textFormat", format3);
}
}
}
I'm not even sure if this is the best way to write it. Any help would be appreciated. m
I have a cell renderer which determines the look of a list component called playList. I'm trying to have it so that when the mouse goes over an item/index, it changes its style and font.
At the moment I cant get it to work correctly I'm getting this error,
1061: Call to a possibly undefined method addEventListener through a reference with static type fl.controls.listClasses:ListData.
Here is the code for the cell renderer:
package{
import flash.events.*;
import fl.events.ListEvent;
import flash.display.Sprite;
import flash.geom.ColorTransform;
import fl.controls.listClasses.CellRenderer
import flash.text.TextFormat;
import flash.filters.BevelFilter;
import fl.managers.StyleManager
public class MyCellRenderer extends CellRenderer{
private var cTfm:ColorTransform = new ColorTransform(0, 12, 9, 3, 0x74, 0xFE, 0xF3);
private var emptyTfm:ColorTransform = new ColorTransform();
override protected function drawBackground():void{
super.drawBackground();
if(background){
if(listData.index == 0){
(background as Sprite).transform.colorTransform = cTfm;
var format:TextFormat = new TextFormat("SF Arborcrest Heavy", 12, 0xFFFFFF);
this.setStyle("textFormat", format);
this.filters = [new BevelFilter()];
this.mouseEnabled = false;
} else {
listData.addEventListener(ListEvent.ITEM_ROLL_OVER ,over);
(background as Sprite).transform.colorTransform = emptyTfm;
var format2:TextFormat = new TextFormat("SF Arborcrest Heavy", 12, 0xFFFFFF);
this.setStyle("textFormat", format2);
}
}
}
private function over (e:ListEvent):void{
var format3:TextFormat = new TextFormat("Arial", 8, 0xFFFFFF);
this.setStyle("textFormat", format3);
}
}
}
I'm not even sure if this is the best way to write it. Any help would be appreciated. m