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>>();
|
||||
if (optiontable) {
|
||||
sol::table option = *optiontable;
|
||||
sol::optional<QString> data = option["data"];
|
||||
sol::optional<sol::object> data = option["data"];
|
||||
if (data) {
|
||||
aspect->addOption(
|
||||
{option["name"],
|
||||
option["tooltip"].get_or(QString()),
|
||||
*data});
|
||||
QVariant::fromValue(*data)});
|
||||
} else {
|
||||
aspect->addOption(
|
||||
option["name"], option["tooltip"].get_or(QString()));
|
||||
@@ -352,11 +352,21 @@ void setupSettingsModule()
|
||||
},
|
||||
"stringValue",
|
||||
sol::property(&SelectionAspect::stringValue, &SelectionAspect::setStringValue),
|
||||
"dataValue",
|
||||
sol::property([](SelectionAspect *aspect) {
|
||||
return qvariant_cast<sol::object>(aspect->itemValue());
|
||||
}),
|
||||
"addOption",
|
||||
sol::overload(
|
||||
[](SelectionAspect &self, const QString &name) { self.addOption(name); },
|
||||
[](SelectionAspect &self, const QString &name, const QString &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::bases<TypedAspect<int>, BaseAspect>());
|
||||
|
@@ -77,7 +77,9 @@ function settings.ColorAspect.create(options) end
|
||||
|
||||
---@class SelectionAspect : TypedAspect<int>
|
||||
---@field stringValue string The string value of the aspect.
|
||||
---@field dataValue any The data value of the aspect.
|
||||
settings.SelectionAspect = {}
|
||||
|
||||
---@enum SelectionDisplayStyle
|
||||
settings.SelectionDisplayStyle = {
|
||||
RadioButtons = 0,
|
||||
|
Reference in New Issue
Block a user