Ah, I misread your first post. I read that you didn't find it a good way to add internal to the functions.
But I think I'm just going to do it for the duplicate functions at first (focusWidget, get, remove, ...) and not for functions like initialize, mouseOnWidget, leftMousePressed, ...
Anyway that would just be temporary until I get a better design and can do a better job.
But I see problems with removing some of the internal functions. I even have reasons to no longer make them internal.
In the widget callbacks, I am forced to use a Widget* instead of Widget::Ptr (to avoid the big memory leak that I had). But that means that Container will need a remove function that takes a Widget*. But I also want you to remove a Widget::Ptr without first calling the get function on it to retrieve the Widget*. That is why I believe that both remove functions should stay.
But I think I'm just going to do it for the duplicate functions at first (focusWidget, get, remove, ...) and not for functions like initialize, mouseOnWidget, leftMousePressed, ...
Anyway that would just be temporary until I get a better design and can do a better job.
But I see problems with removing some of the internal functions. I even have reasons to no longer make them internal.
In the widget callbacks, I am forced to use a Widget* instead of Widget::Ptr (to avoid the big memory leak that I had). But that means that Container will need a remove function that takes a Widget*. But I also want you to remove a Widget::Ptr without first calling the get function on it to retrieve the Widget*. That is why I believe that both remove functions should stay.