void on_remember_enemy_units_toggled(void) { GtkWidget *dlg; GtkWidget *yes; GtkWidget *item = get_menu_item(_("<main>/Game/Remember enemy units")); gboolean dirty = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(item), "dirty")); if (dirty) { g_object_set_data(G_OBJECT(item), "dirty", GINT_TO_POINTER(FALSE)); return; } // Let's see the current state if (GTK_CHECK_MENU_ITEM(item)->active) { // Let's see if it's possible if (cbt_game.options & OPT_SHOW_ENEMY_UNITS) { // Ok, that's normal // Just do it without drama cbt_info.show_enemy = TRUE; return; } // Ok, the user is cheating. dlg = create_yes_no_dlg(_ ("You are cheating. This is really bad!\n" "Please take a moment to think of your opponent.\n" "Does he know what you are doing?\n\n\n" "So, are you sure you want to do it?"), GTK_SIGNAL_FUNC(change_show_enemy), GINT_TO_POINTER(TRUE)); yes = lookup_widget(dlg, "yes"); g_object_set_data(G_OBJECT(yes), "checkmenu", item); gtk_widget_show_all(dlg); // Let's keep it not active until the user selects gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), FALSE); } else { // It is being deactived // Let's just keep it cbt_info.show_enemy = FALSE; } }
void menu_item_click(wxButton* btn) { menu_item_click(get_menu_item(btn)); }
void tree_click(wxButton* btn) { tree_click(get_menu_item(btn)); }