I'm wondering, and other people wonder too why even use private functions in components in flex? How about protected instead? When a developer is programming these UIComponents, I know it's hard to understand how your component might be used. But, let's take an example of the List component.
Inside List there's a function: protected function initiateDataChangeEffect(unscaledWidth:Number, unscaledHeight:Number) The list animations should have been checked against visibleData in this method, which would prevent animations to occur on items not in view. Why was this done like this anyway, speed for a release? Who cares, I need to change it. In fact, Alex H maybe, or somebody at Adobe commented in the code: // as optimization, we might get targets from visibleData // if we know that nothing else has changed. // otherwise, rerender using our preserved collection view // store original collection and iterator so we can // return to using it after the effect has finished So here's something we all go through, I want to easily override this method, but it calls other private methods inside List that I have no access to override. Developer friendly friends, you are making the framework for the community, please think about opening up the internals of the framework. I'm no fan of underclassing, or rebuilding an entire component to change 3 or 4 methods. I think all of the components should move to an easier way to override than currently. Let's get rid of private on all methods and use protected, at least there's some protection with protected and then our lives will be easier. Also, mx_internal, it seems like a hack, to me. Doesn't seem to me to follow any sort of guideline to follow? What's the purpose of that namespace, other than to let me know that these methods may go away. Who cares, I need to access them anyway, especially in the text components, since they don't measure properly when nested in complex layouts. Will there be any discussions on framework discussions at Adobe Max? Thanks, Patrick