#include "lists.h"
#include "frontend.h"
+extern char *wbOptions;
extern int gotPremove;
extern GameMode gameMode;
extern int matchMode;
extern int wrap P((char *dest, char *src, int count, int width, int *lp));
int Explode P((Board board, int fromX, int fromY, int toX, int toY));
-typedef enum { CheckBox, ComboBox, TextBox, Button, Spin, ResetButton, SaveButton,
- FileName, PathName, Slider, Message, Fractional, Label, Break, EndMark } Control;
-
-/* Flags Option.min used for ComboBox: */
-#define COMBO_CALLBACK (1 << 0)
-#define NO_GETTEXT (1 << 1)
-
-/* Flags for Option.min used for Button, SaveButton, EndMark: */
-#define SAME_ROW (1 << 0)
-#define NO_OK (1 << 1)
+typedef enum { CheckBox, ComboBox, TextBox, Button, Spin, ResetButton, SaveButton, ListBox, Graph, PopUp,
+ FileName, PathName, Slider, Message, Fractional, Label, BoxBegin, BoxEnd, DropDown, Break, EndMark } Control;
typedef struct _OPT { // [HGM] options: descriptor of UCI-style option
int value; // current setting, starts as default
char *textValue; // points to beginning of text value in name field
char **choice; // points to array of combo choices in cps->combo
Control type;
- char name[MSG_SIZ]; // holds both option name and text value
+ char *name; // holds both option name and text value (in allocated memory)
} Option;
typedef struct _CPS {
int sendName; /* 0=don't use "name" command; 1=do */
int sdKludge; /* 0=use "sd DEPTH" command; 1=use "depth\nDEPTH" */
int stKludge; /* 0=use "st TIME" command; 1=use "level 1 TIME" */
+ int excludeMoves;/* 0=don't use "exclude" command; 1=do */
char tidy[MSG_SIZ];
int matchWins;
char variants[MSG_SIZ];
extern int opponentKibitzes; // used by wengineo.c
extern int errorExitStatus;
extern char *recentEngines;
+extern char *comboLine;
+extern Boolean partnerUp, twoBoards;
void SettingsPopUp P((ChessProgramState *cps)); // [HGM] really in front-end, but CPS not known in frontend.h
int WaitForEngine P((ChessProgramState *cps, DelayedEventCallback x));
void Load P((ChessProgramState *cps, int n));