X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bcf881efa908bc34f014552dce74a171e2a9a920..59678f3fae7d537003fe1dbd0d0049694ec946c1:/src/gtk/menu.cpp diff --git a/src/gtk/menu.cpp b/src/gtk/menu.cpp index 7f4d87855d..533aa55cf6 100644 --- a/src/gtk/menu.cpp +++ b/src/gtk/menu.cpp @@ -97,9 +97,6 @@ static wxString wxReplaceUnderscore( const wxString& title ) static void DoCommonMenuCallbackCode(wxMenu *menu, wxMenuEvent& event) { - if (g_isIdle) - wxapp_install_idle_handler(); - event.SetEventObject( menu ); wxEvtHandler* handler = menu->GetEventHandler(); @@ -143,13 +140,11 @@ IMPLEMENT_DYNAMIC_CLASS(wxMenuBar,wxWindow) void wxMenuBar::Init(size_t n, wxMenu *menus[], const wxString titles[], long style) { - // the parent window is known after wxFrame::SetMenu() - m_needParent = false; m_style = style; - m_invokingWindow = (wxWindow*) NULL; + m_invokingWindow = NULL; - if (!PreCreation( (wxWindow*) NULL, wxDefaultPosition, wxDefaultSize ) || - !CreateBase( (wxWindow*) NULL, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, wxT("menubar") )) + if (!PreCreation( NULL, wxDefaultPosition, wxDefaultSize ) || + !CreateBase( NULL, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, wxT("menubar") )) { wxFAIL_MSG( wxT("wxMenuBar creation failed") ); return; @@ -160,12 +155,12 @@ void wxMenuBar::Init(size_t n, wxMenu *menus[], const wxString titles[], long st if (style & wxMB_DOCKABLE) { m_widget = gtk_handle_box_new(); - gtk_container_add( GTK_CONTAINER(m_widget), GTK_WIDGET(m_menubar) ); - gtk_widget_show( GTK_WIDGET(m_menubar) ); + gtk_container_add(GTK_CONTAINER(m_widget), m_menubar); + gtk_widget_show(m_menubar); } else { - m_widget = GTK_WIDGET(m_menubar); + m_widget = m_menubar; } PostCreation(); @@ -560,9 +555,6 @@ void wxMenuBar::SetLabelTop( size_t pos, const wxString& label ) extern "C" { static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu ) { - if (g_isIdle) - wxapp_install_idle_handler(); - int id = menu->FindMenuIdByMenuItem(widget); /* should find it for normal (not popup) menu */ @@ -637,8 +629,6 @@ static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu ) extern "C" { static void gtk_menu_hilight_callback( GtkWidget *widget, wxMenu *menu ) { - if (g_isIdle) wxapp_install_idle_handler(); - int id = menu->FindMenuIdByMenuItem(widget); wxASSERT( id != -1 ); // should find it! @@ -665,8 +655,6 @@ static void gtk_menu_hilight_callback( GtkWidget *widget, wxMenu *menu ) extern "C" { static void gtk_menu_nolight_callback( GtkWidget *widget, wxMenu *menu ) { - if (g_isIdle) wxapp_install_idle_handler(); - int id = menu->FindMenuIdByMenuItem(widget); wxASSERT( id != -1 ); // should find it! @@ -833,7 +821,7 @@ void wxMenuItem::SetText( const wxString& str ) gtk_accelerator_parse( (const char*) oldbuf, &accel_key, &accel_mods); if (accel_key != 0) { - gtk_widget_remove_accelerator( GTK_WIDGET(m_menuItem), + gtk_widget_remove_accelerator(m_menuItem, m_parentMenu->m_accel, accel_key, accel_mods ); @@ -843,7 +831,7 @@ void wxMenuItem::SetText( const wxString& str ) { // if the accelerator was taken from a stock ID, just get it back from GTK+ stock if (wxGetStockGtkAccelerator(stockid, &accel_mods, &accel_key)) - gtk_widget_remove_accelerator( GTK_WIDGET(m_menuItem), + gtk_widget_remove_accelerator( m_menuItem, m_parentMenu->m_accel, accel_key, accel_mods ); @@ -856,7 +844,7 @@ void wxMenuItem::SetText( const wxString& str ) gtk_accelerator_parse( (const char*) buf, &accel_key, &accel_mods); if (accel_key != 0) { - gtk_widget_add_accelerator( GTK_WIDGET(m_menuItem), + gtk_widget_add_accelerator( m_menuItem, "activate", m_parentMenu->m_accel, accel_key, @@ -868,7 +856,7 @@ void wxMenuItem::SetText( const wxString& str ) { // if the accelerator was taken from a stock ID, just get it back from GTK+ stock if (wxGetStockGtkAccelerator(stockid, &accel_mods, &accel_key)) - gtk_widget_remove_accelerator( GTK_WIDGET(m_menuItem), + gtk_widget_remove_accelerator( m_menuItem, m_parentMenu->m_accel, accel_key, accel_mods ); @@ -1174,7 +1162,7 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos) gtk_accelerator_parse( (const char*) buf, &accel_key, &accel_mods); if (accel_key != 0) { - gtk_widget_add_accelerator (GTK_WIDGET(menuItem), + gtk_widget_add_accelerator (menuItem, "activate", m_accel, accel_key, @@ -1186,7 +1174,7 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos) { // if the accelerator was taken from a stock ID, just get it back from GTK+ stock if (wxGetStockGtkAccelerator(stockid, &accel_mods, &accel_key)) - gtk_widget_add_accelerator( GTK_WIDGET(menuItem), + gtk_widget_add_accelerator( menuItem, "activate", m_accel, accel_key, @@ -1362,10 +1350,10 @@ static wxString GetGtkHotKey( const wxMenuItem& item ) hotkey << wxT("Down" ); break; case WXK_PAGEUP: - hotkey << wxT("PgUp" ); + hotkey << wxT("Page_Up" ); break; case WXK_PAGEDOWN: - hotkey << wxT("PgDn" ); + hotkey << wxT("Page_Down" ); break; case WXK_LEFT: hotkey << wxT("Left" ); @@ -1483,10 +1471,10 @@ static wxString GetGtkHotKey( const wxMenuItem& item ) hotkey << wxT("KP_Down" ); break; case WXK_NUMPAD_PAGEUP: - hotkey << wxT("KP_PgUp" ); + hotkey << wxT("KP_Page_Up" ); break; case WXK_NUMPAD_PAGEDOWN: - hotkey << wxT("KP_PgDn" ); + hotkey << wxT("KP_Page_Down" ); break; case WXK_NUMPAD_END: hotkey << wxT("KP_End" ); @@ -1547,8 +1535,9 @@ static wxString GetGtkHotKey( const wxMenuItem& item ) default: if ( code < 127 ) { - wxString name = wxGTK_CONV_BACK( gdk_keyval_name((guint)code) ); - if ( name ) + const wxString + name = wxGTK_CONV_BACK_SYS(gdk_keyval_name((guint)code)); + if ( !name.empty() ) { hotkey << name; break;