|
Odamex
Setting the Standard in Multiplayer Doom
|
00001 // Emacs style mode select -*- C++ -*- 00002 //----------------------------------------------------------------------------- 00003 // 00004 // $Id: agol_solo.h 2163 2011-05-07 19:44:07Z hypereye $ 00005 // 00006 // Copyright (C) 2006-2010 by The Odamex Team. 00007 // 00008 // This program is free software; you can redistribute it and/or 00009 // modify it under the terms of the GNU General Public License 00010 // as published by the Free Software Foundation; either version 2 00011 // of the License, or (at your option) any later version. 00012 // 00013 // This program is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 // GNU General Public License for more details. 00017 // 00018 // DESCRIPTION: 00019 // Solo Game 00020 // 00021 // AUTHORS: 00022 // Michael Wood (mwoodj at huntsvegas dot org) 00023 // 00024 //----------------------------------------------------------------------------- 00025 00026 #ifndef _AGOL_SOLO_H 00027 #define _AGOL_SOLO_H 00028 00029 #include "event_handler.h" 00030 00037 namespace agOdalaunch { 00038 00046 class AGOL_Solo : private ODA_EventRegister 00047 { 00048 public: 00052 AGOL_Solo(); 00053 00057 ~AGOL_Solo(); 00058 00066 void SetWindowCloseEvent(EventHandler *handler); 00067 00068 private: 00069 AG_Box *CreateWadListsBox(void *parent); 00070 AG_Box *CreateIwadBox(void *parent); 00071 AG_Tlist *CreateIwadList(void *parent); 00072 AG_Box *CreatePwadBox(void *parent); 00073 AG_Tlist *CreatePwadList(void *parent); 00074 AG_Box *CreateMainButtonBox(void *parent); 00075 00076 void PopulateWadLists(); 00077 bool WadIsIWAD(std::string wad); 00078 bool PwadIsFileType(std::string wad, std::string extension); 00079 bool PWadListContainsFileType(std::string extension); 00080 00081 void OnCancel(AG_Event *event); 00082 void OnLaunch(AG_Event *event); 00083 00084 // Interface Components 00085 AG_Window *SoloGameDialog; 00086 AG_Box *WadListsBox; 00087 AG_Box *IwadBox; 00088 AG_Tlist *IwadList; 00089 AG_Box *PwadBox; 00090 AG_Tlist *PwadList; 00091 AG_Box *MainButtonBox; 00092 00093 EventHandler *CloseEventHandler; 00094 }; 00095 00096 } // namespace 00097 00098 #endif