1 /* ScummVM - Graphic Adventure Engine 2 * 3 * ScummVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the COPYRIGHT 5 * file distributed with this source distribution. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 */ 22 23 #ifndef GLOBAL_DIALOGS_H 24 #define GLOBAL_DIALOGS_H 25 26 #include "gui/dialog.h" 27 28 class Engine; 29 30 namespace GUI { 31 class ButtonWidget; 32 class CommandSender; 33 class GraphicsWidget; 34 class SaveLoadChooser; 35 } 36 37 class MainMenuDialog : public GUI::Dialog { 38 public: 39 enum { 40 kSaveCmd = 'SAVE', 41 kLoadCmd = 'LOAD', 42 kPlayCmd = 'PLAY', 43 kOptionsCmd = 'OPTN', 44 kHelpCmd = 'HELP', 45 kAboutCmd = 'ABOU', 46 kQuitCmd = 'QUIT', 47 kRTLCmd = 'RTL ', 48 kChooseCmd = 'CHOS' 49 }; 50 51 public: 52 MainMenuDialog(Engine *engine); 53 ~MainMenuDialog(); 54 55 virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data); 56 57 virtual void reflowLayout(); 58 59 protected: 60 void save(); 61 void load(); 62 63 protected: 64 Engine *_engine; 65 66 GUI::GraphicsWidget *_logo; 67 68 GUI::ButtonWidget *_rtlButton; 69 GUI::ButtonWidget *_loadButton; 70 GUI::ButtonWidget *_saveButton; 71 GUI::ButtonWidget *_helpButton; 72 73 GUI::Dialog *_aboutDialog; 74 GUI::Dialog *_optionsDialog; 75 76 GUI::SaveLoadChooser *_loadDialog; 77 GUI::SaveLoadChooser *_saveDialog; 78 }; 79 80 #endif 81