1 /*************************************************************************** 2 * Mechanized Assault and Exploration Reloaded Projectfile * 3 * * 4 * This program is free software; you can redistribute it and/or modify * 5 * it under the terms of the GNU General Public License as published by * 6 * the Free Software Foundation; either version 2 of the License, or * 7 * (at your option) any later version. * 8 * * 9 * This program is distributed in the hope that it will be useful, * 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 12 * GNU General Public License for more details. * 13 * * 14 * You should have received a copy of the GNU General Public License * 15 * along with this program; if not, write to the * 16 * Free Software Foundation, Inc., * 17 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 18 ***************************************************************************/ 19 20 #ifndef ui_graphical_menu_windows_windowgamesettings_windowgamesettingsH 21 #define ui_graphical_menu_windows_windowgamesettings_windowgamesettingsH 22 23 #include "ui/graphical/window.h" 24 #include "utility/signal/signalconnectionmanager.h" 25 #include "utility/signal/signal.h" 26 27 class cGameSettings; 28 29 class cCheckBox; 30 class cLineEdit; 31 class cLabel; 32 33 class cWindowGameSettings : public cWindow 34 { 35 public: 36 explicit cWindowGameSettings (bool forHotSeatGame = false); 37 ~cWindowGameSettings(); 38 39 void applySettings (const cGameSettings& gameSettings); 40 cGameSettings getGameSettings() const; 41 42 cSignal<void ()> done; 43 private: 44 cSignalConnectionManager signalConnectionManager; 45 46 bool forHotSeatGame; 47 48 cCheckBox* metalLimitedCheckBox; 49 cCheckBox* metalNormalCheckBox; 50 cCheckBox* metalHighCheckBox; 51 cCheckBox* metalTooMuchCheckBox; 52 53 cCheckBox* oilLimitedCheckBox; 54 cCheckBox* oilNormalCheckBox; 55 cCheckBox* oilHighCheckBox; 56 cCheckBox* oilTooMuchCheckBox; 57 58 cCheckBox* goldLimitedCheckBox; 59 cCheckBox* goldNormalCheckBox; 60 cCheckBox* goldHighCheckBox; 61 cCheckBox* goldTooMuchCheckBox; 62 63 cCheckBox* densitySparseCheckBox; 64 cCheckBox* densityNormalCheckBox; 65 cCheckBox* densityDenseCheckBox; 66 cCheckBox* densityTooMuchCheckBox; 67 68 cCheckBox* bridgeheadMobileCheckBox; 69 cCheckBox* bridgeheadDefiniteCheckBox; 70 71 cCheckBox* gameTypeTurnsCheckBox; 72 cCheckBox* gameTypeSimultaneousCheckBox; 73 74 cCheckBox* clansOnCheckBox; 75 cCheckBox* clansOffCheckBox; 76 77 cCheckBox* creditsNoneCheckBox; 78 cCheckBox* creditsLowCheckBox; 79 cCheckBox* creditsLimitedCheckBox; 80 cCheckBox* creditsNormalCheckBox; 81 cCheckBox* creditsHighCheckBox; 82 cCheckBox* creditsMoreCheckBox; 83 84 cCheckBox* victoryTurns0CheckBox; 85 cCheckBox* victoryTurns1CheckBox; 86 cCheckBox* victoryTurns2CheckBox; 87 88 cCheckBox* victoryPoints0CheckBox; 89 cCheckBox* victoryPoints1CheckBox; 90 cCheckBox* victoryPoints2CheckBox; 91 92 cCheckBox* victoryNoLimitCheckBox; 93 94 cCheckBox* turnLimitNoLimitCheckBox; 95 cCheckBox* turnLimit0CheckBox; 96 cCheckBox* turnLimit1CheckBox; 97 cCheckBox* turnLimit2CheckBox; 98 cCheckBox* turnLimit3CheckBox; 99 cCheckBox* turnLimit4CheckBox; 100 cCheckBox* turnLimit5CheckBox; 101 cCheckBox* turnLimitCustomCheckBox; 102 cLineEdit* turnLimitCustomLineEdit; 103 104 cCheckBox* turnEndTurnDeadlineNoLimitCheckBox; 105 cCheckBox* turnEndTurnDeadline0CheckBox; 106 cCheckBox* turnEndTurnDeadline1CheckBox; 107 cCheckBox* turnEndTurnDeadline2CheckBox; 108 cCheckBox* turnEndTurnDeadline3CheckBox; 109 cCheckBox* turnEndTurnDeadline4CheckBox; 110 cCheckBox* turnEndTurnDeadline5CheckBox; 111 cCheckBox* turnEndTurnDeadlineCustomCheckBox; 112 cLineEdit* turnEndTurnDeadlineLineEdit; 113 cLabel* turnEndDeadlineLabel; 114 cLabel* turnEndDeadlineSecondsLabel; 115 116 void okClicked(); 117 void backClicked(); 118 119 void disableTurnEndDeadlineOptions(); 120 void enableTurnEndDeadlineOptions(); 121 }; 122 123 #endif // ui_graphical_menu_windows_windowgamesettings_windowgamesettingsH 124