X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=libs%2Fgtkutil%2Fmenu.cpp;h=2a8c55fb8592d75f07dcb6bf7a54d3a021db879e;hb=6ed444ce55f3a5c07f4d4a8625352f239dd1f25b;hp=51e156e91b46d57ea7aa60e213551961e46c4371;hpb=c001d05fb1dc902a725dbf50df82e88a1a526a21;p=xonotic%2Fnetradiant.git diff --git a/libs/gtkutil/menu.cpp b/libs/gtkutil/menu.cpp index 51e156e9..2a8c55fb 100644 --- a/libs/gtkutil/menu.cpp +++ b/libs/gtkutil/menu.cpp @@ -38,17 +38,17 @@ void menu_add_item( ui::Menu menu, ui::MenuItem item ){ } ui::MenuItem menu_separator( ui::Menu menu ){ - auto menu_item = ui::MenuItem(GTK_MENU_ITEM( gtk_menu_item_new() )); + auto menu_item = ui::MenuItem::from( gtk_menu_item_new() ); menu.add(menu_item); - gtk_widget_set_sensitive( GTK_WIDGET( menu_item ), FALSE ); + gtk_widget_set_sensitive( menu_item , FALSE ); menu_item.show(); return menu_item; } ui::TearoffMenuItem menu_tearoff( ui::Menu menu ){ - auto menu_item = ui::TearoffMenuItem(GTK_TEAROFF_MENU_ITEM( gtk_tearoff_menu_item_new() )); + auto menu_item = ui::TearoffMenuItem::from( gtk_tearoff_menu_item_new() ); menu.add(menu_item); -// gtk_widget_set_sensitive(GTK_WIDGET(menu_item), FALSE); -- controls whether menu is detachable +// gtk_widget_set_sensitive(menu_item, FALSE); -- controls whether menu is detachable menu_item.show(); return menu_item; } @@ -57,7 +57,7 @@ ui::MenuItem new_sub_menu_item_with_mnemonic( const char* mnemonic ){ auto item = ui::MenuItem( mnemonic, true ); item.show(); - auto sub_menu = ui::Menu(); + auto sub_menu = ui::Menu(ui::New); gtk_menu_item_set_submenu( item, sub_menu ); return item; @@ -66,22 +66,22 @@ ui::MenuItem new_sub_menu_item_with_mnemonic( const char* mnemonic ){ ui::Menu create_sub_menu_with_mnemonic( ui::MenuShell parent, const char* mnemonic ){ auto item = new_sub_menu_item_with_mnemonic( mnemonic ); parent.add(item); - return ui::Menu(GTK_MENU( gtk_menu_item_get_submenu( item ) )); + return ui::Menu::from( gtk_menu_item_get_submenu( item ) ); } ui::Menu create_sub_menu_with_mnemonic( ui::MenuBar bar, const char* mnemonic ){ - return create_sub_menu_with_mnemonic( ui::MenuShell(GTK_MENU_SHELL( bar )), mnemonic ); + return create_sub_menu_with_mnemonic( ui::MenuShell::from( bar._handle ), mnemonic ); } ui::Menu create_sub_menu_with_mnemonic( ui::Menu parent, const char* mnemonic ){ - return create_sub_menu_with_mnemonic( ui::MenuShell(GTK_MENU_SHELL( parent )), mnemonic ); + return create_sub_menu_with_mnemonic( ui::MenuShell::from( parent._handle ), mnemonic ); } void activate_closure_callback( ui::Widget widget, gpointer data ){ - ( *reinterpret_cast( data ) )( ); + ( *reinterpret_cast*>( data ) )( ); } -guint menu_item_connect_callback( ui::MenuItem item, const Callback& callback ){ +guint menu_item_connect_callback( ui::MenuItem item, const Callback& callback ){ #if 1 return g_signal_connect_swapped( G_OBJECT( item ), "activate", G_CALLBACK( callback.getThunk() ), callback.getEnvironment() ); #else @@ -89,7 +89,7 @@ guint menu_item_connect_callback( ui::MenuItem item, const Callback& callback ){ #endif } -guint check_menu_item_connect_callback( ui::CheckMenuItem item, const Callback& callback ){ +guint check_menu_item_connect_callback( ui::CheckMenuItem item, const Callback& callback ){ #if 1 guint handler = g_signal_connect_swapped( G_OBJECT( item ), "toggled", G_CALLBACK( callback.getThunk() ), callback.getEnvironment() ); #else @@ -99,34 +99,34 @@ guint check_menu_item_connect_callback( ui::CheckMenuItem item, const Callback& return handler; } -ui::MenuItem new_menu_item_with_mnemonic( const char *mnemonic, const Callback& callback ){ +ui::MenuItem new_menu_item_with_mnemonic( const char *mnemonic, const Callback& callback ){ auto item = ui::MenuItem( mnemonic, true ); item.show(); menu_item_connect_callback( item, callback ); return item; } -ui::MenuItem create_menu_item_with_mnemonic( ui::Menu menu, const char *mnemonic, const Callback& callback ){ +ui::MenuItem create_menu_item_with_mnemonic( ui::Menu menu, const char *mnemonic, const Callback& callback ){ auto item = new_menu_item_with_mnemonic( mnemonic, callback ); menu.add(item); return item; } -ui::CheckMenuItem new_check_menu_item_with_mnemonic( const char* mnemonic, const Callback& callback ){ - auto item = ui::CheckMenuItem(GTK_CHECK_MENU_ITEM( gtk_check_menu_item_new_with_mnemonic( mnemonic ) )); +ui::CheckMenuItem new_check_menu_item_with_mnemonic( const char* mnemonic, const Callback& callback ){ + auto item = ui::CheckMenuItem::from( gtk_check_menu_item_new_with_mnemonic( mnemonic ) ); item.show(); check_menu_item_connect_callback( item, callback ); return item; } -ui::CheckMenuItem create_check_menu_item_with_mnemonic( ui::Menu menu, const char* mnemonic, const Callback& callback ){ +ui::CheckMenuItem create_check_menu_item_with_mnemonic( ui::Menu menu, const char* mnemonic, const Callback& callback ){ auto item = new_check_menu_item_with_mnemonic( mnemonic, callback ); menu.add(item); return item; } -ui::RadioMenuItem new_radio_menu_item_with_mnemonic( GSList** group, const char* mnemonic, const Callback& callback ){ - auto item = ui::RadioMenuItem(GTK_RADIO_MENU_ITEM( gtk_radio_menu_item_new_with_mnemonic( *group, mnemonic ) )); +ui::RadioMenuItem new_radio_menu_item_with_mnemonic( GSList** group, const char* mnemonic, const Callback& callback ){ + auto item = ui::RadioMenuItem::from( gtk_radio_menu_item_new_with_mnemonic( *group, mnemonic ) ); if ( *group == 0 ) { gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM( item ), TRUE ); } @@ -136,7 +136,7 @@ ui::RadioMenuItem new_radio_menu_item_with_mnemonic( GSList** group, const char* return item; } -ui::RadioMenuItem create_radio_menu_item_with_mnemonic( ui::Menu menu, GSList** group, const char* mnemonic, const Callback& callback ){ +ui::RadioMenuItem create_radio_menu_item_with_mnemonic( ui::Menu menu, GSList** group, const char* mnemonic, const Callback& callback ){ auto item = new_radio_menu_item_with_mnemonic( group, mnemonic, callback ); menu.add(item); return item; @@ -238,15 +238,14 @@ ui::MenuItem create_menu_item_with_mnemonic( ui::Menu menu, const char* mnemonic return item; } -void check_menu_item_set_active_callback( GtkCheckMenuItem &item, bool enabled ){ - check_menu_item_set_active_no_signal( ui::CheckMenuItem(&item), enabled ); +void check_menu_item_set_active_callback(void *it, bool enabled ){ + auto item = ui::CheckMenuItem::from(it); + check_menu_item_set_active_no_signal( item, enabled ); } -typedef ReferenceCaller1 CheckMenuItemSetActiveCaller; ui::CheckMenuItem create_check_menu_item_with_mnemonic( ui::Menu menu, const char* mnemonic, const Toggle& toggle ){ auto item = create_check_menu_item_with_mnemonic( menu, mnemonic, toggle.m_command.m_callback ); menu_item_add_accelerator( item, toggle.m_command.m_accelerator ); - GtkCheckMenuItem *item_ = item; - toggle.m_exportCallback( CheckMenuItemSetActiveCaller( *item_ ) ); + toggle.m_exportCallback( PointerCaller( item._handle ) ); return item; }