Switch back two two-part menu names
[xboard.git] / menus.h
1 /*
2  * menus.h -- platform-indendent menu handling code for XBoard
3  *
4  * Copyright 1991 by Digital Equipment Corporation, Maynard,
5  * Massachusetts.
6  *
7  * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
8  * 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
9  *
10  * The following terms apply to Digital Equipment Corporation's copyright
11  * interest in XBoard:
12  * ------------------------------------------------------------------------
13  * All Rights Reserved
14  *
15  * Permission to use, copy, modify, and distribute this software and its
16  * documentation for any purpose and without fee is hereby granted,
17  * provided that the above copyright notice appear in all copies and that
18  * both that copyright notice and this permission notice appear in
19  * supporting documentation, and that the name of Digital not be
20  * used in advertising or publicity pertaining to distribution of the
21  * software without specific, written prior permission.
22  *
23  * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
24  * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
25  * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
26  * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
27  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
28  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
29  * SOFTWARE.
30  * ------------------------------------------------------------------------
31  *
32  * The following terms apply to the enhanced version of XBoard
33  * distributed by the Free Software Foundation:
34  * ------------------------------------------------------------------------
35  *
36  * GNU XBoard is free software: you can redistribute it and/or modify
37  * it under the terms of the GNU General Public License as published by
38  * the Free Software Foundation, either version 3 of the License, or (at
39  * your option) any later version.
40  *
41  * GNU XBoard is distributed in the hope that it will be useful, but
42  * WITHOUT ANY WARRANTY; without even the implied warranty of
43  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
44  * General Public License for more details.
45  *
46  * You should have received a copy of the GNU General Public License
47  * along with this program. If not, see http://www.gnu.org/licenses/.  *
48  *
49  *------------------------------------------------------------------------
50  ** See the file ChangeLog for a revision history.  */
51
52
53
54 typedef void MenuProc P((void));
55
56 typedef struct {
57     String string;
58     String ref;
59     MenuProc *proc;
60     void *handle;
61 } MenuItem;
62
63 typedef struct {
64     String name;
65     String ref;
66     MenuItem *mi;
67 } Menu;
68
69 typedef struct {
70     char *name;
71     Boolean value;
72 } Enables;
73
74 extern Menu menuBar[];
75
76 void LoadGameProc P((void));
77 void LoadNextGameProc P((void));
78 void LoadPrevGameProc P((void));
79 void ReloadGameProc P((void));
80 void LoadPositionProc P((void));
81 void LoadNextPositionProc P((void));
82 void LoadPrevPositionProc P((void));
83 void ReloadPositionProc P((void));
84 void CopyPositionProc P((void));
85 void PastePositionProc P((void));
86 void CopyGameProc P((void));
87 void CopyGameListProc P((void));
88 void PasteGameProc P((void));
89 void SaveGameProc P((void));
90 void SavePositionProc P((void));
91 void ReloadCmailMsgProc P((void));
92 void QuitProc P((void));
93 void AnalyzeModeProc P((void));
94 void AnalyzeFileProc P((void));
95 void MatchProc P((void));
96 void MatchOptionsProc P((void));
97 void EditCommentProc P((void));
98 void IcsInputBoxProc P((void));
99 void AdjuWhiteProc P((void));
100 void AdjuBlackProc P((void));
101 void AdjuDrawProc P((void));
102 void RevertProc P((void));
103 void AnnotateProc P((void));
104 void AlwaysQueenProc P((void));
105 void AnimateDraggingProc P((void));
106 void AnimateMovingProc P((void));
107 void AutoflagProc P((void));
108 void AutoflipProc P((void));
109 void BlindfoldProc P((void));
110 void FlashMovesProc P((void));
111 void FlipViewProc P((void));
112 void HighlightDraggingProc P((void));
113 void HighlightLastMoveProc P((void));
114 void HighlightArrowProc P((void));
115 void MoveSoundProc P((void));
116 //void IcsAlarmProc P((void));
117 void OneClickProc P((void));
118 void PeriodicUpdatesProc P((void));
119 void PonderNextMoveProc P((void));
120 void PopupMoveErrorsProc P((void));
121 void PopupExitMessageProc P((void));
122 //void PremoveProc P((void));
123 void ShowCoordsProc P((void));
124 void ShowThinkingProc P((void));
125 void HideThinkingProc P((void));
126 void TestLegalityProc P((void));
127 void SaveSettingsProc P((void));
128 void SaveOnExitProc P((void));
129 void InfoProc P((void));
130 void ManProc P((void));
131 void GuideProc P((void));
132 void HomePageProc P((void));
133 void NewsPageProc P((void));
134 void BugReportProc P((void));
135 void AboutGameProc P((void));
136 void AboutProc P((void));
137 void DebugProc P((void));
138 void NothingProc P((void));
139 void ShuffleMenuProc P((void));
140 void EngineMenuProc P((void));
141 void UciMenuProc P((void));
142 void TimeControlProc P((void));
143 void OptionsProc P((void));
144 void NewVariantProc P((void));
145 void IcsTextProc P((void));
146 void LoadEngineProc P((void));
147 void FirstSettingsProc P((void));
148 void SecondSettingsProc P((void));
149 void GameListOptionsProc P((void));
150 void IcsOptionsProc P((void));
151 void SoundOptionsProc P((void));
152 void BoardOptionsProc P((void));
153 void LoadOptionsProc P((void));
154 void SaveOptionsProc P((void));
155 void EditBookProc P((void));
156 void InitMenuMarkers P((void));
157 void ShowGameListProc P((void)); // in ngamelist.c
158
159
160 // must be moved to xengineoutput.h
161
162 void EngineOutputProc P((void));
163 void EvalGraphProc P((void));
164
165 void CreateMainMenus P((Menu *mb));
166 void AppendMenuItem P((char *text, char *name, MenuProc *action));
167 void CreateMenuButton P((char *name, Menu *mb));
168 MenuItem *MenuNameToItem P((char *menuName));
169 void SetMenuEnables P((Enables *enab));
170 void EnableButtonBar P((int state));
171 char *ModeToWidgetName P((GameMode mode));
172 int LoadGamePopUp P((FILE *f, int gameNumber, char *title));
173 void CreateAnimVars P((void));
174
175
176 extern char  *gameCopyFilename, *gamePasteFilename;
177 extern Boolean saveSettingsOnExit;
178 extern char *settingsFileName;
179
180
181
182 #define OPTIONSDIALOG
183 #define INFOFILE     "xboard.info"
184