mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-14 01:19:59 +00:00
improve layout of postprocessor hud
This commit is contained in:
parent
29328867dc
commit
11845e7d9b
@ -59,7 +59,6 @@ namespace MWGui
|
||||
getWidget(mTabConfiguration, "TabConfiguration");
|
||||
getWidget(mActiveList, "ActiveList");
|
||||
getWidget(mInactiveList, "InactiveList");
|
||||
getWidget(mModeToggle, "ModeToggle");
|
||||
getWidget(mConfigLayout, "ConfigLayout");
|
||||
getWidget(mFilter, "Filter");
|
||||
getWidget(mButtonActivate, "ButtonActivate");
|
||||
@ -78,8 +77,6 @@ namespace MWGui
|
||||
mActiveList->eventListChangePosition += MyGUI::newDelegate(this, &PostProcessorHud::notifyListChangePosition);
|
||||
mInactiveList->eventListChangePosition += MyGUI::newDelegate(this, &PostProcessorHud::notifyListChangePosition);
|
||||
|
||||
mModeToggle->eventMouseButtonClick += MyGUI::newDelegate(this, &PostProcessorHud::notifyModeToggle);
|
||||
|
||||
mFilter->eventEditTextChange += MyGUI::newDelegate(this, &PostProcessorHud::notifyFilterChanged);
|
||||
|
||||
mMainWidget->castType<MyGUI::Window>()->eventWindowChangeCoord += MyGUI::newDelegate(this, &PostProcessorHud::notifyWindowResize);
|
||||
@ -91,10 +88,14 @@ namespace MWGui
|
||||
mShaderInfo->setEditReadOnly(true);
|
||||
mShaderInfo->setEditWordWrap(true);
|
||||
mShaderInfo->setEditMultiLine(true);
|
||||
mShaderInfo->setNeedMouseFocus(false);
|
||||
|
||||
mConfigLayout->setVisibleVScroll(true);
|
||||
|
||||
mConfigArea = mConfigLayout->createWidget<MyGUI::Widget>("", {}, MyGUI::Align::Default);
|
||||
|
||||
mConfigLayout->eventMouseWheel += MyGUI::newDelegate(this, &PostProcessorHud::notifyMouseWheel);
|
||||
mConfigArea->eventMouseWheel += MyGUI::newDelegate(this, &PostProcessorHud::notifyMouseWheel);
|
||||
}
|
||||
|
||||
void PostProcessorHud::notifyFilterChanged(MyGUI::EditBox* sender)
|
||||
@ -225,12 +226,6 @@ namespace MWGui
|
||||
}
|
||||
}
|
||||
|
||||
void PostProcessorHud::notifyModeToggle(MyGUI::Widget* sender)
|
||||
{
|
||||
Settings::ShaderManager::Mode prev = Settings::ShaderManager::get().getMode();
|
||||
toggleMode(prev == Settings::ShaderManager::Mode::Debug ? Settings::ShaderManager::Mode::Normal : Settings::ShaderManager::Mode::Debug);
|
||||
}
|
||||
|
||||
void PostProcessorHud::onOpen()
|
||||
{
|
||||
toggleMode(Settings::ShaderManager::Mode::Debug);
|
||||
@ -267,6 +262,15 @@ namespace MWGui
|
||||
mConfigLayout->setSize(mConfigLayout->getWidth(), mConfigLayout->getParentSize().height - padding2);
|
||||
}
|
||||
|
||||
void PostProcessorHud::notifyMouseWheel(MyGUI::Widget *sender, int rel)
|
||||
{
|
||||
int offset = mConfigLayout->getViewOffset().top + rel * 0.3;
|
||||
if (offset > 0)
|
||||
mConfigLayout->setViewOffset(MyGUI::IntPoint(0, 0));
|
||||
else
|
||||
mConfigLayout->setViewOffset(MyGUI::IntPoint(0, static_cast<int>(offset)));
|
||||
}
|
||||
|
||||
void PostProcessorHud::select(ListWrapper* list, size_t index)
|
||||
{
|
||||
list->setIndexSelected(index);
|
||||
@ -277,8 +281,6 @@ namespace MWGui
|
||||
{
|
||||
Settings::ShaderManager::get().setMode(mode);
|
||||
|
||||
mModeToggle->setCaptionWithReplacing(mode == Settings::ShaderManager::Mode::Debug ? "#{sOn}" :"#{sOff}");
|
||||
|
||||
MWBase::Environment::get().getWorld()->getPostProcessor()->toggleMode();
|
||||
|
||||
if (!isVisible())
|
||||
@ -353,6 +355,7 @@ namespace MWGui
|
||||
MyGUI::Button* resetButton = mConfigArea->createWidget<MyGUI::Button>("MW_Button", {0,0,0,24}, MyGUI::Align::Default);
|
||||
resetButton->setCaption("Reset all to default");
|
||||
resetButton->setTextAlign(MyGUI::Align::Center);
|
||||
resetButton->eventMouseWheel += MyGUI::newDelegate(this, &PostProcessorHud::notifyMouseWheel);
|
||||
resetButton->eventMouseButtonClick += MyGUI::newDelegate(this, &PostProcessorHud::notifyResetButtonClicked);
|
||||
}
|
||||
|
||||
@ -366,6 +369,7 @@ namespace MWGui
|
||||
|
||||
fx::Widgets::UniformBase* uwidget = mConfigArea->createWidget<fx::Widgets::UniformBase>("MW_UniformEdit", {0,0,0,22}, MyGUI::Align::Default);
|
||||
uwidget->init(uniform);
|
||||
uwidget->getLabel()->eventMouseWheel += MyGUI::newDelegate(this, &PostProcessorHud::notifyMouseWheel);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -52,8 +52,6 @@ namespace MWGui
|
||||
|
||||
void updateConfigView(const std::string& name);
|
||||
|
||||
void notifyModeToggle(MyGUI::Widget* sender);
|
||||
|
||||
void notifyResetButtonClicked(MyGUI::Widget* sender);
|
||||
|
||||
void notifyListChangePosition(MyGUI::ListBox* sender, size_t index);
|
||||
@ -68,6 +66,8 @@ namespace MWGui
|
||||
|
||||
void notifyShaderDownPressed(MyGUI::Widget* sender);
|
||||
|
||||
void notifyMouseWheel(MyGUI::Widget *sender, int rel);
|
||||
|
||||
enum class Direction
|
||||
{
|
||||
Up,
|
||||
@ -97,7 +97,6 @@ namespace MWGui
|
||||
MyGUI::Widget* mConfigArea;
|
||||
|
||||
MyGUI::EditBox* mFilter;
|
||||
Gui::AutoSizedButton* mModeToggle;
|
||||
Gui::AutoSizedEditBox* mShaderInfo;
|
||||
|
||||
std::string mOverrideHint;
|
||||
|
@ -249,6 +249,8 @@ namespace fx
|
||||
|
||||
void addItem(EditBase* item);
|
||||
|
||||
Gui::AutoSizedTextBox* getLabel() { return mLabel; }
|
||||
|
||||
private:
|
||||
|
||||
void notifyResetClicked(MyGUI::Widget* sender);
|
||||
|
@ -28,7 +28,7 @@
|
||||
<Property key="Padding" value="0"/>
|
||||
<Property key="Spacing" value="8"/>
|
||||
|
||||
<Widget type="Widget" position ="0 0 0 400">
|
||||
<Widget type="Widget" position ="0 0 0 300">
|
||||
<UserString key="HStretch" value="true"/>
|
||||
<UserString key="VStretch" value="false"/>
|
||||
|
||||
@ -103,31 +103,6 @@
|
||||
</Widget>
|
||||
</Widget>
|
||||
|
||||
<Widget type="Widget" position="0 0 230 28" align="Bottom Left">
|
||||
<UserString key="HStretch" value="false"/>
|
||||
<UserString key="VStretch" value="false"/>
|
||||
|
||||
<Widget type="HBox" position_real="0 0 1 1" align="Stretch">
|
||||
<UserString key="HStretch" value="true"/>
|
||||
<Property key="Spacing" value="4"/>
|
||||
|
||||
<Widget type="AutoSizedTextBox" skin="SandText">
|
||||
<UserString key="HStretch" value="true"/>
|
||||
<UserString key="VStretch" value="true"/>
|
||||
<Property key="Caption" value="Enable Config Mode"/>
|
||||
<Property key="TextAlign" value="Left VCenter"/>
|
||||
</Widget>
|
||||
|
||||
<Widget type="AutoSizedButton" skin="MW_Button" name="ModeToggle">
|
||||
<UserString key="VStretch" value="true"/>
|
||||
<Property key="Caption" value="#{sOff}"/>
|
||||
</Widget>
|
||||
</Widget>
|
||||
|
||||
</Widget>
|
||||
|
||||
<Widget type="Widget" />
|
||||
|
||||
</Widget>
|
||||
|
||||
</Widget>
|
||||
|
@ -59,7 +59,7 @@
|
||||
<Widget type="AutoSizedTextBox" skin="SandText" name="Label" align="Top Right">
|
||||
<UserString key="HStretch" value="true"/>
|
||||
<UserString key="VStretch" value="true"/>
|
||||
<Property key="Padding" value="8"/>
|
||||
<Property key="Padding" value="8"/>
|
||||
<Property key="TextAlign" value="Left Top"/>
|
||||
<Property key="NeedMouse" value="true"/>
|
||||
</Widget>
|
||||
|
Loading…
x
Reference in New Issue
Block a user