// don't get it when the menu is dismissed by clicking outside the
// toolbar) so we connect to the global one, even if it means that we
// can't pass the menu which was closed in wxMenuEvent object
- gtk_signal_connect( GTK_OBJECT(GTK_MENU_SHELL(m_menubar)),
- "deactivate",
- GTK_SIGNAL_FUNC(gtk_menu_close_callback),
- (gpointer)this );
+ g_signal_connect (m_menubar, "deactivate",
+ G_CALLBACK (gtk_menu_close_callback), this);
}
else
gtk_menu_shell_insert( GTK_MENU_SHELL(m_menubar), menu->m_owner, pos );
- gtk_signal_connect( GTK_OBJECT(menu->m_owner), "activate",
- GTK_SIGNAL_FUNC(gtk_menu_open_callback),
- (gpointer)menu );
+ g_signal_connect (menu->m_owner, "activate",
+ G_CALLBACK (gtk_menu_open_callback),
+ menu);
// m_invokingWindow is set after wxFrame::SetMenuBar(). This call enables
// addings menu later on.
menu->SetTitle( str );
if (menu->m_owner)
- {
- GtkLabel *glabel = GTK_LABEL( GTK_BIN(menu->m_owner)->child );
-
- /* set new text */
- gtk_label_set( glabel, wxGTK_CONV( str ) );
-
- /* reparse key accel */
- (void)gtk_label_parse_uline (GTK_LABEL(glabel), wxGTK_CONV( str ) );
- gtk_accel_label_refetch( GTK_ACCEL_LABEL(glabel) );
- }
-
+ gtk_label_set_text_with_mnemonic( GTK_LABEL( GTK_BIN(menu->m_owner)->child), wxGTK_CONV(str) );
}
//-----------------------------------------------------------------------------
{
case wxITEM_CHECK:
case wxITEM_RADIO:
- gtk_check_menu_item_set_state( (GtkCheckMenuItem*)m_menuItem, (gint)check );
+ gtk_check_menu_item_set_active( (GtkCheckMenuItem*)m_menuItem, (gint)check );
break;
default:
{
GtkWidget *tearoff = gtk_tearoff_menu_item_new();
- gtk_menu_append(GTK_MENU(m_menu), tearoff);
+ gtk_menu_shell_append(GTK_MENU_SHELL(m_menu), tearoff);
}
m_prevRadio = NULL;
{
wxASSERT_MSG( menuItem, wxT("invalid menuitem") );
- gtk_signal_connect( GTK_OBJECT(menuItem), "select",
- GTK_SIGNAL_FUNC(gtk_menu_hilight_callback),
- (gpointer)this );
-
- gtk_signal_connect( GTK_OBJECT(menuItem), "deselect",
- GTK_SIGNAL_FUNC(gtk_menu_nolight_callback),
- (gpointer)this );
+ g_signal_connect (menuItem, "select",
+ G_CALLBACK (gtk_menu_hilight_callback), this);
+ g_signal_connect (menuItem, "deselect",
+ G_CALLBACK (gtk_menu_nolight_callback), this);
if ( mitem->IsSubMenu() && mitem->GetKind() != wxITEM_RADIO && mitem->GetKind() != wxITEM_CHECK )
{
}
else
{
- gtk_signal_connect( GTK_OBJECT(menuItem), "activate",
- GTK_SIGNAL_FUNC(gtk_menu_clicked_callback),
- (gpointer)this );
+ g_signal_connect (menuItem, "activate",
+ G_CALLBACK (gtk_menu_clicked_callback),
+ this);
}
}
#if wxUSE_MENUS_NATIVE
-extern "C"
+extern "C" WXDLLIMPEXP_CORE
void gtk_pop_hide_callback( GtkWidget *WXUNUSED(widget), bool* is_waiting )
{
*is_waiting = FALSE;
}
-void SetInvokingWindow( wxMenu *menu, wxWindow* win )
+WXDLLIMPEXP_CORE void SetInvokingWindow( wxMenu *menu, wxWindow* win )
{
menu->SetInvokingWindow( win );
}
}
-extern "C"
+extern "C" WXDLLIMPEXP_CORE
void wxPopupMenuPositionCallback( GtkMenu *menu,
gint *x, gint *y,
gboolean * WXUNUSED(whatever),
bool is_waiting = true;
- gulong handler = gtk_signal_connect( GTK_OBJECT(menu->m_menu),
- "hide",
- GTK_SIGNAL_FUNC(gtk_pop_hide_callback),
- (gpointer)&is_waiting );
+ gulong handler = g_signal_connect (menu->m_menu, "hide",
+ G_CALLBACK (gtk_pop_hide_callback),
+ &is_waiting);
wxPoint pos;
gpointer userdata;
gtk_main_iteration();
}
- gtk_signal_disconnect(GTK_OBJECT(menu->m_menu), handler);
+ g_signal_handler_disconnect (menu->m_menu, handler);
wxMenuEvent eventClose(wxEVT_MENU_CLOSE, -1, menu);
DoCommonMenuCallbackCode(menu, eventClose);