mandrav Please heare me out this is a little complicated.....
I going to have to do some research but like i was try to say
I bealive it can be flexable at runtime
That is what i was getting at when i said
There are many comands for wxwindow that can also help like wxWindow::Reparent. There are way to make the window disappare and repaire also you can read about it somewhere in the wxwindow doc. I play around with this a bit.
if this is not enoph you can also call SetSizer on mainframe wich with wxWindow::GetChildren() do pratly do any thing at runtime with xrc.
I want to say again that i would have to do research on exatical what i doing. As far a plugin need to know much about the app and the app need to know about the plugin. They don't need two. calling update on mainframe tell every window to repaint ect.
I might not yet understand you. So i want to give you a basic of my code i want to implement. My code would speek beter then me.
On mainframe constuter I was going to have a fucttion that load a plugin witch would call OnCreateFrame. The OnCreateFrame fuction would be responsibel for frame constrution.
So the plugin fuction would look something like this
void OnCreateFrame(wxFrame *Frame)
{
wxNoteBook* Test = new wxNotebook(this,-1)
ect............
}
this exact same plugin would contane another fuction called
void DoUpdateLayout(wxframe *Frame)
{
// this would be everrything in the DoUpdateLayout fuction
}
as you can see very little cange in your code but know i can use it buy changeing
void OnCreateFrame(wxFrame *Frame)
{
wxNoteBook* Test = new wxNotebook(this,-1)
ect............
}
to
void OnCreateFrame(wxFrame *Frame)
{
wxResource:LoadFrame(Frame,ect.......)
}
and
void DoUpdateLayout(wxframe *Frame)
{
wxList ChildList = Frame->getchild();
//dose all sizeing isues at runtime.
//ect............
}
Then we can real easly change the look of the ide(like you would with teams) buy changeing plugin.