How to know when a component is being show

I need to start an animation just when the OS finish the loading of a component and it's going to be show to the final user. How could I do it? Maybe starting the animation in the Component::paint()? or is there another more refined method?

I guess you could trigger it in paint(), that'd work.. But if you just do it at the point where you actually make the component visible, that'd probably be more elegant.

Yes, I tried using Component::visibilityChanged(), but I have a delay of 2800ms (hardware related) until the Component::paint() is called and the component showed. And since it is a plugin I cannot have too much control about when the Editor is visible.

I'd keep it in the paint() for now, is not the ideal but it works. Thank you :)