Gui: Add ParameterDefinition to Style Parameters

This adds a way to define parameters within code, that allows developers
to easily encapsulate the parameters and their default values.
This commit is contained in:
Kacper Donat
2025-08-10 23:12:52 +02:00
parent 0cce9c1261
commit 2f1d96bf44
2 changed files with 78 additions and 2 deletions

View File

@@ -328,3 +328,22 @@ TEST_F(ParameterManagerTest, ErrorHandling)
EXPECT_TRUE(invalidResult.has_value());
EXPECT_TRUE(std::holds_alternative<std::string>(*invalidResult));
}
DEFINE_STYLE_PARAMETER(BaseSize, Numeric(8, "px"));
TEST_F(ParameterManagerTest, ResolveParameterDefinition)
{
auto result = manager.resolve(BaseSize);
EXPECT_DOUBLE_EQ(result.value, 16);
EXPECT_EQ(result.unit, "px");
}
DEFINE_STYLE_PARAMETER(MarginSize, Numeric(16, "px"));
TEST_F(ParameterManagerTest, ResolveParameterDefinitionDefault)
{
auto result = manager.resolve(MarginSize);
EXPECT_DOUBLE_EQ(result.value, 16);
EXPECT_EQ(result.unit, "px");
}