OpenMW
|
00001 #ifndef MWGUI_SETTINGS_H 00002 #define MWGUI_SETTINGS_H 00003 00004 #include "windowbase.hpp" 00005 00006 namespace MWGui 00007 { 00008 class WindowManager; 00009 } 00010 00011 namespace MWGui 00012 { 00013 class SettingsWindow : public WindowBase 00014 { 00015 public: 00016 SettingsWindow(); 00017 00018 virtual void open(); 00019 00020 void updateControlsBox(); 00021 00022 private: 00023 static int const sFovMin = 30; 00024 static int const sFovMax = 140; 00025 static int const sViewDistMin = 2000; 00026 static int const sViewDistMax = 5600; 00027 00028 protected: 00029 MyGUI::Button* mOkButton; 00030 00031 MyGUI::ScrollBar* mMenuTransparencySlider; 00032 MyGUI::ScrollBar* mToolTipDelaySlider; 00033 MyGUI::Button* mSubtitlesButton; 00034 MyGUI::Button* mCrosshairButton; 00035 MyGUI::Button* mBestAttackButton; 00036 MyGUI::Button* mGrabCursorButton; 00037 00038 // graphics 00039 MyGUI::ListBox* mResolutionList; 00040 MyGUI::Button* mFullscreenButton; 00041 MyGUI::Button* mVSyncButton; 00042 MyGUI::Button* mFPSButton; 00043 MyGUI::ScrollBar* mViewDistanceSlider; 00044 MyGUI::ScrollBar* mFOVSlider; 00045 MyGUI::ScrollBar* mAnisotropySlider; 00046 MyGUI::ComboBox* mTextureFilteringButton; 00047 MyGUI::TextBox* mAnisotropyLabel; 00048 MyGUI::Widget* mAnisotropyBox; 00049 MyGUI::Button* mWaterShaderButton; 00050 MyGUI::Button* mReflectObjectsButton; 00051 MyGUI::Button* mReflectActorsButton; 00052 MyGUI::Button* mReflectTerrainButton; 00053 MyGUI::Button* mShadersButton; 00054 MyGUI::Button* mShaderModeButton; 00055 MyGUI::Button* mRefractionButton; 00056 00057 MyGUI::Button* mShadowsEnabledButton; 00058 MyGUI::Button* mShadowsLargeDistance; 00059 MyGUI::ComboBox* mShadowsTextureSize; 00060 MyGUI::Button* mActorShadows; 00061 MyGUI::Button* mStaticsShadows; 00062 MyGUI::Button* mMiscShadows; 00063 MyGUI::Button* mTerrainShadows; 00064 00065 // audio 00066 MyGUI::ScrollBar* mMasterVolumeSlider; 00067 MyGUI::ScrollBar* mVoiceVolumeSlider; 00068 MyGUI::ScrollBar* mEffectsVolumeSlider; 00069 MyGUI::ScrollBar* mFootstepsVolumeSlider; 00070 MyGUI::ScrollBar* mMusicVolumeSlider; 00071 00072 // controls 00073 MyGUI::ScrollView* mControlsBox; 00074 MyGUI::Button* mResetControlsButton; 00075 MyGUI::Button* mInvertYButton; 00076 MyGUI::ScrollBar* mCameraSensitivitySlider; 00077 00078 void onOkButtonClicked(MyGUI::Widget* _sender); 00079 void onFpsToggled(MyGUI::Widget* _sender); 00080 void onTextureFilteringChanged(MyGUI::ComboBox* _sender, size_t pos); 00081 void onSliderChangePosition(MyGUI::ScrollBar* scroller, size_t pos); 00082 void onButtonToggled(MyGUI::Widget* _sender); 00083 void onResolutionSelected(MyGUI::ListBox* _sender, size_t index); 00084 void onResolutionAccept(); 00085 void onResolutionCancel(); 00086 00087 void onShadersToggled(MyGUI::Widget* _sender); 00088 void onShaderModeToggled(MyGUI::Widget* _sender); 00089 void onShadowTextureSizeChanged(MyGUI::ComboBox* _sender, size_t pos); 00090 00091 void onRebindAction(MyGUI::Widget* _sender); 00092 void onInputTabMouseWheel(MyGUI::Widget* _sender, int _rel); 00093 void onResetDefaultBindings(MyGUI::Widget* _sender); 00094 void onResetDefaultBindingsAccept (); 00095 00096 void apply(); 00097 }; 00098 } 00099 00100 #endif