extern int toY;
extern int squareSize,lineGap;
+extern int LoadGamePopUp P((FILE *f, int gameNumber, char *title));
+extern int LoadPosition P((FILE *f, int gameNumber, char *title));
+extern int SaveGame P((FILE *f, int gameNumber, char *title));
+extern int SavePosition P((FILE *f, int gameNumber, char *title));
+
gboolean
ExposeProc(object, user_data)
GtkObject *object;
int totalh=0,nw,nh;
float ratio;
int boardWidth,boardHeight,old,new;
-
+
nw=GTK_WIDGET(object)->allocation.width;
nh=GTK_WIDGET(object)->allocation.height;
-
+
old=squareSize;
squareSize = nw/(BOARD_WIDTH*1.05+0.05);
if(old!=squareSize)
{
lineGap = squareSize*0.05;
-
+
boardWidth = lineGap + BOARD_WIDTH * (squareSize + lineGap);
boardHeight = lineGap + BOARD_HEIGHT * (squareSize + lineGap);
-
+
/* get the height of the menus, etc. and calculate the aspect ratio */
gtk_widget_size_request(GTK_WIDGET(GUI_Menubar), &w);
totalh += w.height;
totalh += w.height;
gtk_widget_size_request(GTK_WIDGET(GUI_Buttonbar), &w);
totalh += w.height;
-
+
ratio = ((float)totalh+boardHeight)/((float)boardWidth) ;
-
+
gtk_widget_set_size_request(GTK_WIDGET(GUI_Board),
boardWidth,boardHeight);
-
+
gtk_aspect_frame_set (GTK_ASPECT_FRAME(GUI_Aspect),0,0,ratio,TRUE);
/* recreate pieces with new size... TODO: keep svg in memory and just recreate pixmap instead of reloading files */
CreatePieces();
- }
+ }
return FALSE; /* return false, so that other expose events are called too */
}
* File menu
*/
-void LoadNextGameProc(object, user_data)
+void
+LoadNextGameProc(object, user_data)
GtkObject *object;
gpointer user_data;
{
return;
}
-void LoadPrevGameProc(object, user_data)
+void
+LoadPrevGameProc(object, user_data)
GtkObject *object;
gpointer user_data;
{
return;
}
-void ReloadGameProc(object, user_data)
+void
+ReloadGameProc(object, user_data)
GtkObject *object;
gpointer user_data;
{
return;
}
-
-void LoadNextPositionProc(object, user_data)
+void
+LoadNextPositionProc(object, user_data)
GtkObject *object;
gpointer user_data;
{
return;
}
-void LoadPrevPositionProc(object, user_data)
+void
+LoadPrevPositionProc(object, user_data)
GtkObject *object;
gpointer user_data;
{
return;
}
-void ReloadPositionProc(object, user_data)
+void
+ReloadPositionProc(object, user_data)
GtkObject *object;
gpointer user_data;
{
return;
}
+void
+LoadPositionProc(object, user_data)
+ GtkObject *object;
+ gpointer user_data;
+{
+ if (gameMode == AnalyzeMode || gameMode == AnalyzeFile)
+ {
+ Reset(FALSE, TRUE);
+ };
+
+ FileNamePopUp(_("Load position file name?"), "", LoadPosition, "rb");
+ return;
+}
+
+void
+SaveGameProc(object, user_data)
+ GtkObject *object;
+ gpointer user_data;
+{
+ FileNamePopUp(_("Save game file name?"),
+ DefaultFileName(appData.oldSaveStyle ? "game" : "pgn"),
+ SaveGame, "a");
+ return;
+}
+
+void
+SavePositionProc(object, user_data)
+ GtkObject *object;
+ gpointer user_data;
+{
+ FileNamePopUp(_("Save position file name?"),
+ DefaultFileName(appData.oldSaveStyle ? "pos" : "fen"),
+ SavePosition, "a");
+ return;
+}
+
+void
+AnalyzeFileProc(object, user_data)
+ GtkObject *object;
+ gpointer user_data;
+{
+ if (!first.analysisSupport)
+ {
+ char buf[MSG_SIZ];
+ snprintf(buf, sizeof(buf), _("%s does not support analysis"), first.tidy);
+ DisplayError(buf, 0);
+ return;
+ };
+ Reset(FALSE, TRUE);
+
+ if (!appData.showThinking)
+ ShowThinkingProc(NULL,NULL);
+
+ AnalyzeFileEvent();
+ FileNamePopUp(_("File to analyze"), "", LoadGamePopUp, "rb");
+ AnalysisPeriodicEvent(1);
+ return;
+}
+
/* End File Menu */
GtkObject *object;
gpointer user_data;
{
- appData.showThinking = !appData.showThinking;
+ appData.showThinking = !appData.showThinking;
ShowThinkingEvent();
return;
GtkObject *object;
gpointer user_data;
{
- GtkWidget *dialog;
- dialog = gtk_file_chooser_dialog_new (_("Load game file name?"),
- GTK_WINDOW(GUI_Window),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL);
- if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
- {
- char *filename;
- FILE *f;
-
- filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
-
- //see loadgamepopup
- f = fopen(filename, "rb");
- 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();
-
+ FileNamePopUp(_("Load game file name?"),"",LoadGamePopUp,"rb");
return;
}
gpointer user_data;
{
appData.getMoveList = !appData.getMoveList;
-
- if (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;
}
XtPointer call_data));
void ICSInputBoxPopUp P((void));
void ICSInputBoxPopDown P((void));
-void FileNamePopUp P((char *label, char *def,
- FileProc proc, char *openMode));
-void FileNamePopDown P((void));
-void FileNameCallback P((Widget w, XtPointer client_data,
- XtPointer call_data));
-void FileNameAction P((Widget w, XEvent *event,
- String *prms, Cardinal *nprms));
void AskQuestionReplyAction P((Widget w, XEvent *event,
String *prms, Cardinal *nprms));
void AskQuestionProc P((Widget w, XEvent *event,
void EditCommentCallback P((Widget w, XtPointer client_data,
XtPointer call_data));
void SelectCommand P((Widget w, XtPointer client_data, XtPointer call_data));
-void LoadPositionProc P((Widget w, XEvent *event,
- String *prms, Cardinal *nprms));
void CopyPositionProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
void PastePositionProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
void CopyGameProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void PasteGameProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
-void SaveGameProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
-void SavePositionProc P((Widget w, XEvent *event,
- String *prms, Cardinal *nprms));
void MailMoveProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void ReloadCmailMsgProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
void AnalyzeModeProc P((Widget w, XEvent *event,
String *prms, Cardinal *nprms));
-void AnalyzeFileProc P((Widget w, XEvent *event,
- String *prms, Cardinal *nprms));
void EditGameProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void EditPositionProc P((Widget w, XEvent *event,
String *prms, Cardinal *nprms));
MenuItem fileMenu[] = {
{N_("New Shuffle Game ..."), ShuffleMenuProc},
{N_("New Variant ..."), NewVariantProc}, // [HGM] variant: not functional yet
- {"----", NothingProc},
- {N_("Save Game"), SaveGameProc},
- {"----", NothingProc},
+ // {"----", NothingProc},
+ // {N_("Save Game"), SaveGameProc},
+ // {"----", NothingProc},
{N_("Copy Game"), CopyGameProc},
{N_("Paste Game"), PasteGameProc},
- {"----", NothingProc},
- {N_("Load Position"), LoadPositionProc},
+ // {"----", NothingProc},
+ // {N_("Load Position"), LoadPositionProc},
// {N_("Load Next Position"), LoadNextPositionProc},
// {N_("Load Previous Position"), LoadPrevPositionProc},
// {N_("Reload Same Position"), ReloadPositionProc},
- {N_("Save Position"), SavePositionProc},
- {"----", NothingProc},
+ // {N_("Save Position"), SavePositionProc},
+ // {"----", NothingProc},
{N_("Copy Position"), CopyPositionProc},
{N_("Paste Position"), PastePositionProc},
- {"----", NothingProc},
+ // {"----", NothingProc},
{N_("Mail Move"), MailMoveProc},
{N_("Reload CMail Message"), ReloadCmailMsgProc},
- {"----", NothingProc},
+ // {"----", NothingProc},
{NULL, NULL}
};
// {N_("Machine Black"), MachineBlackProc},
// {N_("Two Machines"), TwoMachinesProc},
{N_("Analysis Mode"), AnalyzeModeProc},
- {N_("Analyze File"), AnalyzeFileProc },
+ // {N_("Analyze File"), AnalyzeFileProc },
// {N_("ICS Client"), IcsClientProc},
{N_("Edit Game"), EditGameProc},
{N_("Edit Position"), EditPositionProc},
XtActionsRec boardActions[] = {
{ "HandleUserMove", HandleUserMove },
{ "AnimateUserMove", AnimateUserMove },
- { "FileNameAction", FileNameAction },
+ // { "FileNameAction", FileNameAction },
{ "AskQuestionProc", AskQuestionProc },
{ "AskQuestionReplyAction", AskQuestionReplyAction },
{ "PieceMenuPopup", PieceMenuPopup },
// { "BlackClock", BlackClock },
{ "Iconify", Iconify },
{ "LoadSelectedProc", LoadSelectedProc },
- { "LoadPositionProc", LoadPositionProc },
+ // { "LoadPositionProc", LoadPositionProc },
// { "LoadNextPositionProc", LoadNextPositionProc },
// { "LoadPrevPositionProc", LoadPrevPositionProc },
// { "ReloadPositionProc", ReloadPositionProc },
{ "PastePositionProc", PastePositionProc },
{ "CopyGameProc", CopyGameProc },
{ "PasteGameProc", PasteGameProc },
- { "SaveGameProc", SaveGameProc },
- { "SavePositionProc", SavePositionProc },
+ // { "SaveGameProc", SaveGameProc },
+ // { "SavePositionProc", SavePositionProc },
{ "MailMoveProc", MailMoveProc },
{ "ReloadCmailMsgProc", ReloadCmailMsgProc },
// { "MachineWhiteProc", MachineWhiteProc },
// { "MachineBlackProc", MachineBlackProc },
{ "AnalysisModeProc", AnalyzeModeProc },
- { "AnalyzeFileProc", AnalyzeFileProc },
+ // { "AnalyzeFileProc", AnalyzeFileProc },
// { "TwoMachinesProc", TwoMachinesProc },
// { "IcsClientProc", IcsClientProc },
{ "EditGameProc", EditGameProc },
{ "ErrorPopDown", (XtActionProc) ErrorPopDown },
{ "ICSInputBoxPopDown", (XtActionProc) ICSInputBoxPopDown },
{ "EngineOutputPopDown", (XtActionProc) EngineOutputPopDown },
- { "FileNamePopDown", (XtActionProc) FileNamePopDown },
+ // { "FileNamePopDown", (XtActionProc) FileNamePopDown },
{ "AskQuestionPopDown", (XtActionProc) AskQuestionPopDown },
{ "GameListPopDown", (XtActionProc) GameListPopDown },
{ "PromotionPopDown", (XtActionProc) PromotionPopDown },
"<Key>Return: EnterKeyProc() \n";
String xboardResources[] = {
- "*fileName*value.translations: #override\\n <Key>Return: FileNameAction()",
+ // "*fileName*value.translations: #override\\n <Key>Return: FileNameAction()",
"*question*value.translations: #override\\n <Key>Return: AskQuestionReplyAction()",
"*errorpopup*translations: #override\\n <Key>Return: ErrorPopDown()",
NULL
commentUp = False;
}
-void FileNamePopUp(label, def, proc, openMode)
- char *label;
- char *def;
- FileProc proc;
- char *openMode;
-{
- Arg args[16];
- Widget popup, layout, dialog, edit;
- Window root, child;
- int x, y, i;
- int win_x, win_y;
- unsigned int mask;
-
- fileProc = proc; /* I can't see a way not */
- fileOpenMode = openMode; /* to use globals here */
-
- i = 0;
- XtSetArg(args[i], XtNresizable, True); i++;
- XtSetArg(args[i], XtNwidth, DIALOG_SIZE); i++;
- XtSetArg(args[i], XtNtitle, XtNewString(_("File name prompt"))); i++;
- fileNameShell = popup =
- XtCreatePopupShell("File name prompt", transientShellWidgetClass,
- shellWidget, args, i);
-
- layout =
- XtCreateManagedWidget(layoutName, formWidgetClass, popup,
- layoutArgs, XtNumber(layoutArgs));
-
- i = 0;
- XtSetArg(args[i], XtNlabel, label); i++;
- XtSetArg(args[i], XtNvalue, def); i++;
- XtSetArg(args[i], XtNborderWidth, 0); i++;
- dialog = XtCreateManagedWidget("fileName", dialogWidgetClass,
- layout, args, i);
-
- XawDialogAddButton(dialog, _("ok"), FileNameCallback, (XtPointer) dialog);
- XawDialogAddButton(dialog, _("cancel"), FileNameCallback,
- (XtPointer) dialog);
-
- XtRealizeWidget(popup);
- CatchDeleteWindow(popup, "FileNamePopDown");
-
- XQueryPointer(xDisplay, xBoardWindow, &root, &child,
- &x, &y, &win_x, &win_y, &mask);
-
- XtSetArg(args[0], XtNx, x - 10);
- XtSetArg(args[1], XtNy, y - 30);
- XtSetValues(popup, args, 2);
-
- XtPopup(popup, XtGrabExclusive);
- filenameUp = True;
-
- edit = XtNameToWidget(dialog, "*value");
- XtSetKeyboardFocus(popup, edit);
-}
-
-void FileNamePopDown()
-{
- if (!filenameUp) return;
- XtPopdown(fileNameShell);
- XtDestroyWidget(fileNameShell);
- filenameUp = False;
- ModeHighlight();
-}
-
-void FileNameCallback(w, client_data, call_data)
- Widget w;
- XtPointer client_data, call_data;
-{
- String name;
- Arg args[16];
-
- XtSetArg(args[0], XtNlabel, &name);
- XtGetValues(w, args, 1);
-
- if (strcmp(name, _("cancel")) == 0) {
- FileNamePopDown();
- return;
- }
-
- FileNameAction(w, NULL, NULL, NULL);
-}
-
-void FileNameAction(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- char buf[MSG_SIZ];
- String name;
- FILE *f;
- char *p, *fullname;
- int index;
-
- name = XawDialogGetValueString(w = XtParent(w));
-
- if ((name != NULL) && (*name != NULLCHAR)) {
- strcpy(buf, name);
- XtPopdown(w = XtParent(XtParent(w)));
- XtDestroyWidget(w);
- filenameUp = False;
-
- p = strrchr(buf, ' ');
- if (p == NULL) {
- index = 0;
- } else {
- *p++ = NULLCHAR;
- index = atoi(p);
- }
- fullname = ExpandPathName(buf);
- if (!fullname) {
- ErrorPopUp(_("Error"), _("Can't open file"), FALSE);
- }
- else {
- f = fopen(fullname, fileOpenMode);
- if (f == NULL) {
- DisplayError(_("Failed to open file"), errno);
- } else {
- (void) (*fileProc)(f, index, buf);
- }
- }
- ModeHighlight();
- return;
- }
-
- XtPopdown(w = XtParent(XtParent(w)));
- XtDestroyWidget(w);
- filenameUp = False;
- ModeHighlight();
-}
-
void PromotionPopUp()
{
Arg args[16];
else if (!ListEmpty(&gameList)
&& ((ListGame *) gameList.tailPred)->number > 1)
{
- GameListPopUp(f, title);
+ // TODO convert to GTK
+ // GameListPopUp(f, title);
return TRUE;
};
return LoadGame(f, gameNumber, title, FALSE);
}
-void LoadPositionProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- if (gameMode == AnalyzeMode || gameMode == AnalyzeFile) {
- Reset(FALSE, TRUE);
- }
- FileNamePopUp(_("Load position file name?"), "", LoadPosition, "rb");
-}
-
-void SaveGameProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- FileNamePopUp(_("Save game file name?"),
- DefaultFileName(appData.oldSaveStyle ? "game" : "pgn"),
- SaveGame, "a");
-}
-
-void SavePositionProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- FileNamePopUp(_("Save position file name?"),
- DefaultFileName(appData.oldSaveStyle ? "pos" : "fen"),
- SavePosition, "a");
-}
-
void ReloadCmailMsgProc(w, event, prms, nprms)
Widget w;
XEvent *event;
void AutoSaveGame()
{
- SaveGameProc(NULL, NULL, NULL, NULL);
+ SaveGameProc(NULL, NULL);
+ return;
}
void AnalyzeModeProc(w, event, prms, nprms)
AnalyzeModeEvent();
}
-void AnalyzeFileProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- if (!first.analysisSupport) {
- char buf[MSG_SIZ];
- snprintf(buf, sizeof(buf), _("%s does not support analysis"), first.tidy);
- DisplayError(buf, 0);
- return;
- }
- Reset(FALSE, TRUE);
-
- if (!appData.showThinking)
- ShowThinkingProc(NULL,NULL);
-
- AnalyzeFileEvent();
- FileNamePopUp(_("File to analyze"), "", LoadGamePopUp, "rb");
- AnalysisPeriodicEvent(1);
-}
-
-
void EditGameProc(w, event, prms, nprms)
Widget w;
XEvent *event;