Odamex
Setting the Standard in Multiplayer Doom
ag-odalaunch/src/agol_solo.h
Go to the documentation of this file.
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
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends