1 ////////////////////////////////////////////////////////////////////////////////
2 // Scorched3D (c) 2000-2009
4 // This file is part of Scorched3D.
6 // Scorched3D is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 2 of the License, or
9 // (at your option) any later version.
11 // Scorched3D is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with Scorched3D; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 ////////////////////////////////////////////////////////////////////////////////
21 #if !defined(__INCLUDE_SettingsSubSelectDialogh_INCLUDE__)
22 #define __INCLUDE_SettingsSubSelectDialogh_INCLUDE__
24 #include <GLW/GLWWindow.h>
25 #include <GLW/GLWTextButton.h>
26 #include <GLW/GLWCheckBox.h>
27 #include <GLW/GLWOptionEntry.h>
28 #include <GLW/GLWIconList.h>
29 #include <GLW/GLWTab.h>
30 #include <GLW/GLWIcon.h>
31 #include <common/ToolTip.h>
32 #include <common/OptionsGame.h>
34 class SettingsSubSelectDialogListItem
: public GLWIconListItem
37 SettingsSubSelectDialogListItem(
39 const char *name
, const char *description
,
41 virtual ~SettingsSubSelectDialogListItem();
43 const char *getName() { return name_
.c_str(); }
44 bool getSelected() { return selected_
.getState(); }
45 void setSelected(bool selected
) { selected_
.setState(selected
); }
48 virtual void draw(float x
, float y
, float w
);
53 GLWCheckBox selected_
;
57 class SettingsSubSelectDialog
:
63 static SettingsSubSelectDialog
*instance();
66 virtual void buttonDown(unsigned int id
);
69 virtual void display();
72 virtual void selected(unsigned int id
, int position
);
73 virtual void chosen(unsigned int id
, int position
);
76 static SettingsSubSelectDialog
*instance_
;
78 GLWTab
*mainTab_
, *ecoTab_
;
79 GLWTab
*scoreTab_
, *envTab_
, *landTab_
;
80 GLWIconList
*landList_
;
81 std::list
<GLWOptionEntry
> controls_
;
82 unsigned int cancelId_
, okId_
, advancedId_
;
83 unsigned int selectAllId_
, selectNoneId_
;
88 SettingsSubSelectDialog();
89 virtual ~SettingsSubSelectDialog();