mirror of
https://github.com/status-im/dotherside.git
synced 2025-02-12 04:26:43 +00:00
Little refactor
This commit is contained in:
parent
c11cc30180
commit
553bec0eb7
@ -27,7 +27,7 @@ public:
|
|||||||
virtual const DosIQMetaObject* superClassDosMetaObject() const = 0;
|
virtual const DosIQMetaObject* superClassDosMetaObject() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Base class for
|
/// Base class for any DosIQMetaObject
|
||||||
class BaseDosQMetaObject : public DosIQMetaObject
|
class BaseDosQMetaObject : public DosIQMetaObject
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -41,7 +41,7 @@ public:
|
|||||||
QMetaMethod writeSlot(const char *propertyName) const override { return QMetaMethod(); }
|
QMetaMethod writeSlot(const char *propertyName) const override { return QMetaMethod(); }
|
||||||
const DosIQMetaObject* superClassDosMetaObject() const { return nullptr; }
|
const DosIQMetaObject* superClassDosMetaObject() const { return nullptr; }
|
||||||
|
|
||||||
private:
|
protected:
|
||||||
SafeQMetaObjectPtr m_metaObject;
|
SafeQMetaObjectPtr m_metaObject;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -60,10 +60,10 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
/// This the generic version used by subclasses of QObject or QAbstractListModels
|
/// This the generic version used by subclasses of QObject or QAbstractListModels
|
||||||
class DosQMetaObject : public DosIQMetaObject
|
class DosQMetaObject : public BaseDosQMetaObject
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DosQMetaObject(std::shared_ptr<const DosIQMetaObject> superClassDosMetaObject,
|
DosQMetaObject(DosIQMetaObjectPtr superClassDosMetaObject,
|
||||||
const QString& className,
|
const QString& className,
|
||||||
const SignalDefinitions &signalDefinitions,
|
const SignalDefinitions &signalDefinitions,
|
||||||
const SlotDefinitions &slotDefinitions,
|
const SlotDefinitions &slotDefinitions,
|
||||||
@ -72,7 +72,6 @@ public:
|
|||||||
QMetaMethod signal(const QString& signalName) const override;
|
QMetaMethod signal(const QString& signalName) const override;
|
||||||
QMetaMethod readSlot(const char* propertyName) const override;
|
QMetaMethod readSlot(const char* propertyName) const override;
|
||||||
QMetaMethod writeSlot(const char* propertyName) const override;
|
QMetaMethod writeSlot(const char* propertyName) const override;
|
||||||
const QMetaObject *metaObject() const override;
|
|
||||||
const DosIQMetaObject *superClassDosMetaObject() const override;
|
const DosIQMetaObject *superClassDosMetaObject() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -81,10 +80,9 @@ private:
|
|||||||
const SlotDefinitions &slotDefinitions,
|
const SlotDefinitions &slotDefinitions,
|
||||||
const PropertyDefinitions &propertyDefinitions);
|
const PropertyDefinitions &propertyDefinitions);
|
||||||
|
|
||||||
std::shared_ptr<const DosIQMetaObject> m_superClassDosMetaObject;
|
const DosIQMetaObjectPtr m_superClassDosMetaObject;
|
||||||
QHash<QString, int> m_signalIndexByName;
|
QHash<QString, int> m_signalIndexByName;
|
||||||
QHash<QString, QPair<int,int>> m_propertySlots;
|
QHash<QString, QPair<int,int>> m_propertySlots;
|
||||||
SafeQMetaObjectPtr m_metaObject;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/// This class simply holds a ptr to a IDosQMetaObject
|
/// This class simply holds a ptr to a IDosQMetaObject
|
||||||
|
@ -61,14 +61,19 @@ DosQAbstractListModelMetaObject::DosQAbstractListModelMetaObject()
|
|||||||
: BaseDosQMetaObject(::createDynamicQAbstractListModelMetaObject())
|
: BaseDosQMetaObject(::createDynamicQAbstractListModelMetaObject())
|
||||||
{}
|
{}
|
||||||
|
|
||||||
DosQMetaObject::DosQMetaObject(std::shared_ptr<const DosIQMetaObject> superClassMetaObject,
|
DosQMetaObject::DosQMetaObject(DosIQMetaObjectPtr superClassMetaObject,
|
||||||
const QString &className,
|
const QString &className,
|
||||||
const SignalDefinitions& signalDefinitions,
|
const SignalDefinitions& signalDefinitions,
|
||||||
const SlotDefinitions& slotDefinitions,
|
const SlotDefinitions& slotDefinitions,
|
||||||
const PropertyDefinitions& propertyDefinitions)
|
const PropertyDefinitions& propertyDefinitions)
|
||||||
: m_superClassDosMetaObject(std::move(superClassMetaObject))
|
: BaseDosQMetaObject(nullptr)
|
||||||
, m_metaObject(createMetaObject(className, signalDefinitions, slotDefinitions, propertyDefinitions))
|
, m_superClassDosMetaObject(std::move(superClassMetaObject))
|
||||||
|
, m_signalIndexByName(QHash<QString, int>())
|
||||||
|
, m_propertySlots(QHash<QString, QPair<int,int>>())
|
||||||
{
|
{
|
||||||
|
// We do the metaobject initialization here because
|
||||||
|
// we must wait for both maps to be initialized before filling them
|
||||||
|
m_metaObject.reset(createMetaObject(className, signalDefinitions, slotDefinitions, propertyDefinitions));
|
||||||
}
|
}
|
||||||
|
|
||||||
QMetaObject *DosQMetaObject::createMetaObject(const QString &className,
|
QMetaObject *DosQMetaObject::createMetaObject(const QString &className,
|
||||||
@ -142,11 +147,6 @@ QMetaMethod DosQMetaObject::writeSlot(const char *propertyName) const
|
|||||||
return QMetaMethod();
|
return QMetaMethod();
|
||||||
}
|
}
|
||||||
|
|
||||||
const QMetaObject *DosQMetaObject::metaObject() const
|
|
||||||
{
|
|
||||||
return m_metaObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
const DosIQMetaObject *DosQMetaObject::superClassDosMetaObject() const
|
const DosIQMetaObject *DosQMetaObject::superClassDosMetaObject() const
|
||||||
{
|
{
|
||||||
return m_superClassDosMetaObject.get();
|
return m_superClassDosMetaObject.get();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user