/*
 * callbacks.h
 * 
 * Copyright (C) 2005-2007  Josef Kufner <jk@myserver.cz>
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 */
#include <gtk/gtk.h>

gboolean
on_main_window_destroy                 (GtkWidget       *widget,
                                        GdkEvent        *event,
                                        gpointer         user_data);

void
on_chat_entry_activate                 (GtkEntry        *entry,
                                        gpointer         user_data);

/****************************************************************************/

void
on_connect_btn_cancel_clicked          (GtkButton       *button,
                                        gpointer         user_data);


void
on_connect_btn_ok_clicked              (GtkButton       *button,
                                        gpointer         user_data);


/****************************************************************************/

void
on_dialog_connect_destroy              (GtkObject       *object,
                                        gpointer         user_data);

/****************************************************************************/

void
on_btn_about_close_clicked             (GtkButton       *button,
                                        gpointer         user_data);

void
on_dialog_about_destroy                (GtkObject       *object,
                                        gpointer         user_data);



void
on_btn_restart_clicked                 (GtkToolButton   *toolbutton,
                                        gpointer         user_data);


void
on_main_notebook_switch_page           (GtkNotebook     *notebook,
                                        GtkNotebookPage *page,
                                        guint            page_num,
                                        gpointer         user_data);


gboolean
on_board_drawingarea_expose             (GtkWidget       *widget,
                                        GdkEventExpose  *event,
                                        gpointer         user_data);


gboolean
on_board_drawingarea_button_press_event (GtkWidget       *widget,
                                        GdkEventButton  *event,
                                        gpointer         user_data);


gboolean
on_board_drawingarea_button_release_event
                                        (GtkWidget      *widget,
                                        GdkEventButton  *event,
                                        gpointer         user_data);


gboolean
on_board_drawingarea_key_event          (GtkWidget       *widget,
                                        GdkEventKey     *event,
                                        gpointer         user_data);


/*****************************************************************************
 *	Menu
 ****************************************************************************/

/***** Connect *****/

void
on_network_connect_activate            (GtkMenuItem     *menuitem,
                                        gpointer         user_data);


void
on_network_disconnect_activate         (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_network_reconnect_activate          (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_mnu_exit_activate                   (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

/***** Game *****/

void
on_game_select_activate                (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_game_start_activate                 (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_game_load_abort_activate            (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_game_surrender_activate             (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_game_pause_activate                 (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_game_load_activate                  (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_game_save_activate                  (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_game_lock_activate                  (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

/***** Preferences *****/

void
on_players_columns_activate            (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_pref_highlightlast_activate         (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_pref_browser_activate               (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

/***** Debug *****/

void
on_debug_draw_activate                 (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_debug_clean_activate                (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_debug_dialog_activate               (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_debug_update_state_tab_activate     (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_debug_cleanlogs_activate             (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_debug_send_message_activate         (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_debug_memusage_activate             (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

/***** Help *****/

void
on_help_about_activate                 (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_hlp_rules_activate                  (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

/*****************************************************************************/


void
on_game_role_combobox_changed          (GtkComboBox     *combobox,
                                        gpointer         user_data);


void
on_game_name_button_clicked            (GtkButton       *button,
                                        gpointer         user_data);


void
on_game_start_button_clicked           (GtkButton       *button,
                                        gpointer         user_data);


void
on_dialog_game_select_destroy          (GtkObject       *object,
                                        gpointer         user_data);


void
on_game_select_cancelbutton_clicked    (GtkButton       *button,
                                        gpointer         user_data);


void
on_game_select_okbutton_clicked        (GtkButton       *button,
                                        gpointer         user_data);


void
on_dialog_option_browser_destroy       (GtkObject       *object,
                                        gpointer         user_data);


void
on_pref_save_activate                  (GtkMenuItem     *menuitem,
                                        gpointer         user_data);


void
on_game_terminate_activate             (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_game_synchronize_activate           (GtkMenuItem     *menuitem,
                                        gpointer         user_data);


void
on_connection_connect_button_activate  (GtkButton       *button,
                                        gpointer         user_data);

void
on_pref_behavior_activate              (GtkMenuItem     *menuitem,
                                        gpointer         user_data);


void
on_pref_net_profiles_activate          (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_gui_option_ok_button_clicked        (GtkButton       *button,
                                        gpointer         user_data);

void
on_gui_option_destroy                  (GtkObject       *object,
                                        gpointer         user_data);

void
on_pref_directories_activate           (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_pref_paths_activate                 (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_dialog_network_profiles_destroy     (GtkObject       *object,
                                        gpointer         user_data);

void
on_network_profile_edit_clicked        (GtkButton       *button,
                                        gpointer         user_data);

void
on_network_profiles_treeview_row_activated
                                        (GtkTreeView     *treeview,
                                        GtkTreePath     *path,
                                        GtkTreeViewColumn *column,
                                        gpointer         user_data);


void
on_network_profile_add_clicked         (GtkButton       *button,
                                        gpointer         user_data);

void
on_network_profile_remove_clicked      (GtkButton       *button,
                                        gpointer         user_data);

void
on_network_profile_config_clicked      (GtkButton       *button,
                                        gpointer         user_data);

void
on_connect_profile_combobox_changed    (GtkComboBox     *combobox,
                                        gpointer         user_data);

void
on_profile_config_button_clicked       (GtkButton       *button,
                                        gpointer         user_data);


void
on_pref_detach_page_activate           (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_detached_widget_destroy             (GtkWidget	*widget,
                                        gpointer	 user_data);


void
on_debug_options_activate              (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_send_message_clear_clicked          (GtkButton       *button,
                                        gpointer         user_data);

void
on_send_message_send_clicked           (GtkButton       *button,
                                        gpointer         user_data);

void
on_dialog_send_message_destroy         (GtkObject       *object,
                                        gpointer         user_data);

void
on_dialog_send_message_body_changed    (GtkTextBuffer   *textbuffer,
                                        gpointer         user_data);


void
on_dialog_send_message_update_now_clicked
                                        (GtkButton       *button,
                                        gpointer         user_data);


void
on_game_screenshot_activate            (GtkMenuItem     *menuitem,
                                        gpointer         user_data);

void
on_debug_ping_activate                 (GtkMenuItem     *menuitem,
                                        gpointer         user_data);
