mirror of
https://github.com/glest/glest-source.git
synced 2025-02-25 04:02:30 +01:00
125 lines
3.8 KiB
C++
125 lines
3.8 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 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
|