}
static void
-command_callback (GtkWidget *widget,
- grr_game_t *game)
+grr_game_entry_callback (GtkWidget *widget,
+ grr_game_t *game)
{
+ rr_status_t status;
const gchar *entry_text;
char **response;
+ int i;
entry_text = gtk_entry_get_text (GTK_ENTRY (game->command_entry));
- gtk_text_buffer_insert_at_cursor (game->message_buffer, entry_text, -1);
- gtk_text_buffer_insert_at_cursor (game->message_buffer, "\n", -1);
- rr_client_request (game->client, entry_text, &response);
+ status = rr_client_request (game->client, entry_text, &response);
+ if (status) {
+ gtk_text_buffer_insert_at_cursor (game->message_buffer,
+ "ERROR: ", -1);
+ gtk_text_buffer_insert_at_cursor (game->message_buffer,
+ rr_status_str (status), -1);
+ gtk_text_buffer_insert_at_cursor (game->message_buffer,
+ "\n", -1);
+ } else {
+ for (i=0; response[i]; i++) {
+ gtk_text_buffer_insert_at_cursor (game->message_buffer,
+ response[i], -1);
+ gtk_text_buffer_insert_at_cursor (game->message_buffer,
+ " ", -1);
+ }
+ gtk_text_buffer_insert_at_cursor (game->message_buffer, "\n", -1);
+ }
gtk_entry_set_text (GTK_ENTRY (game->command_entry), "");
gtk_paned_pack1 (GTK_PANED (vpaned), board_frame, TRUE, TRUE);
{
game->board_view = grr_board_view_new (game->board);
+ grr_board_view_set_client (GRR_BOARD_VIEW (game->board_view),
+ game->client);
gtk_container_add (GTK_CONTAINER (board_frame), game->board_view);
gtk_widget_show (game->board_view);
gtk_container_add (GTK_CONTAINER (vbox), command_entry);
gtk_widget_show (command_entry);
g_signal_connect (G_OBJECT (command_entry), "activate",
- G_CALLBACK (command_callback),
+ G_CALLBACK (grr_game_entry_callback),
(gpointer) game);
}
gtk_widget_show (vbox);