MegaGlest/source/glest_game/menu/menu_state_options.h

119 lines
3.3 KiB
C++

// ==============================================================
// This file is part of Glest (www.glest.org)
//
// Copyright (C) 2001-2008 Martiño Figueroa
//
// You can redistribute this code and/or modify it under
// the terms of the GNU General Public License as published
// by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version
// ==============================================================
#ifndef _GLEST_GAME_MENUSTATEOPTIONS_H_
#define _GLEST_GAME_MENUSTATEOPTIONS_H_
#include "main_menu.h"
#include "leak_dumper.h"
namespace Glest{ namespace Game{
// ===============================
// class MenuStateOptions
// ===============================
class MenuStateOptions: public MenuState{
private:
GraphicButton buttonOk;
GraphicButton buttonReturn;
GraphicLabel labelLang;
GraphicListBox listBoxLang;
GraphicLabel labelPlayerName;
GraphicLabel labelPlayerNameLabel;
GraphicLabel *activeInputLabel;
GraphicButton buttonKeyboardSetup; // configure the keyboard
GraphicButton buttonVideoSection;
GraphicButton buttonAudioSection;
GraphicButton buttonMiscSection;
GraphicButton buttonNetworkSettings;
GraphicLabel labelFontSizeAdjustment;
GraphicListBox listFontSizeAdjustment;
GraphicMessageBox mainMessageBox;
int mainMessageBoxState;
GraphicLabel labelScreenShotType;
GraphicListBox listBoxScreenShotType;
GraphicLabel labelDisableScreenshotConsoleText;
GraphicCheckBox checkBoxDisableScreenshotConsoleText;
GraphicLabel labelMouseMoveScrollsWorld;
GraphicCheckBox checkBoxMouseMoveScrollsWorld;
GraphicLabel labelCameraMoveSpeed;
GraphicListBox listCameraMoveSpeed;
GraphicLabel labelVisibleHud;
GraphicCheckBox checkBoxVisibleHud;
GraphicLabel labelHealthBars;
GraphicListBox listBoxHealthBars;
GraphicLabel labelTimeDisplay;
GraphicCheckBox checkBoxTimeDisplay;
GraphicLabel labelChatStaysActive;
GraphicCheckBox checkBoxChatStaysActive;
GraphicLabel labelLuaDisableSecuritySandbox;
GraphicCheckBox checkBoxLuaDisableSecuritySandbox;
GraphicMessageBox luaMessageBox;
int luaMessageBoxState;
map<string,string> languageList;
GraphicLabel labelCustomTranslation;
GraphicCheckBox checkBoxCustomTranslation;
GraphicButton buttonGetNewLanguageFiles;
GraphicButton buttonDeleteNewLanguageFiles;
GraphicLabel labelTransifexUserLabel;
GraphicLabel labelTransifexUser;
GraphicLabel labelTransifexPwdLabel;
GraphicLabel labelTransifexPwd;
GraphicLabel labelTransifexI18NLabel;
GraphicLabel labelTransifexI18N;
ProgramState **parentUI;
public:
MenuStateOptions(Program *program, MainMenu *mainMenu, ProgramState **parentUI=NULL);
virtual ~MenuStateOptions();
void mouseClick(int x, int y, MouseButton mouseButton);
void mouseDoubleClick(int x, int y, MouseButton mouseButton){};
void mouseMove(int x, int y, const MouseState *mouseState);
void render();
virtual bool textInput(std::string text);
virtual void keyDown(SDL_KeyboardEvent key);
virtual void keyPress(SDL_KeyboardEvent c);
virtual bool isInSpecialKeyCaptureEvent();
virtual void reloadUI();
private:
void saveConfig();
void setActiveInputLable(GraphicLabel* newLable);
void showMessageBox(const string &text, const string &header, bool toggle);
void showLuaMessageBox(const string &text, const string &header, bool toggle);
void setupTransifexUI();
};
}}//end namespace
#endif