Subversion Repositories Games.Chess Giants

Rev

Rev 57 | Rev 62 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 57 Rev 59
Line 38... Line 38...
38
   if (path[length] == ':')
38
   if (path[length] == ':')
39
      length++; // if it's a disk letter separator, keep it
39
      length++; // if it's a disk letter separator, keep it
40
 
40
 
41
   path[length] = 0; // terminate the string at this position
41
   path[length] = 0; // terminate the string at this position
42
   return (path); // and return a pointer to it
42
   return (path); // and return a pointer to it
-
 
43
}
-
 
44
 
-
 
45
 
-
 
46
void CreateOrUpdateApplicationMenu (void)
-
 
47
{
-
 
48
   // this function creates or re-creates the main application menu and its accelerator table
-
 
49
 
-
 
50
   HMENU hDropDownMenu;
-
 
51
   ACCEL accelerators[] =
-
 
52
   {
-
 
53
      {FVIRTKEY | FCONTROL, L'O',     MENUID_GAME_LOAD},
-
 
54
      {FVIRTKEY | FCONTROL, L'S',     MENUID_GAME_SAVE},
-
 
55
      {FVIRTKEY | FCONTROL, L'Z',     MENUID_CHESSBOARD_CANCELLASTMOVE},
-
 
56
      {FVIRTKEY,            VK_HOME,  MENUID_CHESSBOARD_BEGINNINGOFGAME},
-
 
57
      {FVIRTKEY,            VK_LEFT,  MENUID_CHESSBOARD_PREVIOUSMOVE},
-
 
58
      {FVIRTKEY,            VK_RIGHT, MENUID_CHESSBOARD_NEXTMOVE},
-
 
59
      {FVIRTKEY,            VK_END,   MENUID_CHESSBOARD_CURRENTSTATEOFGAME},
-
 
60
      {FVIRTKEY | FCONTROL, L'G',     MENUID_CHESSBOARD_GOTOMOVE},
-
 
61
      {FVIRTKEY,            VK_F1,    MENUID_HELP_HELP},
-
 
62
      {FVIRTKEY,            VK_F2,    MENUID_GAME_NEWGAME},
-
 
63
      {FVIRTKEY,            VK_F3,    MENUID_GAME_STATISTICS},
-
 
64
      {FVIRTKEY,            VK_F4,    MENUID_GAME_OPTIONS},
-
 
65
      {FVIRTKEY,            VK_F5,    MENUID_CHESSBOARD_TOPVIEW},
-
 
66
      {FVIRTKEY,            VK_F6,    MENUID_CHESSBOARD_DEFAULTVIEW},
-
 
67
      {FVIRTKEY,            VK_F7,    MENUID_CHESSBOARD_RESETVIEW},
-
 
68
      {FVIRTKEY,            VK_UP,    MENUID_CHESSBOARD_ZOOMIN},
-
 
69
      {FVIRTKEY,            VK_DOWN,  MENUID_CHESSBOARD_ZOOMOUT},
-
 
70
      {FVIRTKEY | FCONTROL, VK_DOWN,  MENUID_CHESSBOARD_DISPLAYWINDOWSDESKTOP},
-
 
71
      {FVIRTKEY,            VK_F8,    MENUID_CHESSBOARD_CHANGEAPPEARANCE},
-
 
72
      {FVIRTKEY,            VK_F9,    MENUID_INTERNET_SHOWONLINEPLAYERS},
-
 
73
      {FVIRTKEY,            VK_F10,   MENUID_INTERNET_SHOWSOUGHTGAMES},
-
 
74
   };
-
 
75
 
-
 
76
   // if needed, destroy the accelerators table and the application menu object
-
 
77
   if (hMainAccelerators)
-
 
78
      DestroyAcceleratorTable (hMainAccelerators);
-
 
79
   hMainAccelerators = NULL;
-
 
80
   if (IsMenu (hMainMenu))
-
 
81
      DestroyMenu (hMainMenu);
-
 
82
   hMainMenu = NULL;
-
 
83
 
-
 
84
   // now create the menu again
-
 
85
   hMainMenu = CreateMenu ();
-
 
86
   hDropDownMenu = CreateMenu (); // create the first drop-down item
-
 
87
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_GAME_NEWGAME, LOCALIZE (L"Menu_GameNewGame"));
-
 
88
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_GAME_LOAD, LOCALIZE (L"Menu_GameLoadGame"));
-
 
89
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_GAME_SETUPPOSITION, LOCALIZE (L"Menu_GameSetupPosition"));
-
 
90
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_GAME_SAVE, LOCALIZE (L"Menu_GameSaveGame")); // initially grayed
-
 
91
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_GAME_SAVEAS, LOCALIZE (L"Menu_GameSaveGameAs")); // initially grayed
-
 
92
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_GAME_SAVEPOSITIONAS, LOCALIZE (L"Menu_GameSavePositionAs")); // initially grayed
-
 
93
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_GAME_RESIGN, LOCALIZE (L"Menu_GameResign"));
-
 
94
   AppendMenu (hDropDownMenu, MF_SEPARATOR, 0, NULL);
-
 
95
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_GAME_STATISTICS, LOCALIZE (L"Menu_GameStatistics"));
-
 
96
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_GAME_OPTIONS, LOCALIZE (L"Menu_GameOptions"));
-
 
97
   AppendMenu (hDropDownMenu, MF_SEPARATOR, 0, NULL);
-
 
98
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_GAME_QUIT, LOCALIZE (L"Menu_GameQuit"));
-
 
99
   AppendMenu (hMainMenu, MF_POPUP, (UINT) hDropDownMenu, LOCALIZE (L"Menu_Game"));
-
 
100
   DestroyMenu (hDropDownMenu);
-
 
101
   hDropDownMenu = CreateMenu (); // create the second drop-down item
-
 
102
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_CHESSBOARD_SUGGESTMOVE, LOCALIZE (L"Menu_ChessboardSuggestMove")); // initially grayed
-
 
103
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_CHESSBOARD_CANCELLASTMOVE, LOCALIZE (L"Menu_ChessboardCancelLastMove")); // initially grayed
-
 
104
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_CHESSBOARD_COMMENTMOVE, LOCALIZE (L"Menu_ChessboardCommentMove")); // initially grayed
-
 
105
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_CHESSBOARD_GOTOMOVE, LOCALIZE (L"Menu_ChessboardGoToMove")); // initially grayed
-
 
106
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_CHESSBOARD_SWAPSIDES, LOCALIZE (L"Menu_ChessboardSwapSides")); // initially grayed
-
 
107
   AppendMenu (hDropDownMenu, MF_SEPARATOR, 0, NULL);
-
 
108
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_CHESSBOARD_TOPVIEW, LOCALIZE (L"Menu_ChessboardTopView"));
-
 
109
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_CHESSBOARD_DEFAULTVIEW, LOCALIZE (L"Menu_ChessboardDefaultView"));
-
 
110
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_CHESSBOARD_RESETVIEW, LOCALIZE (L"Menu_ChessboardResetView"));
-
 
111
   AppendMenu (hDropDownMenu, MF_SEPARATOR, 0, NULL);
-
 
112
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_CHESSBOARD_CHANGEAPPEARANCE, LOCALIZE (L"Menu_ChessboardChangeAppearance"));
-
 
113
   if (options.want_fullscreen)
-
 
114
   {
-
 
115
      AppendMenu (hDropDownMenu, MF_SEPARATOR, 0, NULL);
-
 
116
      AppendMenu (hDropDownMenu, MF_STRING, MENUID_CHESSBOARD_DISPLAYWINDOWSDESKTOP, LOCALIZE (L"Menu_ChessboardDisplayWindowsDesktop"));
-
 
117
   }
-
 
118
   AppendMenu (hMainMenu, MF_POPUP, (UINT) hDropDownMenu, LOCALIZE (L"Menu_Chessboard"));
-
 
119
   DestroyMenu (hDropDownMenu);
-
 
120
   hDropDownMenu = CreateMenu (); // create the third drop-down item
-
 
121
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_INTERNET_SHOWONLINEPLAYERS, LOCALIZE (L"Menu_InternetShowOnlinePlayers")); // initially grayed
-
 
122
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_INTERNET_SHOWSOUGHTGAMES, LOCALIZE (L"Menu_InternetShowSoughtGames")); // initially grayed
-
 
123
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_INTERNET_SEEKGAME, LOCALIZE (L"Menu_InternetSeekGame")); // initially grayed
-
 
124
   AppendMenu (hDropDownMenu, MF_SEPARATOR, 0, NULL);
-
 
125
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_INTERNET_CHATTERCHANNELS, LOCALIZE (L"Menu_InternetChatterChannels")); // initially grayed
-
 
126
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_INTERNET_ENTERCHATTEXT, LOCALIZE (L"Menu_InternetEnterChatText")); // initially grayed
-
 
127
   AppendMenu (hDropDownMenu, MF_SEPARATOR, 0, NULL);
-
 
128
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_INTERNET_DISPLAYPLAYERCARD, LOCALIZE (L"Menu_InternetDisplayPlayerCard")); // initially grayed
-
 
129
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_INTERNET_DISPLAYYOURCARD, LOCALIZE (L"Menu_InternetDisplayYourCard")); // initially grayed
-
 
130
   AppendMenu (hDropDownMenu, MF_SEPARATOR, 0, NULL);
-
 
131
   AppendMenu (hDropDownMenu, MF_STRING | MF_GRAYED, MENUID_INTERNET_MOTD, LOCALIZE (L"Menu_InternetDisplayMOTD")); // initially grayed
-
 
132
   AppendMenu (hMainMenu, MF_POPUP, (UINT) hDropDownMenu, LOCALIZE (L"Menu_Internet"));
-
 
133
   DestroyMenu (hDropDownMenu);
-
 
134
   hDropDownMenu = CreateMenu (); // create the fourth drop-down item
-
 
135
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_HELP_HELP, LOCALIZE (L"Menu_HelpDisplayHelp"));
-
 
136
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_HELP_GETCHESSGAMES, LOCALIZE (L"Menu_HelpGetChessGames"));
-
 
137
   AppendMenu (hDropDownMenu, MF_SEPARATOR, 0, NULL);
-
 
138
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_HELP_ADDMODIFYVISUALTHEMES, LOCALIZE (L"Menu_HelpAddModifyThemes"));
-
 
139
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_HELP_ADDMODIFYENGINES, LOCALIZE (L"Menu_HelpAddModifyEngines"));
-
 
140
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_HELP_ADDMODIFYTRANSLATIONS, LOCALIZE (L"Menu_HelpAddModifyTranslations"));
-
 
141
   AppendMenu (hDropDownMenu, MF_SEPARATOR, 0, NULL);
-
 
142
   AppendMenu (hDropDownMenu, MF_STRING, MENUID_HELP_ABOUT, LOCALIZE (L"Menu_HelpAbout"));
-
 
143
   AppendMenu (hMainMenu, MF_POPUP, (UINT) hDropDownMenu, LOCALIZE (L"Menu_Help"));
-
 
144
   DestroyMenu (hDropDownMenu);
-
 
145
 
-
 
146
   // finally, set this menu to be the app's menu
-
 
147
   SetMenu (hMainWnd, hMainMenu);
-
 
148
 
-
 
149
   // (re-)create the accelerators
-
 
150
   hMainAccelerators = CreateAcceleratorTable (accelerators, sizeof (accelerators) / sizeof (ACCEL));
-
 
151
 
-
 
152
   return; // finished, application menu is (re)created
43
}
153
}
44
 
154
 
45
 
155
 
46
void CenterWindow (HWND hWnd, HWND hParentWnd)
156
void CenterWindow (HWND hWnd, HWND hParentWnd)
47
{
157
{