mirror of
https://github.com/status-im/dotherside.git
synced 2025-02-07 02:05:00 +00:00
Added parameters names for signals
In this way a user can access the signal argument as "arg0", "arg1" etc.
This commit is contained in:
parent
ff3734a2f3
commit
49c571ecaa
@ -7,6 +7,16 @@
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
QList<QByteArray> createParameterNames(const DOS::SignalDefinition& signal)
|
||||||
|
{
|
||||||
|
QList<QByteArray> result;
|
||||||
|
size_t size = signal.parameterTypes.size();
|
||||||
|
result.reserve(size);
|
||||||
|
for (size_t i = 0; i < size; ++i)
|
||||||
|
result << QString("arg%1").arg(i).toUtf8();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
QByteArray createSignature(const T &functionDefinition)
|
QByteArray createSignature(const T &functionDefinition)
|
||||||
{
|
{
|
||||||
@ -116,6 +126,7 @@ QMetaObject *DosQMetaObject::createMetaObject(const QString &className,
|
|||||||
QMetaMethodBuilder signalBuilder = builder.addSignal(::createSignature(signal));
|
QMetaMethodBuilder signalBuilder = builder.addSignal(::createSignature(signal));
|
||||||
signalBuilder.setReturnType(QMetaType::typeName(QMetaType::Void));
|
signalBuilder.setReturnType(QMetaType::typeName(QMetaType::Void));
|
||||||
signalBuilder.setAccess(QMetaMethod::Public);
|
signalBuilder.setAccess(QMetaMethod::Public);
|
||||||
|
signalBuilder.setParameterNames(createParameterNames(signal));
|
||||||
m_signalIndexByName[signal.name] = signalBuilder.index();
|
m_signalIndexByName[signal.name] = signalBuilder.index();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user