#include <QtCore/qabstractitemmodel.h>
#ifndef QABSTRACTITEMMODEL_H
class QAbstractItemModel: public QObject{
   public: virtual struct QMetaObject const * metaObject() const
   public: static struct QMetaObject const staticMetaObject;
   public: virtual void* qt_metacast(char const *);
   public: static inline class QString tr(char const * s, char const * c = 0);
   public: static inline class QString trUtf8(char const * s, char const * c = 0);
   public: static inline class QString tr(char const * s, char const * c, int n);
   public: static inline class QString trUtf8(char const * s, char const * c, int n);
   public: virtual int qt_metacall(enum QMetaObject::Call, int, void* *);
   public: explicit QAbstractItemModel(class QObject* parent = 0);
   public: virtual ~QAbstractItemModel();
   public: bool hasIndex(int row, int column, class QModelIndex const & parent = QModelIndex::QModelIndex()) const
   public: virtual class QModelIndex index(int row, int column, class QModelIndex const & parent = QModelIndex::QModelIndex()) const = 0;
   public: virtual class QModelIndex parent(class QModelIndex const & child) const = 0;
   public: inline class QModelIndex sibling(int row, int column, class QModelIndex const & idx) const
   public: virtual int rowCount(class QModelIndex const & parent = QModelIndex::QModelIndex()) const = 0;
   public: virtual int columnCount(class QModelIndex const & parent = QModelIndex::QModelIndex()) const = 0;
   public: virtual bool hasChildren(class QModelIndex const & parent = QModelIndex::QModelIndex()) const
   public: virtual class QVariant data(class QModelIndex const & index, int role = Qt::DisplayRole) const = 0;
   public: virtual bool setData(class QModelIndex const & index, class QVariant const & value, int role = Qt::EditRole);
   public: virtual class QVariant headerData(int section, enum Qt::Orientation orientation, int role = Qt::DisplayRole) const
   public: virtual bool setHeaderData(int section, enum Qt::Orientation orientation, class QVariant const & value, int role = Qt::EditRole);
   public: virtual class QMap < int, class QVariant > itemData(class QModelIndex const & index) const
   public: virtual bool setItemData(class QModelIndex const & index, class QMap < int, class QVariant > const & roles);
   public: virtual struct QStringList mimeTypes() const
   public: virtual struct QMimeData* mimeData(QModelIndexList const & indexes) const
   public: virtual bool dropMimeData(struct QMimeData const * data, enum Qt::DropAction action, int row, int column, class QModelIndex const & parent);
   public: virtual Qt::DropActions supportedDropActions() const
   public: Qt::DropActions supportedDragActions() const
   public: void setSupportedDragActions(Qt::DropActions);
   public: virtual bool insertRows(int row, int count, class QModelIndex const & parent = QModelIndex::QModelIndex());
   public: virtual bool insertColumns(int column, int count, class QModelIndex const & parent = QModelIndex::QModelIndex());
   public: virtual bool removeRows(int row, int count, class QModelIndex const & parent = QModelIndex::QModelIndex());
   public: virtual bool removeColumns(int column, int count, class QModelIndex const & parent = QModelIndex::QModelIndex());
   public: virtual void fetchMore(class QModelIndex const & parent);
   public: virtual bool canFetchMore(class QModelIndex const & parent) const
   public: virtual Qt::ItemFlags flags(class QModelIndex const & index) const
   public: virtual void sort(int column, enum Qt::SortOrder order = Qt::AscendingOrder);
   public: virtual class QModelIndex buddy(class QModelIndex const & index) const
   public: virtual QModelIndexList match(class QModelIndex const & start, int role, class QVariant const & value, int hits = 1, Qt::MatchFlags flags) const
   public: virtual struct QSize span(class QModelIndex const & index) const
   protected: void dataChanged(class QModelIndex const & topLeft, class QModelIndex const & bottomRight);
   protected: void headerDataChanged(enum Qt::Orientation orientation, int first, int last);
   protected: void layoutChanged();
   protected: void layoutAboutToBeChanged();
   private: void rowsAboutToBeInserted(class QModelIndex const & parent, int first, int last);
   private: void rowsInserted(class QModelIndex const & parent, int first, int last);
   private: void rowsAboutToBeRemoved(class QModelIndex const & parent, int first, int last);
   private: void rowsRemoved(class QModelIndex const & parent, int first, int last);
   private: void columnsAboutToBeInserted(class QModelIndex const & parent, int first, int last);
   private: void columnsInserted(class QModelIndex const & parent, int first, int last);
   private: void columnsAboutToBeRemoved(class QModelIndex const & parent, int first, int last);
   private: void columnsRemoved(class QModelIndex const & parent, int first, int last);
   private: void modelAboutToBeReset();
   private: void modelReset();
   public: virtual bool submit();
   public: virtual void revert();
   protected: QAbstractItemModel(struct QAbstractItemModelPrivate& dd, class QObject* parent = 0);
   protected: void encodeData(QModelIndexList const & indexes, class QDataStream& stream) const
   protected: bool decodeData(int row, int column, class QModelIndex const & parent, class QDataStream& stream);
   protected: void beginInsertRows(class QModelIndex const & parent, int first, int last);
   protected: void endInsertRows();
   protected: void beginRemoveRows(class QModelIndex const & parent, int first, int last);
   protected: void endRemoveRows();
   protected: void beginInsertColumns(class QModelIndex const & parent, int first, int last);
   protected: void endInsertColumns();
   protected: void beginRemoveColumns(class QModelIndex const & parent, int first, int last);
   protected: void endRemoveColumns();
   protected: void reset();
   protected: void changePersistentIndex(class QModelIndex const & from, class QModelIndex const & to);
   protected: void changePersistentIndexList(QModelIndexList const & from, QModelIndexList const & to);
   protected: QModelIndexList persistentIndexList() const
   private: inline struct QAbstractItemModelPrivate* d_func();
   private: inline struct QAbstractItemModelPrivate const * d_func() const
   private: QAbstractItemModel(class QAbstractItemModel const &);
   private: class QAbstractItemModel& operator =(class QAbstractItemModel const &);
   public: inline bool insertRow(int arow, class QModelIndex const & aparent = QModelIndex::QModelIndex());
   public: inline bool insertColumn(int acolumn, class QModelIndex const & aparent = QModelIndex::QModelIndex());
   public: inline bool removeRow(int arow, class QModelIndex const & aparent = QModelIndex::QModelIndex());
   public: inline bool removeColumn(int acolumn, class QModelIndex const & aparent = QModelIndex::QModelIndex());
   protected: inline class QModelIndex createIndex(int arow, int acolumn, void* adata = 0) const
   protected: inline class QModelIndex createIndex(int arow, int acolumn, int aid) const
   protected: inline class QModelIndex createIndex(int arow, int acolumn, quint32 aid) const
   friend struct QPersistentModelIndexData;
   friend struct QAbstractItemModelPrivate;
};
#endif // QABSTRACTITEMMODEL_H