Simon,
Could be. Though I just tried invalidating the chart, the parent panel
and the stage, in bubble-up order:
   chart.invalidateDisplayList();
   panel.invalidateDisplayList();
   stage.invalidate();
and threw validateNow()'s in there on the same components for good
measure... and still no joy.

Let me know if it works for you.

I did find another example of an itemRenderer somewhere that
implemented a handler for a dataChange event. But it was an
itemRenderer for a datagrid item, and the event was never dispatched
when used in a chart.


--- In [email protected], "simonjpalmer" <[EMAIL PROTECTED]>
wrote:
>
> I have been grappling with a similar issue.  I put this down a week or
> so ago but I was next going to try and invalidate the stage and see
> what happened.  Something along the lines of Stage.invalidate(). 
> Worth a try.
> 
>
> --- In [email protected], "carl_steinhilber"
> <carl_steinhilber@> wrote:
> >
> > I asked this earlier and didn't get any response... but I think maybe
> > I hijacked another thread, so I'll ask again as it's own topic.
> > 
> > I have a PlotChart that uses a custom itemRenderer. The dataProvider
> > bound to the chart has objects with the keys:
> >    - xAxis:Number, which translates to the position on the xAxis of
> > the chart (-10 to 10), as the value moves to negative, the items color
> > changes from green to orange to red
> >    - yAxis:Number, which translates to the position on the yAxis of
> > the chart (-10 to 10), as the value moves to negative, the items color
> > changes from green to orange to red
> >    - size:Number, which translates to the size of the item (diameter
> > of circle)
> >    - visible:Boolean, which determines whether the item is actually
> > plotted on the chart or not
> > 
> > At runtime, the chart initially loads exactly as expected (items the
> > correct size, color and position). Then if I update the values for
> > xAxis and/or yAxis, the item moves on the chart as expected (though if
> > it moves from a positive value to negative value on either axis, the
> > color remains green). 
> > But if I update the value for size it doesn't update the item on the
> > chart, and if I update visible to false the item remains visible.
> > 
> > Obviously the data setter function in my itemRenderer class is not
> > called when I expect.
> > 
> > Also, if I completely replace the dataProvider with a new object, item
> > 1 retains the color and size of item 1 in the old data, and so on.
> > 
> > I've tried explicitly calling invalidateDisplayList() and
> > validateNow() on the chart, but it seems to just run the
> > updateDisplayList(). This makes some sense... I guess set data is only
> > run when the chart is first initialized. Seems like I really want the
> > bulk of the logic that's currently in the data setter to be in the
> > updateDisplayList() function... but I don't seem to have access to the
> > dataProvider data in that function.
> > 
> > How do I force the chart to rerun the renderer for the item(s) with
> > updated data? Or, conversely, how do I get at dataProvider values from
> > the updateDisplayList() function in the class?
> > 
> > Any help would be appreciated.
> > 
> > Thanks in advance!
> > -Carl


Reply via email to