How to add bindings for classes with protected copy-constructor?
Hi Bryan!
First of all, many thanks for your tremendous work on qtah
and hoppy
packages.
I'm trying to add bindings for QStandardItem
class following usual procedure. It has methods like this:
...
inline void appendRow(const QList<QStandardItem*> &items);
inline void appendRows(const QList<QStandardItem*> &items);
inline void appendColumn(const QList<QStandardItem*> &items);
...
So, I instantiate QList
with QStandardItem
in a similar way as with QVariant
etc.:
-- qtah/qtah-generator/src/Graphics/UI/Qtah/Generator/Interface/Core/QList.hs
qmod_QStandardItem :: QtModule
qmod_QStandardItem = createModule "QStandardItem" contents_QStandardItem
contents_QStandardItem :: Contents
contents_QStandardItem = instantiate "QListQStandardItem" (objT c_QStandardItem) mempty
c_QListQStandardItem :: Class
c_QListQStandardItem = c_QList contents_QStandardItem
And this is the error messages I'm getting:
../qstandarditemmodel.h: In function ‘const QStandardItem* genpop__QListQStandardItem_takeAt(QList*, int)’:
../qstandarditemmodel.h:245:5: error: ‘QStandardItem::QStandardItem(const QStandardItem&)’ is protected
QStandardItem(const QStandardItem &other);
b_qlistqstandarditem.cpp:170:44: error: within this context
return new QStandardItem(self->takeAt(arg1));
../qstandarditemmodel.h: In function ‘const QStandardItem* genpop__QListQStandardItem_takeFirst(QList*)’:
../qstandarditemmodel.h:245:5: error: ‘QStandardItem::QStandardItem(const QStandardItem&)’ is protected
QStandardItem(const QStandardItem &other);
b_qlistqstandarditem.cpp:174:43: error: within this context
return new QStandardItem(self->takeFirst());
Indeed, from QStandardItem class definition:
protected:
QStandardItem(const QStandardItem &other);
QStandardItem(QStandardItemPrivate &dd);
QStandardItem &operator=(const QStandardItem &other);
QScopedPointer<QStandardItemPrivate> d_ptr;
...
Any advice is appreciated. Also, which ClassFeature
s should contain a class like QStandardItem
?