first draft of a MoveHistory window
[xboard.git] / callback.c
index 0ae04cc..23f27e8 100644 (file)
@@ -1,5 +1,6 @@
 #include <gtk/gtk.h>
 #include "common.h"
+#include "xboard.h"
 #include <errno.h>
 #include "backend.h"
 
@@ -32,6 +33,44 @@ QuitProc (object, user_data)
   ExitEvent(0);
 }
 
+/* Help Menu */
+void InfoProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    char buf[MSG_SIZ];
+    snprintf(buf, sizeof(buf), "xterm -e info --directory %s --directory . -f %s &",
+           INFODIR, INFOFILE);
+    system(buf);
+    return;
+}
+
+void ManProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    char buf[MSG_SIZ];
+    snprintf(buf, sizeof(buf), "xterm -e man xboard &");
+    system(buf);
+    return;
+}
+
+void HintProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    HintEvent();
+    return;
+}
+
+void BookProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    BookEvent();
+    return;
+}
+
 void AboutProc (object, user_data)
      GtkObject *object;
      gpointer user_data;
@@ -79,6 +118,16 @@ void AboutProc (object, user_data)
   gtk_widget_destroy(about);
 }
 
+/* End Help Menu */
+
+void IcsClientProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    IcsClientEvent();
+    return;
+}
+
 void LoadNextGameProc(object, user_data)
      GtkObject *object;
      gpointer user_data;
@@ -103,6 +152,208 @@ void ReloadGameProc(object, user_data)
     return;
 }
 
+void MachineWhiteProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    MachineWhiteEvent();
+    return;
+}
+
+void MachineBlackProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    MachineBlackEvent();
+    return;
+}
+
+void TwoMachinesProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    TwoMachinesEvent();
+    return;
+}
+
+void AcceptProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    AcceptEvent();
+    return;
+}
+
+void DeclineProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    DeclineEvent();
+    return;
+}
+
+void RematchProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    RematchEvent();
+    return;
+}
+
+void CallFlagProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    CallFlagEvent();
+    return;
+}
+
+void DrawProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    DrawEvent();
+    return;
+}
+
+void AbortProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    AbortEvent();
+    return;
+}
+
+void AdjournProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    AdjournEvent();
+    return;
+}
+
+void ResignProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    ResignEvent();
+    return;
+}
+
+void StopObservingProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    StopObservingEvent();
+    return;
+}
+
+void StopExaminingProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    StopExaminingEvent();
+    return;
+}
+
+void AdjuWhiteProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    UserAdjudicationEvent(+1);
+    return;
+}
+
+void AdjuBlackProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    UserAdjudicationEvent(-1);
+    return;
+}
+
+void AdjuDrawProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    UserAdjudicationEvent(0);
+    return;
+}
+
+void BackwardProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    BackwardEvent();
+    return;
+}
+
+void ForwardProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    ForwardEvent();
+    return;
+}
+
+void ToStartProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    ToStartEvent();
+    return;
+}
+
+void ToEndProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    ToEndEvent();
+    return;
+}
+
+void RevertProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    RevertEvent();
+    return;
+}
+
+void TruncateGameProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    TruncateGameEvent();
+    return;
+}
+
+void MoveNowProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    MoveNowEvent();
+    return;
+}
+
+void RetractMoveProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    RetractMoveEvent();
+    return;
+}
+
+/* Option Menu */
+void FlipViewProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+    flipView = !flipView;
+    DrawPosition(True, NULL);
+    return;
+}
+
 
 gboolean CloseWindowProc(GtkWidget *button)
 {
@@ -189,16 +440,22 @@ void LoadGameProc(object, user_data)
 
       //see loadgamepopup
       f = fopen(filename, "rb");
-      if (f == NULL) {
-       DisplayError(_("Failed to open file"), errno);
-      } else {
-       /* TODO add indec */
-       (void) LoadGamePopUp(f, 0, filename);
-      }
+      if (f == NULL) 
+       {
+         DisplayError(_("Failed to open file"), errno);
+       }
+      else 
+       {
+         /* TODO add indec */
+         (void) LoadGamePopUp(f, 0, filename);
+       }
       g_free (filename);
-    }
+    };
+  
   gtk_widget_destroy (dialog);
   ModeHighlight();
+  
+  return;
 }
 
 
@@ -410,3 +667,19 @@ void UserMoveProc(window, event, data)
     return;
 }
 
+void GetMoveListProc(object, user_data)
+     GtkObject *object;
+     gpointer user_data;
+{
+  appData.getMoveList = !appData.getMoveList;
+  
+  if (appData.getMoveList) 
+    {
+      GetMoveListEvent();
+    } 
+
+  // gets set automatically? if we set it with set_active we end up in an endless loop switching between 0 and 1
+  //  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (object),(gboolean) appData.getMoveList );
+  
+  return;
+}