1 module dqml.qabstracttablemodel;
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 QAbstractTableModel : QAbstractItemModel
11 {
12     shared static this()
13     {
14         m_staticMetaObject = new QMetaObject(dos_qabstracttablemodel_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 QModelIndex index(int row, int column, QModelIndex parent)
28     {
29         auto result = dos_qabstracttablemodel_index(voidPointer(), row, column, parent.voidPointer());
30         return new QModelIndex(result, Ownership.Take);
31     }
32     
33     public override QModelIndex parent(QModelIndex child)
34     {
35         auto result = dos_qabstracttablemodel_parent(voidPointer(), child.voidPointer());
36         return new QModelIndex(result, Ownership.Take);
37     }
38     
39     protected override void* createVoidPointer()
40     {
41         DosQAbstractItemModelCallbacks callbacks;
42         callbacks.rowCount = &rowCountCallback;
43 	callbacks.columnCount = &columnCountCallback;
44 	callbacks.data = &dataCallback;
45 	callbacks.setData = &setDataCallback;
46 	callbacks.headerData = &headerDataCallback;
47 	callbacks.roleNames = &roleNamesCallback;
48 	callbacks.flags = &flagsCallback;
49 	callbacks.index = &indexCallback;
50 	callbacks.parent = &parentCallback;
51 	callbacks.hasChildren = &hasChildrenCallback;
52 	callbacks.canFetchMore = &canFetchMoreCallback;
53 	callbacks.fetchMore = &fetchMoreCallback;
54 
55         return dos_qabstracttablemodel_create(cast(void*)this,
56                                               metaObject().voidPointer(),
57                                               &staticSlotCallback,
58 					      callbacks);
59     }
60     
61     private static QMetaObject m_staticMetaObject;
62 }