2012-05-22 19:40:42 +00:00
|
|
|
#ifndef MWGUI_SETTINGS_H
|
|
|
|
#define MWGUI_SETTINGS_H
|
|
|
|
|
2013-04-10 04:32:05 +00:00
|
|
|
#include "windowbase.hpp"
|
2012-05-22 19:40:42 +00:00
|
|
|
|
|
|
|
namespace MWGui
|
|
|
|
{
|
|
|
|
class WindowManager;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace MWGui
|
|
|
|
{
|
|
|
|
class SettingsWindow : public WindowBase
|
|
|
|
{
|
|
|
|
public:
|
2013-04-10 18:46:21 +00:00
|
|
|
SettingsWindow();
|
2012-05-22 19:40:42 +00:00
|
|
|
|
2012-08-12 23:26:15 +00:00
|
|
|
virtual void open();
|
|
|
|
|
2014-05-27 03:13:37 +00:00
|
|
|
virtual void exit();
|
|
|
|
|
2012-08-12 23:26:15 +00:00
|
|
|
void updateControlsBox();
|
|
|
|
|
2014-03-22 18:02:14 +00:00
|
|
|
protected:
|
2012-05-22 19:40:42 +00:00
|
|
|
MyGUI::Button* mOkButton;
|
2012-05-24 09:50:48 +00:00
|
|
|
|
|
|
|
// graphics
|
2012-05-22 23:32:36 +00:00
|
|
|
MyGUI::ListBox* mResolutionList;
|
2012-05-23 03:28:25 +00:00
|
|
|
MyGUI::Button* mFullscreenButton;
|
2012-05-24 09:50:48 +00:00
|
|
|
MyGUI::Button* mVSyncButton;
|
|
|
|
MyGUI::Button* mFPSButton;
|
2012-05-29 02:54:54 +00:00
|
|
|
MyGUI::ScrollBar* mFOVSlider;
|
2014-07-20 14:22:52 +00:00
|
|
|
MyGUI::ScrollBar* mDifficultySlider;
|
2012-05-29 02:54:54 +00:00
|
|
|
MyGUI::ScrollBar* mAnisotropySlider;
|
2013-11-05 18:50:24 +00:00
|
|
|
MyGUI::ComboBox* mTextureFilteringButton;
|
2012-05-29 02:54:54 +00:00
|
|
|
MyGUI::TextBox* mAnisotropyLabel;
|
|
|
|
MyGUI::Widget* mAnisotropyBox;
|
2012-07-11 01:19:51 +00:00
|
|
|
MyGUI::Button* mShadersButton;
|
2013-01-12 05:36:48 +00:00
|
|
|
MyGUI::Button* mShaderModeButton;
|
2013-02-05 13:29:46 +00:00
|
|
|
MyGUI::Button* mRefractionButton;
|
2012-05-22 19:40:42 +00:00
|
|
|
|
2012-07-11 02:28:45 +00:00
|
|
|
MyGUI::Button* mShadowsEnabledButton;
|
2013-11-05 18:50:24 +00:00
|
|
|
MyGUI::ComboBox* mShadowsTextureSize;
|
2012-05-24 02:34:53 +00:00
|
|
|
|
2012-08-12 23:26:15 +00:00
|
|
|
// controls
|
|
|
|
MyGUI::ScrollView* mControlsBox;
|
2012-08-13 00:55:22 +00:00
|
|
|
MyGUI::Button* mResetControlsButton;
|
2012-08-12 23:26:15 +00:00
|
|
|
|
2012-05-22 19:40:42 +00:00
|
|
|
void onOkButtonClicked(MyGUI::Widget* _sender);
|
2012-05-24 09:50:48 +00:00
|
|
|
void onFpsToggled(MyGUI::Widget* _sender);
|
2013-11-05 18:50:24 +00:00
|
|
|
void onTextureFilteringChanged(MyGUI::ComboBox* _sender, size_t pos);
|
2012-05-22 23:32:36 +00:00
|
|
|
void onSliderChangePosition(MyGUI::ScrollBar* scroller, size_t pos);
|
2012-05-23 03:28:25 +00:00
|
|
|
void onButtonToggled(MyGUI::Widget* _sender);
|
|
|
|
void onResolutionSelected(MyGUI::ListBox* _sender, size_t index);
|
|
|
|
void onResolutionAccept();
|
2012-05-28 10:34:29 +00:00
|
|
|
void onResolutionCancel();
|
2012-05-24 02:34:53 +00:00
|
|
|
|
2013-01-12 05:36:48 +00:00
|
|
|
void onShaderModeToggled(MyGUI::Widget* _sender);
|
2013-11-05 18:50:24 +00:00
|
|
|
void onShadowTextureSizeChanged(MyGUI::ComboBox* _sender, size_t pos);
|
2012-07-11 01:19:51 +00:00
|
|
|
|
2012-08-12 23:26:15 +00:00
|
|
|
void onRebindAction(MyGUI::Widget* _sender);
|
2012-08-13 00:55:22 +00:00
|
|
|
void onInputTabMouseWheel(MyGUI::Widget* _sender, int _rel);
|
|
|
|
void onResetDefaultBindings(MyGUI::Widget* _sender);
|
|
|
|
void onResetDefaultBindingsAccept ();
|
2012-08-12 23:26:15 +00:00
|
|
|
|
2012-05-24 02:34:53 +00:00
|
|
|
void apply();
|
2014-03-22 18:02:14 +00:00
|
|
|
|
|
|
|
void configureWidgets(MyGUI::Widget* widget);
|
2012-05-22 19:40:42 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|