00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(__INCLUDE_SettingsSubSelectDialogh_INCLUDE__)
00022 #define __INCLUDE_SettingsSubSelectDialogh_INCLUDE__
00023
00024 #include <GLW/GLWWindow.h>
00025 #include <GLW/GLWTextButton.h>
00026 #include <GLW/GLWCheckBox.h>
00027 #include <GLW/GLWOptionEntry.h>
00028 #include <GLW/GLWIconList.h>
00029 #include <GLW/GLWTab.h>
00030 #include <GLW/GLWIcon.h>
00031 #include <common/ToolTip.h>
00032 #include <common/OptionsGame.h>
00033
00034 class SettingsSubSelectDialogListItem : public GLWIconListItem
00035 {
00036 public:
00037 SettingsSubSelectDialogListItem(
00038 const char *icon,
00039 const char *name, const char *description,
00040 bool selected);
00041 virtual ~SettingsSubSelectDialogListItem();
00042
00043 const char *getName() { return name_.c_str(); }
00044 bool getSelected() { return selected_.getState(); }
00045 void setSelected(bool selected) { selected_.setState(selected); }
00046
00047
00048 virtual void draw(float x, float y, float w);
00049
00050 protected:
00051 std::string name_;
00052 GLWIcon icon_;
00053 GLWCheckBox selected_;
00054 ToolTip tip_;
00055 };
00056
00057 class SettingsSubSelectDialog :
00058 public GLWWindow,
00059 public GLWButtonI,
00060 public GLWIconListI
00061 {
00062 public:
00063 static SettingsSubSelectDialog *instance();
00064
00065
00066 virtual void buttonDown(unsigned int id);
00067
00068
00069 virtual void display();
00070
00071
00072 virtual void selected(unsigned int id, int position);
00073 virtual void chosen(unsigned int id, int position);
00074
00075 protected:
00076 static SettingsSubSelectDialog *instance_;
00077
00078 GLWTab *mainTab_, *ecoTab_;
00079 GLWTab *scoreTab_, *envTab_, *landTab_;
00080 GLWIconList *landList_;
00081 std::list<GLWOptionEntry> controls_;
00082 unsigned int cancelId_, okId_, advancedId_;
00083 unsigned int selectAllId_, selectNoneId_;
00084
00085 void displayLand();
00086
00087 private:
00088 SettingsSubSelectDialog();
00089 virtual ~SettingsSubSelectDialog();
00090
00091 };
00092
00093 #endif