1 module dqml.qabstractlistmodel; 2 3 import dqml.dothersideinterface; 4 import dqml.global; 5 import dqml.qabstractitemmodel; 6 import dqml.qmetaobject; 7 import dqml.qmodelindex; 8 import core.memory; 9 10 abstract class QAbstractListModel : QAbstractItemModel 11 { 12 shared static this() 13 { 14 m_staticMetaObject = new QMetaObject(dos_qabstractlistmodel_qmetaobject()); 15 } 16 17 public static QMetaObject staticMetaObject() 18 { 19 return m_staticMetaObject; 20 } 21 22 public override QMetaObject metaObject() 23 { 24 return m_staticMetaObject; 25 } 26 27 public override int columnCount(QModelIndex parent) 28 { 29 return dos_qabstractlistmodel_columnCount(voidPointer(), parent.voidPointer()); 30 } 31 32 public override QModelIndex index(int row, int column, QModelIndex parent) 33 { 34 auto result = dos_qabstractlistmodel_index(voidPointer(), row, column, parent.voidPointer()); 35 return new QModelIndex(result, Ownership.Take); 36 } 37 38 public override QModelIndex parent(QModelIndex child) 39 { 40 auto result = dos_qabstractlistmodel_parent(voidPointer(), child.voidPointer()); 41 return new QModelIndex(result, Ownership.Take); 42 } 43 44 protected override void* createVoidPointer() 45 { 46 DosQAbstractItemModelCallbacks callbacks; 47 callbacks.rowCount = &rowCountCallback; 48 callbacks.columnCount = &columnCountCallback; 49 callbacks.data = &dataCallback; 50 callbacks.setData = &setDataCallback; 51 callbacks.headerData = &headerDataCallback; 52 callbacks.roleNames = &roleNamesCallback; 53 callbacks.flags = &flagsCallback; 54 callbacks.index = &indexCallback; 55 callbacks.parent = &parentCallback; 56 callbacks.hasChildren = &hasChildrenCallback; 57 callbacks.canFetchMore = &canFetchMoreCallback; 58 callbacks.fetchMore = &fetchMoreCallback; 59 60 return this.vptr = dos_qabstractlistmodel_create(cast(void*)this, 61 metaObject().voidPointer(), 62 &staticSlotCallback, 63 callbacks); 64 } 65 66 private static QMetaObject m_staticMetaObject; 67 }