diff --git a/bazaar/XMLMenu/WithXMLMenu.h b/bazaar/XMLMenu/WithXMLMenu.h index a634ac949..30a385b1b 100644 --- a/bazaar/XMLMenu/WithXMLMenu.h +++ b/bazaar/XMLMenu/WithXMLMenu.h @@ -175,8 +175,22 @@ template WithXMLMenu::~WithXMLMenu() template void WithXMLMenu::RefreshFrames(void) { // removes all frames - T::ClearFrames(); +// T::ClearFrames(); + T::RemoveFrame(topFrame); + T::RemoveFrame(bottomFrame); + T::RemoveFrame(leftFrame); + T::RemoveFrame(rightFrame); + // add docking frames + if(dockTop) + T::InsertFrame(0, topFrame); + if(dockBottom) + T::InsertFrame(0, bottomFrame); + if(dockLeft) + T::InsertFrame(0, leftFrame); + if(dockRight) + T::InsertFrame(0, rightFrame); + // adds main menu if(mainMenu) { @@ -184,19 +198,11 @@ template void WithXMLMenu::RefreshFrames(void) if(mainIdx >= 0) { MenuBar &bar = menuBarCtrls[mainIdx]; - T::AddFrame(bar); + T::RemoveFrame(bar); + T::InsertFrame(0, bar); } } - // add docking frames - if(dockTop) - T::AddFrame(topFrame); - if(dockBottom) - T::AddFrame(bottomFrame); - if(dockLeft) - T::AddFrame(leftFrame); - if(dockRight) - T::AddFrame(rightFrame); } @@ -505,7 +511,13 @@ template void WithXMLMenu::SetToolBar0(Bar &bar, int tbIdx, Array void WithXMLMenu::RefreshBars(void) { - T::ClearFrames(); +// T::ClearFrames(); + T::RemoveFrame(topFrame); + T::RemoveFrame(bottomFrame); + T::RemoveFrame(leftFrame); + T::RemoveFrame(rightFrame); + for(int iBar = 0; iBar < menuBarCtrls.GetCount(); iBar++) + T::RemoveFrame(menuBarCtrls[iBar]); // refresh menus menuBarCtrls.Clear();