improve layout of postprocessor hud

fix/shrink_builds
cody glassman 3 years ago
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…
Cancel
Save