In wxFlatNoteBook.cpp
Code: Select all
void wxPageContainer::PopupTabsMenu()
{
// wxMenu popupMenu;
//
// for(size_t i=0; i<m_pagesInfoVec.GetCount(); i++)
// {
// wxPageInfo pi = m_pagesInfoVec[i];
// wxMenuItem *item = new wxMenuItem(&popupMenu, static_cast<int>(i), pi.GetCaption(), pi.GetCaption(), wxITEM_NORMAL);
//
// // This code is commented, since there is an alignment problem with wx2.6.3 & Menus
// // if( TabHasImage(static_cast<int>(i)) )
// // item->SetBitmaps( (*m_ImageList)[pi.GetImageIndex()] );
//
// popupMenu.Append( item );
// }
//
// // connect an event handler to our menu
// popupMenu.Connect(wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(wxPageContainer::OnTabMenuSelection), NULL, this);
// PopupMenu( &popupMenu );
if(mP_TabChangePopupMenu)
mP_TabChangePopupMenu->Clear();
else
{
mP_TabChangePopupMenu = new /*wxMenu*/ wxFlatMenu();
mP_TabChangePopupMenu->Connect(wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(wxPageContainer::OnTabMenuSelection), NULL, this);
}
for(size_t i=0; i<m_pagesInfoVec.GetCount(); i++)
{
wxPageInfo pi = m_pagesInfoVec[i];
wxFlatMenuItem *item = new wxFlatMenuItem(mP_TabChangePopupMenu, static_cast<int>(i), pi.GetCaption(), pi.GetCaption(), wxITEM_NORMAL);
mP_TabChangePopupMenu->Append( item );
}
mP_TabChangePopupMenu->Popup(wxGetMousePosition()/*ClientToScreen(event.GetPoint())*/);
}
Code: Select all
mP_TabChangePopupMenu = 0L;
Code: Select all
wxFlatMenu *mP_TabChangePopupMenu;
Regards