worked on MoveHistory window
authorArun Persaud <arun@nubati.net>
Tue, 19 Jan 2010 02:28:08 +0000 (18:28 -0800)
committerArun Persaud <arun@nubati.net>
Tue, 19 Jan 2010 02:28:08 +0000 (18:28 -0800)
it now displays the moves correctly. Next: add keyboard and mouse support to be able to select a move and go to that position

interface.h
xboard.c
xhistory.c

index 3ee8d15..3ae8aa2 100644 (file)
@@ -18,6 +18,9 @@ GtkWidget               *GUI_EditTagsTextArea=NULL;
 GtkListStore            *LIST_MoveHistory=NULL;
 GtkListStore            *LIST_GameList=NULL;
 
+GtkTreeView             *TREE_History=NULL;
+GtkTreeView             *TREE_Game=NULL;
+
 gint                     boardWidth;
 gint                     boardHeight;
 
index a25dcdf..2e7d470 100644 (file)
--- a/xboard.c
+++ b/xboard.c
@@ -1450,12 +1450,6 @@ main(argc, argv)
     GUI_Aspect = GTK_WIDGET (gtk_builder_get_object (builder, "Aspectframe"));
     if(!GUI_Aspect) printf("Error: gtk_builder didn't work!\n");
 
-    GUI_History = GTK_WIDGET (gtk_builder_get_object (builder, "MoveHistory"));
-    if(!GUI_History) printf("Error: gtk_builder didn't work!\n");
-
-    GUI_GameList = GTK_WIDGET (gtk_builder_get_object (builder, "GameList"));
-    if(!GUI_GameList) printf("Error: gtk_builder didn't work!\n");
-
     GUI_Menubar  = GTK_WIDGET (gtk_builder_get_object (builder, "MenuBar"));
     if(!GUI_Menubar) printf("Error: gtk_builder didn't work!\n");
     GUI_Timer  = GTK_WIDGET (gtk_builder_get_object (builder, "Timer"));
@@ -1471,6 +1465,7 @@ main(argc, argv)
     GUI_Blackclock  = GTK_WIDGET (gtk_builder_get_object (builder, "BlackClock"));
     if(!GUI_Blackclock) printf("Error: gtk_builder didn't work!\n");
 
+    /* GTK lists stores*/
     LIST_MoveHistory = GTK_LIST_STORE (gtk_builder_get_object (builder, "MoveHistoryStore"));
     if(!LIST_MoveHistory) printf("Error: gtk_builder didn't work!\n");
 
@@ -1484,6 +1479,23 @@ main(argc, argv)
     GUI_EditTagsTextArea = GTK_WIDGET (gtk_builder_get_object (builder, "EditTagsTextArea"));
     if(!GUI_EditTagsTextArea) printf("Error: gtk_builder didn't work!\n");
 
+    /* move history and game list windows */
+    GUI_History = GTK_WIDGET (gtk_builder_get_object (builder, "MoveHistory"));
+    if(!GUI_History) printf("Error: gtk_builder didn't work!\n");
+
+    TREE_History = GTK_TREE_VIEW (gtk_builder_get_object (builder, "MoveHistoryView"));
+    if(!TREE_History) printf("Error: gtk_builder didn't work!\n");
+
+    GUI_GameList = GTK_WIDGET (gtk_builder_get_object (builder, "GameList"));
+    if(!GUI_GameList) printf("Error: gtk_builder didn't work!\n");
+
+    TREE_Game = GTK_TREE_VIEW (gtk_builder_get_object (builder, "GameListView"));
+    if(!TREE_Game) printf("Error: gtk_builder didn't work!\n");
+
+
+    /* connect lists to views */
+    gtk_tree_view_set_model(TREE_History,GTK_TREE_MODEL(LIST_MoveHistory));
+    gtk_tree_view_set_model(TREE_Game,GTK_TREE_MODEL(LIST_GameList));
 
     gtk_builder_connect_signals (builder, NULL);
 
index 6bf4ad0..cd572db 100644 (file)
@@ -103,6 +103,7 @@ void HistorySet(char movelist[][2*MOVE_LEN],int first,int last,int current)
   /* TODO need to add highlights for current move */
   /* TODO need to add navigation by keyboard or mouse (double click on move) */
 
+
   /* first clear everything, do we need this? */
   gtk_list_store_clear(LIST_MoveHistory);
 
@@ -142,7 +143,7 @@ void HistorySet(char movelist[][2*MOVE_LEN],int first,int last,int current)
          /* save move */
          gtk_list_store_append (LIST_MoveHistory, &iter);
          gtk_list_store_set (LIST_MoveHistory, &iter,
-                             0, i,
+                             0, (i/2 +1),
                              1, movewhite,
                              2, moveblack,
                              -1);
@@ -155,17 +156,18 @@ void HistorySet(char movelist[][2*MOVE_LEN],int first,int last,int current)
   /* check if there is a white move left */
   if(movewhite[0])
     {
-      i++;
       strcpy(moveblack,"");
+
       /* save move */
       gtk_list_store_append (LIST_MoveHistory, &iter);
       gtk_list_store_set (LIST_MoveHistory, &iter,
-                         0, i,
+                         0, (i/2 +1),
                          1, movewhite,
                          2, moveblack,
                          -1);
     };
 
+
   //TODO
   //  EvalGraphSet( first, last, current, pvInfoList ); // piggy-backed