//----------------------------------------------------------------------------- // wxDockTaskBarIcon::PopupMenu // // 2.4 and wxPython method that "pops of the menu in the taskbar". // // In reality because of the way the dock menu works in carbon // we just save the menu, and if the user didn't override CreatePopupMenu // return the menu passed here, thus sort of getting the same effect. //----------------------------------------------------------------------------- bool wxDockTaskBarIcon::PopupMenu(wxMenu *menu) { wxASSERT(menu != NULL); delete m_pMenu; // start copy of menu m_pMenu = wxDeepCopyMenu(menu); // finish up m_pMenu->SetInvokingWindow(m_menuEventWindow); return true; }
//----------------------------------------------------------------------------- // wxDockTaskBarIcon::DoCreatePopupMenu // // Helper function that handles a request from the dock event handler // to get the menu for the dock //----------------------------------------------------------------------------- wxMenu * wxDockTaskBarIcon::DoCreatePopupMenu() { // get the menu from the parent wxMenu* theNewMenu = CreatePopupMenu(); if (theNewMenu) { delete m_pMenu; m_pMenu = theNewMenu; m_pMenu->SetInvokingWindow(m_menuEventWindow); } // the return here can be one of three things // (in order of priority): // 1) User passed a menu from CreatePopupMenu override // 2) menu sent to and copied from PopupMenu // 3) If neither (1) or (2), then NULL // return m_pMenu; }