forked from qt-creator/qt-creator
Lua: Add "dataValue" property to SelectionAspect
Change-Id: Ia4badb571b4af736d7d57c4fc7faa944ba62b2b7 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: <mua@spyro-soft.com>
This commit is contained in:
@@ -326,12 +326,12 @@ void setupSettingsModule()
|
|||||||
= options[i].get<sol::optional<sol::table>>();
|
= options[i].get<sol::optional<sol::table>>();
|
||||||
if (optiontable) {
|
if (optiontable) {
|
||||||
sol::table option = *optiontable;
|
sol::table option = *optiontable;
|
||||||
sol::optional<QString> data = option["data"];
|
sol::optional<sol::object> data = option["data"];
|
||||||
if (data) {
|
if (data) {
|
||||||
aspect->addOption(
|
aspect->addOption(
|
||||||
{option["name"],
|
{option["name"],
|
||||||
option["tooltip"].get_or(QString()),
|
option["tooltip"].get_or(QString()),
|
||||||
*data});
|
QVariant::fromValue(*data)});
|
||||||
} else {
|
} else {
|
||||||
aspect->addOption(
|
aspect->addOption(
|
||||||
option["name"], option["tooltip"].get_or(QString()));
|
option["name"], option["tooltip"].get_or(QString()));
|
||||||
@@ -352,11 +352,21 @@ void setupSettingsModule()
|
|||||||
},
|
},
|
||||||
"stringValue",
|
"stringValue",
|
||||||
sol::property(&SelectionAspect::stringValue, &SelectionAspect::setStringValue),
|
sol::property(&SelectionAspect::stringValue, &SelectionAspect::setStringValue),
|
||||||
|
"dataValue",
|
||||||
|
sol::property([](SelectionAspect *aspect) {
|
||||||
|
return qvariant_cast<sol::object>(aspect->itemValue());
|
||||||
|
}),
|
||||||
"addOption",
|
"addOption",
|
||||||
sol::overload(
|
sol::overload(
|
||||||
[](SelectionAspect &self, const QString &name) { self.addOption(name); },
|
[](SelectionAspect &self, const QString &name) { self.addOption(name); },
|
||||||
[](SelectionAspect &self, const QString &name, const QString &tooltip) {
|
[](SelectionAspect &self, const QString &name, const QString &tooltip) {
|
||||||
self.addOption(name, tooltip);
|
self.addOption(name, tooltip);
|
||||||
|
},
|
||||||
|
[](SelectionAspect &self,
|
||||||
|
const QString &name,
|
||||||
|
const QString &tooltip,
|
||||||
|
const sol::object &data) {
|
||||||
|
self.addOption({name, tooltip, QVariant::fromValue(data)});
|
||||||
}),
|
}),
|
||||||
sol::base_classes,
|
sol::base_classes,
|
||||||
sol::bases<TypedAspect<int>, BaseAspect>());
|
sol::bases<TypedAspect<int>, BaseAspect>());
|
||||||
|
@@ -77,7 +77,9 @@ function settings.ColorAspect.create(options) end
|
|||||||
|
|
||||||
---@class SelectionAspect : TypedAspect<int>
|
---@class SelectionAspect : TypedAspect<int>
|
||||||
---@field stringValue string The string value of the aspect.
|
---@field stringValue string The string value of the aspect.
|
||||||
|
---@field dataValue any The data value of the aspect.
|
||||||
settings.SelectionAspect = {}
|
settings.SelectionAspect = {}
|
||||||
|
|
||||||
---@enum SelectionDisplayStyle
|
---@enum SelectionDisplayStyle
|
||||||
settings.SelectionDisplayStyle = {
|
settings.SelectionDisplayStyle = {
|
||||||
RadioButtons = 0,
|
RadioButtons = 0,
|
||||||
|
Reference in New Issue
Block a user