We have used the MVP methodology within our embedded system (using the LittlevGL library). With our current implementation its our Views which first get activated, these then in turn activate their Presenter. So far this has worked fine for our simple GUI's.
However we are now creating more complex GUI's in which Views are sometimes not shown based information from the Model. This presents a bit of a problem as the View and the Model obviously don't know about one another.
Therefore I am now thinking that it should have been our Presenters which are always activated first. They can then get data from the Model and then make the decision as to whether to activate its Presenter or not. Is this generally how MVP should be used anyway? It is OK for the Presenter to store a pointer (this is C code) to the View GUI object?
Any thoughts on this would be greatly appreciated.