Fix multi-leg promotions
[xboard.git] / dialogs.h
index 87be680..99b01e4 100644 (file)
--- a/dialogs.h
+++ b/dialogs.h
@@ -1,7 +1,7 @@
 /*
  * dialogs.h -- shared variables for generic dialog popup of XBoard
  *
- * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+ * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
  * ------------------------------------------------------------------------
  *
  * GNU XBoard is free software: you can redistribute it and/or modify
 // int     max        X/E   (w)   (w)    (w)   (w)   (w)  (w)  (w)   (w)
 // void*   handle     X/E   X/E   X/E    X/E   X/E    X    X    X     X    X
 // void*   target      X     X     X     X/C    C          X    X     C    C
-// char*   textValue               E     X/E    *
-// char ** choice                        X/E    *                          X
+// char*   textValue              X/E    X/E    *
+// char ** choice                  C     X/E    *                          X
 // enum    type       X/E   X/E   X/E    X/E    X     X    X    X     X    X     X    X
-// char[]  name       X/E   X/E   X/E    X/E    X          X    X     X    X
+// char *  name       X/E   X/E   X/E    X/E    X          X    X     X    X
+// char ** font                    X            X          X    X                       (GTK only)
 // File and Path options are like String (but get a browse button added in the dialog), and Slider
 // is like Spin. Menu can be PopUp or PopDown; both need the COMBO_CALLBACK bit (3) set!
 // (h) or (w) means the field optionally (when non-null) specifies the height or width of the main
@@ -76,6 +77,8 @@
 #define NO_OK          (1 << 1)
 #define NO_CANCEL      (1 << 2)
 
+#define REPLACE                (1 << 16)
+
 #define MODAL 1
 #define NONMODAL 0
 
@@ -130,6 +133,11 @@ extern WindowPlacement wpComment, wpTags, wpMoveHistory, wpMain, wpDualBoard, wp
 extern char *marked[];
 extern Boolean shellUp[];
 extern Option textOptions[], typeOptions[], dualOptions[], mainOptions[];
+extern Option historyOptions[], engoutOptions[], gamesOptions[], chatOptions[], tagsOptions[], commentOptions[];
+#define MAX_SIZE 130
+extern Boolean fontIsSet[], fontValid[][MAX_SIZE];
+extern int initialSquareSize;
+extern char *fontTable[][MAX_SIZE];
 
 
 void GetPlacement P((DialogClass dlg, WindowPlacement *wp));
@@ -146,13 +154,14 @@ void HighlightText P((Option *opt, int from, int to, Boolean highlight));
 void SetColor P((char *colorName, Option *box));
 //void ColorChanged P((Widget w, XtPointer data, XEvent *event, Boolean *b));
 void SetInsertPos P((Option *opt, int pos));
-void HardSetFocus P((Option *opt));
+void HardSetFocus P((Option *opt, DialogClass dlg));
 void CursorAtEnd P((Option *opt));
 void GetWidgetText  P((Option *opt, char **buf));
 void SetWidgetText  P((Option *opt, char *buf, int n));
 void GetWidgetState  P((Option *opt, int *state));
 void SetWidgetState  P((Option *opt, int state));
 void SetWidgetLabel P((Option *opt, char *buf));
+void SetComboChoice  P((Option *opt, int choice));
 void SetDialogTitle  P((DialogClass dlg, char *title));
 void LoadListBox P((Option *opt, char *emptyText, int n1, int n2));
 void HighlightListBoxItem P((Option *opt, int nr));
@@ -168,6 +177,7 @@ void SetScroll P((Option *opt, float f));
 void AddHandler  P((Option *opt, DialogClass dlg, int nr));
 void SendText P((int n));
 void DisplayLogos P((Option *left, Option *right));
+void StartDir P((char *filter, char *newName));
 void Browse P((DialogClass dlg, char *label, char *proposed, char *ext,
                        Boolean pathFlag, char *mode, char **name, FILE **fp));
 void FileNamePopUpWrapper P((char *label, char *def, char *filter, FileProc proc,
@@ -196,6 +206,14 @@ void LoadOptionsPopUp P((DialogClass parent));
 void GameListOptionsPopUp P((DialogClass parent));
 void RefreshColor P((int source, int n));
 void SendString P((char *p));
+void DisplayHelp P((char *name));
+void WidgetEcho P((Option *opt, int n));
+int  ErrorOK P((int n));
+void ApplyFont P((Option *opt, char *font));
+void LockBoardSize P((int after));
+void Preview P((int n, char *s));
+void DrawPosition P((int fullRedraw, Board b));
+
 
 // in ngamelist.c
 int GameListClicks P((int direction));