/*
* dialogs.h -- shared variables for generic dialog popup of XBoard
*
- * Copyright 2000, 2009, 2010, 2011, 2012 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
#define NO_OK (1 << 1)
#define NO_CANCEL (1 << 2)
+#define REPLACE (1 << 16)
+
#define MODAL 1
#define NONMODAL 0
#define W_WHITE 12
#define W_BLACK 13
#define W_SMALL 15 // title in small layout
-#define W_MESSG 16
+#define W_MESSG 16
#define W_BUTTON 17 // button bar
#define W_PAUSE 20
#define W_BOARD 24
#define W_MENUW 25
#define W_MENUB 26
#define W_DROP 27 // drop (popup) menu
-
+
typedef enum { // identifier of dialogs done by GenericPopup
TransientDlg=0, // transient: grabs mouse events and is destroyed at pop-down (so other dialog can use this ID next time)
CommentDlg, TagsDlg, TextMenuDlg, InputBoxDlg, ChatDlg, DummyDlg, HistoryDlg, // persistent: no grab and reused
FatalDlg,
BoardWindow,
BrowserDlg,
+MasterDlg,
NrOfDialogs // dummy for total
} DialogClass;
extern ButtonCallback *comboCallback;
extern void *userLogo;
-extern WindowPlacement wpComment, wpTags, wpMoveHistory, wpMain;
+extern WindowPlacement wpComment, wpTags, wpMoveHistory, wpMain, wpDualBoard, wpConsole;
extern char *marked[];
extern Boolean shellUp[];
extern Option textOptions[], typeOptions[], dualOptions[], mainOptions[];
+void GetPlacement P((DialogClass dlg, WindowPlacement *wp));
int DialogExists P((DialogClass n));
int GenericPopUp P((Option *option, char *title, DialogClass dlgNr, DialogClass parent, int modal, int topLevel));
int GenericReadout P((Option *currentOption, int selected));
int PopDown P((DialogClass n));
void MarkMenu P((char *item, int dlgNr));
int AppendText P((Option *opt, char *s));
+void AppendColorized P((Option *opt, char *s, int count));
+void Show P((Option *opt, int hide));
+int IcsHist P((int dir, Option *opt, DialogClass dlg));
+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));
void HighlightWithScroll P((Option *opt, int sel, int max));
+void ScrollToCursor P((Option *opt, int pos));
int SelectedListBoxItem P((Option *opt));
void BoardFocus P((void));
void FocusOnWidget P((Option *opt, DialogClass dlg));
void SetIconName P((DialogClass dlg, char *name));
int ReadScroll P((Option *opt, float *top, float *bottom));
void SetScroll P((Option *opt, float f));
-void AddHandler P((Option *opt, int nr));
+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));
+ Boolean pathFlag, char *mode, char **name, FILE **fp));
+void FileNamePopUpWrapper P((char *label, char *def, char *filter, FileProc proc,
+ Boolean pathFlag, char *openMode, char **openName, FILE **openFP));
void InitDrawingParams P((int reload)); // in draw.c
void InitDrawingHandle P((Option *opt));
void SetWindowTitle P((char *text, char *title, char *icon));
void SetupDropMenu P((void));
Option *BoardPopUp P((int squareSize, int lineGap, void *clockFontThingy));
+void SlaveResize P((Option *opt));
int SetCurrentComboSelection P((Option *opt));
void BoxAutoPopUp P((char *buf));
+void ConsoleAutoPopUp P((char *buf));
void IcsKey P((int n));
void ICSInputBoxPopUp P((void));
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));
+
// in ngamelist.c
int GameListClicks P((int direction));
void SetFilter P((void));
-
-