Denis Kokorin created FLEX-34621:
------------------------------------
Summary: MXItemRenderer sets hovered to false when item is selected
Key: FLEX-34621
URL: https://issues.apache.org/jira/browse/FLEX-34621
Project: Apache Flex
Issue Type: Bug
Components: MXItemRenderer
Affects Versions: Apache Flex 4.13.0, Apache Flex 4.11.0
Reporter: Denis Kokorin
Priority: Minor
MXItemRenderer uses listBase.isItemHighlighted(data), but
ListBase.isItemHighlighted returns *false* if item is selected!
So *hovered* is false even if mouse is over renderer.
{code:title=mx.controls.listClasses.MXItemRenderer.as}
override protected function set hovered(value:Boolean):void
{
if (listData)
{
var listBase:mx.controls.listClasses.ListBase =
mx.controls.listClasses.ListBase(listData.owner);
if (listBase)
{
selected = listBase.isItemSelected(data);
value = listBase.isItemHighlighted(data);
}
}
super.hovered = value;
}
{code}
{code:title=mx.controls.listClasses.ListBase.as}
public function isItemHighlighted(data:Object):Boolean
{
if (data == null)
return false;
var isSelected:Boolean = highlightUID && selectedData[highlightUID];
if (data is String)
return (data == highlightUID && !isSelected);
return itemToUID(data) == highlightUID && !isSelected;
}
{code}
Workaround: copy hovered getter and setter from
spark.components.supportClasses.ItemRenderer
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)