# include <unistd.h>
#endif
-#include <X11/Intrinsic.h>
-#include <X11/StringDefs.h>
-#include <X11/Shell.h>
-#include <X11/Xaw/Dialog.h>
-#include <X11/Xaw/Form.h>
-#include <X11/Xaw/List.h>
-#include <X11/Xaw/Label.h>
-#include <X11/Xaw/SimpleMenu.h>
-#include <X11/Xaw/SmeBSB.h>
-#include <X11/Xaw/SmeLine.h>
-#include <X11/Xaw/Box.h>
-#include <X11/Xaw/Paned.h>
-#include <X11/Xaw/MenuButton.h>
-#include <X11/cursorfont.h>
-#include <X11/Xaw/Text.h>
-#include <X11/Xaw/AsciiText.h>
-#include <X11/Xaw/Viewport.h>
-
#include "common.h"
#include "frontend.h"
#include "backend.h"
#include "xboard.h"
#include "xhistory.h"
#include "gettext.h"
-#include "gtk/gtk.h"
#ifdef ENABLE_NLS
# define _(s) gettext (s)
# define N_(s) s
#endif
-#define _LL_ 100
-
-extern Widget formWidget, shellWidget, boardWidget, menuBarWidget;
-extern Display *xDisplay;
-extern int squareSize;
-extern Pixmap xMarkPixmap;
-extern char *layoutName;
-
extern GtkWidget *GUI_History;
extern GtkListStore *LIST_MoveHistory;
-
-struct History{
- String *Nr,*white,*black;
- int aNr; /* space actually alocated */
- Widget mvn,mvw,mvb,vbox,viewport,sh;
- char Up;
-};
-
-struct History *hist=0;
String dots=" ... ";
Position gameHistoryX, gameHistoryY;
+Dimension gameHistoryW, gameHistoryH;
void
HistoryPopDown(object, user_data)
GtkObject *object;
gpointer user_data;
{
+ /* hides the history window */
+
gtk_widget_hide (GUI_History);
return;
}
void HistoryMoveProc(Widget w, XtPointer closure, XtPointer call_data)
{
int to;
+ /*
XawListReturnStruct *R = (XawListReturnStruct *) call_data;
if (w == hist->mvn || w == hist->mvw) {
to=2*R->list_index-1;
to=2*R->list_index;
ToNrEvent(to);
}
+ */
}
char movewhite[2*MOVE_LEN],moveblack[2*MOVE_LEN],move[2*MOVE_LEN];
GtkTreeIter iter;
+ /* 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);
+
/* copy move list into history window */
/* go through all moves */
strcpy(moveblack,"");
};
}
- /* check if ther is a white move left */
+
+ /* check if there is a white move left */
if(movewhite[0])
{
i++;
2, moveblack,
-1);
};
+
+ //TODO
+ // EvalGraphSet( first, last, current, pvInfoList ); // piggy-backed
return;
-
-
- if(current<0){
- // XawListUnhighlight(hist->mvw);
- // XawListUnhighlight(hist->mvb);
- }
- else if((current%2)==0){
- // XawListHighlight(hist->mvw, current/2+1);
- // XawListUnhighlight(hist->mvb);
- }
- else{
- // XawListUnhighlight(hist->mvw);
- // if(current) XawListHighlight(hist->mvb, current/2+1);
- // else XawListUnhighlight(hist->mvb);
- }
-
-return;
}
void HistoryCreate()
<Key>Right: ForwardProc() \n";
return;
+// if(wpMoveHistory.width > 0) {
+// gameHistoryW = wpMoveHistory.width;
+// gameHistoryH = wpMoveHistory.height;
+// gameHistoryX = wpMoveHistory.x;
+// gameHistoryY = wpMoveHistory.y;
+// }
+//
+// // [HGM] restore old position
+// if(gameHistoryW > 0) {
+// j = 0;
+// XtSetArg(args[j], XtNx, gameHistoryX); j++;
+// XtSetArg(args[j], XtNy, gameHistoryY); j++;
+// XtSetArg(args[j], XtNwidth, gameHistoryW); j++;
+// XtSetArg(args[j], XtNheight, gameHistoryH); j++;
+// XtSetValues(hist->sh, args, j);
+// }
}
void
HistoryPopUp()
{
- // if(!hist) HistoryCreate();
+ /* show history window */
gtk_widget_show (GUI_History);
-
return;
}
GtkObject *object;
gpointer user_data;
{
- if (!hist)
- {
- HistoryCreate();
- HistoryPopUp();
- }
- else if (hist->Up)
- {
- HistoryPopDown(NULL,NULL);
- }
- else
- {
- HistoryPopUp();
- }
- ToNrEvent(currentMove);
+ HistoryCreate();
+ HistoryPopUp();
+ //TODO: ToNrEvent(currentMove);
return;
}
+Boolean
+MoveHistoryIsUp()
+{
+ /* return status of history window */
+
+ return gtk_widget_get_visible (GUI_History);
+}