/*
* New (WinBoard-style) Move history for XBoard
*
+ * Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
* ------------------------------------------------------------------------
*
* GNU XBoard is free software: you can redistribute it and/or modify
#include "backend.h"
#include "xhistory.h"
#include "xboard.h"
+#include "dialogs.h"
#include "gettext.h"
#ifdef ENABLE_NLS
void RefreshMemoContent P((void));
void MemoContentUpdated P((void));
void FindMoveByCharIndex P(( int char_index ));
-void MoveHistorySet P(( char movelist[][2*MOVE_LEN], int first, int last, int current, ChessProgramStats_Move * pvInfo ));
// variables in xoptions.c
extern Option historyOptions[];
// ------------- low-level front-end actions called by MoveHistory back-end -----------------
-void HighlightMove( int from, int to, Boolean highlight )
+void
+HighlightMove (int from, int to, Boolean highlight)
{
if(highlight)
XawTextSetSelection( historyOptions[0].handle, from, to ); // for lack of a better method, use selection for highighting
}
-void ClearHistoryMemo()
+void
+ClearHistoryMemo ()
{
- ClearTextWidget(&historyOptions[0]);
+ SetWidgetText(&historyOptions[0], "", HistoryDlg);
}
// the bold argument says 0 = normal, 1 = bold typeface
// the colorNr argument says 0 = font-default, 1 = gray
-int AppendToHistoryMemo( char * text, int bold, int colorNr )
+int
+AppendToHistoryMemo (char * text, int bold, int colorNr)
{
return AppendText(&historyOptions[0], text); // for now ignore bold & color stuff, as Xaw cannot handle that
}
-void ScrollToCurrent(int caretPos)
+void
+ScrollToCurrent (int caretPos)
{
Arg args[10];
char *s;
}
Option historyOptions[] = {
-{ 0xD, 200, 400, NULL, (void*) &historyText, "", NULL, TextBox, "" },
-{ 0, 2, 0, NULL, (void*) NULL, "", NULL, EndMark , "" }
+{ 200, T_VSCRL | T_FILL | T_WRAP | T_TOP, 400, NULL, (void*) &historyText, "", NULL, TextBox, "" },
+{ 0, NO_OK, 0, NULL, (void*) NULL, "", NULL, EndMark , "" }
};
// ------------ standard entry points into MoveHistory code -----------
-Boolean MoveHistoryIsUp()
+Boolean
+MoveHistoryIsUp ()
{
- return shellUp[7];
+ return shellUp[HistoryDlg];
}
-Boolean MoveHistoryDialogExists()
+Boolean
+MoveHistoryDialogExists ()
{
- return shells[7] != NULL;
+ return DialogExists(HistoryDlg);
}
-void HistoryPopUp()
+void
+HistoryPopUp ()
{
- if(GenericPopUp(historyOptions, _("Move list"), 7))
- XtOverrideTranslations(historyOptions[0].handle, XtParseTranslationTable(historyTranslations));
- MarkMenu("menuView.Show Move History", 7);
+ if(GenericPopUp(historyOptions, _("Move list"), HistoryDlg, BoardWindow, NONMODAL, 1))
+ AddHandler(&historyOptions[0], 0);
+ MarkMenu("Show Move History", HistoryDlg);
}
void
-HistoryShowProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
+HistoryShowProc ()
{
- if (!shellUp[7]) {
+ if (!shellUp[HistoryDlg]) {
ASSIGN(historyText, "");
HistoryPopUp();
RefreshMemoContent();
MemoContentUpdated();
- } else PopDown(7);
+ } else PopDown(HistoryDlg);
ToNrEvent(currentMove);
}
-
-// duplicate of code in winboard.c, so an move to back-end!
-void EvalGraphSet P(( int first, int last, int current, ChessProgramStats_Move * pvInfo ));
-void MakeEngineOutputTitle P(());
-
-void
-HistorySet( char movelist[][2*MOVE_LEN], int first, int last, int current )
-{
- MoveHistorySet( movelist, first, last, current, pvInfoList );
-
- EvalGraphSet( first, last, current, pvInfoList );
-
- MakeEngineOutputTitle();
-}
-