mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-19 04:53:12 +01:00
Extract plugin widget validation logic to separate function
This commit is contained in:
@@ -146,22 +146,18 @@ namespace OpenRCT2::Scripting
|
||||
auto buttonWidget = widget + 1;
|
||||
buttonWidget->left += delta;
|
||||
buttonWidget->right += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 1);
|
||||
}
|
||||
else if (widget->type == WindowWidgetType::Spinner)
|
||||
{
|
||||
auto upWidget = widget + 1;
|
||||
upWidget->left += delta;
|
||||
upWidget->right += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 1);
|
||||
|
||||
auto downWidget = widget + 2;
|
||||
downWidget->left += delta;
|
||||
downWidget->right += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 2);
|
||||
}
|
||||
|
||||
Invalidate();
|
||||
Invalidate(widget);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,22 +186,18 @@ namespace OpenRCT2::Scripting
|
||||
auto buttonWidget = widget + 1;
|
||||
buttonWidget->top += delta;
|
||||
buttonWidget->bottom += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 1);
|
||||
}
|
||||
else if (widget->type == WindowWidgetType::Spinner)
|
||||
{
|
||||
auto upWidget = widget + 1;
|
||||
upWidget->top += delta;
|
||||
upWidget->bottom += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 1);
|
||||
|
||||
auto downWidget = widget + 2;
|
||||
downWidget->top += delta;
|
||||
downWidget->bottom += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 2);
|
||||
}
|
||||
|
||||
Invalidate();
|
||||
Invalidate(widget);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -233,22 +225,18 @@ namespace OpenRCT2::Scripting
|
||||
auto buttonWidget = widget + 1;
|
||||
buttonWidget->left += delta;
|
||||
buttonWidget->right += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 1);
|
||||
}
|
||||
else if (widget->type == WindowWidgetType::Spinner)
|
||||
{
|
||||
auto upWidget = widget + 1;
|
||||
upWidget->left += delta;
|
||||
upWidget->right += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 1);
|
||||
|
||||
auto downWidget = widget + 2;
|
||||
downWidget->left += delta;
|
||||
downWidget->right += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 2);
|
||||
}
|
||||
|
||||
Invalidate();
|
||||
Invalidate(widget);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,20 +263,16 @@ namespace OpenRCT2::Scripting
|
||||
{
|
||||
auto buttonWidget = widget + 1;
|
||||
buttonWidget->bottom += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 1);
|
||||
}
|
||||
else if (widget->type == WindowWidgetType::Spinner)
|
||||
{
|
||||
auto upWidget = widget + 1;
|
||||
upWidget->bottom += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 1);
|
||||
|
||||
auto downWidget = widget + 2;
|
||||
downWidget->bottom += delta;
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 2);
|
||||
}
|
||||
|
||||
Invalidate();
|
||||
Invalidate(widget);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -429,6 +413,23 @@ namespace OpenRCT2::Scripting
|
||||
return false;
|
||||
}
|
||||
|
||||
void Invalidate(const Widget* widget)
|
||||
{
|
||||
if (widget != nullptr)
|
||||
{
|
||||
if (widget->type == WindowWidgetType::DropdownMenu)
|
||||
{
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 1);
|
||||
}
|
||||
else if (widget->type == WindowWidgetType::Spinner)
|
||||
{
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 1);
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex + 2);
|
||||
}
|
||||
}
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
void Invalidate()
|
||||
{
|
||||
WidgetInvalidateByNumber(_class, _number, _widgetIndex);
|
||||
|
||||
Reference in New Issue
Block a user