X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=xhistory.c;h=4211de10a781de867c01e5a1e31e6a2479171027;hb=02de46755f727ffb565f7c855f37c344eee925ff;hp=661572d915a17ca2ab50651cc0e6999bf8fae1b5;hpb=6dc1a307d4ec7c6a793865d8a0bee6e48109435e;p=xboard.git diff --git a/xhistory.c b/xhistory.c index 661572d..4211de1 100644 --- a/xhistory.c +++ b/xhistory.c @@ -1,6 +1,7 @@ /* * 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 @@ -23,7 +24,6 @@ #include #include -#include #include #include @@ -50,6 +50,7 @@ #include "backend.h" #include "xhistory.h" #include "xboard.h" +#include "dialogs.h" #include "gettext.h" #ifdef ENABLE_NLS @@ -64,32 +65,35 @@ 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; @@ -126,56 +130,40 @@ SelectMove (Widget w, XEvent * event, String * params, Cardinal * nParams) } 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(); -} -