1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-05 06:40:09 +00:00
OpenMW/apps/openmw/mwgui/settingswindow.hpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

121 lines
4.1 KiB
C++
Raw Normal View History

#ifndef MWGUI_SETTINGS_H
#define MWGUI_SETTINGS_H
#include <components/lua_ui/adapter.hpp>
#include "windowbase.hpp"
namespace MWGui
{
class SettingsWindow : public WindowBase
{
public:
SettingsWindow();
void onOpen() override;
2012-08-13 01:26:15 +02:00
void updateControlsBox();
void updateLightSettings();
void updateVSyncModeSettings();
void updateWindowModeSettings();
void onResChange(int, int) override;
2017-09-23 22:07:30 +02:00
2014-03-22 19:02:14 +01:00
protected:
MyGUI::TabControl* mSettingsTab;
MyGUI::Button* mOkButton;
2022-09-22 21:26:05 +03:00
// graphics
2012-05-23 01:32:36 +02:00
MyGUI::ListBox* mResolutionList;
MyGUI::ComboBox* mWindowModeList;
MyGUI::ComboBox* mVSyncModeList;
MyGUI::Button* mWindowBorderButton;
MyGUI::ComboBox* mTextureFilteringButton;
2022-09-22 21:26:05 +03:00
MyGUI::ComboBox* mWaterTextureSize;
MyGUI::ComboBox* mWaterReflectionDetail;
MyGUI::ComboBox* mWaterRainRippleDetail;
2022-09-22 21:26:05 +03:00
MyGUI::ComboBox* mMaxLights;
MyGUI::ComboBox* mLightingMethodButton;
2021-04-03 22:25:13 -07:00
MyGUI::Button* mLightsResetButton;
2022-09-22 21:26:05 +03:00
MyGUI::ComboBox* mPrimaryLanguage;
MyGUI::ComboBox* mSecondaryLanguage;
2023-06-13 09:48:40 +02:00
MyGUI::Button* mGmstOverridesL10n;
2022-09-22 21:26:05 +03:00
MyGUI::Widget* mWindowModeHint;
2012-08-13 01:26:15 +02:00
// controls
MyGUI::ScrollView* mControlsBox;
MyGUI::Button* mResetControlsButton;
2014-12-08 21:57:32 -06:00
MyGUI::Button* mKeyboardSwitch;
MyGUI::Button* mControllerSwitch;
bool mKeyboardMode; // if true, setting up the keyboard. Otherwise, it's controller
2022-09-22 21:26:05 +03:00
2022-01-25 21:53:00 +01:00
MyGUI::EditBox* mScriptFilter;
MyGUI::ListBox* mScriptList;
MyGUI::Widget* mScriptBox;
2022-07-30 08:07:24 +00:00
MyGUI::Widget* mScriptDisabled;
MyGUI::ScrollView* mScriptView;
LuaUi::LuaAdapter* mScriptAdapter;
int mCurrentPage;
2022-09-22 21:26:05 +03:00
void onTabChanged(MyGUI::TabControl* _sender, size_t index);
void onOkButtonClicked(MyGUI::Widget* _sender);
void onTextureFilteringChanged(MyGUI::ComboBox* _sender, size_t pos);
2012-05-23 01:32:36 +02:00
void onSliderChangePosition(MyGUI::ScrollBar* scroller, size_t pos);
2012-05-23 05:28:25 +02:00
void onButtonToggled(MyGUI::Widget* _sender);
void onResolutionSelected(MyGUI::ListBox* _sender, size_t index);
void onResolutionAccept();
2012-05-28 12:34:29 +02:00
void onResolutionCancel();
void highlightCurrentResolution();
2022-09-22 21:26:05 +03:00
void onWaterTextureSizeChanged(MyGUI::ComboBox* _sender, size_t pos);
void onWaterReflectionDetailChanged(MyGUI::ComboBox* _sender, size_t pos);
void onWaterRainRippleDetailChanged(MyGUI::ComboBox* _sender, size_t pos);
2022-09-22 21:26:05 +03:00
void onLightingMethodButtonChanged(MyGUI::ComboBox* _sender, size_t pos);
2021-04-03 22:25:13 -07:00
void onLightsResetButtonClicked(MyGUI::Widget* _sender);
void onMaxLightsChanged(MyGUI::ComboBox* _sender, size_t pos);
2022-09-22 21:26:05 +03:00
void onPrimaryLanguageChanged(MyGUI::ComboBox* _sender, size_t pos) { onLanguageChanged(0, _sender, pos); }
void onSecondaryLanguageChanged(MyGUI::ComboBox* _sender, size_t pos) { onLanguageChanged(1, _sender, pos); }
void onLanguageChanged(size_t langPriority, MyGUI::ComboBox* _sender, size_t pos);
2023-06-13 09:48:40 +02:00
void onGmstOverridesL10nChanged(MyGUI::Widget* _sender);
2022-09-22 21:26:05 +03:00
void onWindowModeChanged(MyGUI::ComboBox* _sender, size_t pos);
void onVSyncModeChanged(MyGUI::ComboBox* _sender, size_t pos);
2022-09-22 21:26:05 +03:00
2012-08-13 01:26:15 +02:00
void onRebindAction(MyGUI::Widget* _sender);
void onInputTabMouseWheel(MyGUI::Widget* _sender, int _rel);
void onResetDefaultBindings(MyGUI::Widget* _sender);
void onResetDefaultBindingsAccept();
2014-12-08 21:57:32 -06:00
void onKeyboardSwitchClicked(MyGUI::Widget* _sender);
void onControllerSwitchClicked(MyGUI::Widget* _sender);
2022-09-22 21:26:05 +03:00
void onWindowResize(MyGUI::Window* _sender);
2022-09-22 21:26:05 +03:00
2022-01-28 21:45:13 +01:00
void onScriptFilterChange(MyGUI::EditBox*);
void onScriptListSelection(MyGUI::ListBox*, size_t index);
2022-09-22 21:26:05 +03:00
2012-05-24 04:34:53 +02:00
void apply();
2022-09-22 21:26:05 +03:00
2021-04-03 22:25:13 -07:00
void configureWidgets(MyGUI::Widget* widget, bool init);
void updateSliderLabel(MyGUI::ScrollBar* scroller, const std::string& value);
2022-09-22 21:26:05 +03:00
void layoutControlsBox();
2022-01-25 21:53:00 +01:00
void renderScriptSettings();
2022-09-22 21:26:05 +03:00
void computeMinimumWindowSize();
2022-09-22 21:26:05 +03:00
private:
void resetScrollbars();
};
}
#endif