#ifndef PYTHONQTWRAPPER_QITEMSELECTIONMODEL_H #define PYTHONQTWRAPPER_QITEMSELECTIONMODEL_H #include #include #include #include #include #include #include #include #include #include class PythonQtShell_QItemSelectionModel : public QItemSelectionModel { public: PythonQtShell_QItemSelectionModel(QAbstractItemModel* model):QItemSelectionModel(model),_wrapper(NULL) {}; PythonQtShell_QItemSelectionModel(QAbstractItemModel* model, QObject* parent):QItemSelectionModel(model, parent),_wrapper(NULL) {}; virtual void childEvent(QChildEvent* arg__1); virtual void clear(); virtual void customEvent(QEvent* arg__1); virtual bool event(QEvent* arg__1); virtual bool eventFilter(QObject* arg__1, QEvent* arg__2); virtual void reset(); virtual void select(const QItemSelection& selection, QItemSelectionModel::SelectionFlags command); virtual void select(const QModelIndex& index, QItemSelectionModel::SelectionFlags command); virtual void timerEvent(QTimerEvent* arg__1); PythonQtInstanceWrapper* _wrapper; }; class PythonQtPublicPromoter_QItemSelectionModel : public QItemSelectionModel { public: inline void promoted_select(const QModelIndex& index, QItemSelectionModel::SelectionFlags command) { QItemSelectionModel::select(index, command); } inline void promoted_reset() { QItemSelectionModel::reset(); } inline void promoted_clear() { QItemSelectionModel::clear(); } inline void promoted_select(const QItemSelection& selection, QItemSelectionModel::SelectionFlags command) { QItemSelectionModel::select(selection, command); } }; class PythonQtWrapper_QItemSelectionModel : public QObject { Q_OBJECT public: Q_ENUMS(SelectionFlag ) Q_FLAGS(SelectionFlags ) enum SelectionFlag{ NoUpdate = QItemSelectionModel::NoUpdate, Clear = QItemSelectionModel::Clear, Select = QItemSelectionModel::Select, Deselect = QItemSelectionModel::Deselect, Toggle = QItemSelectionModel::Toggle, Current = QItemSelectionModel::Current, Rows = QItemSelectionModel::Rows, Columns = QItemSelectionModel::Columns, SelectCurrent = QItemSelectionModel::SelectCurrent, ToggleCurrent = QItemSelectionModel::ToggleCurrent, ClearAndSelect = QItemSelectionModel::ClearAndSelect}; Q_DECLARE_FLAGS(SelectionFlags, SelectionFlag) public slots: QItemSelectionModel* new_QItemSelectionModel(QAbstractItemModel* model); QItemSelectionModel* new_QItemSelectionModel(QAbstractItemModel* model, QObject* parent); void delete_QItemSelectionModel(QItemSelectionModel* obj) { delete obj; } const QItemSelection selection(QItemSelectionModel* theWrappedObject) const; bool columnIntersectsSelection(QItemSelectionModel* theWrappedObject, int column, const QModelIndex& parent) const; bool isSelected(QItemSelectionModel* theWrappedObject, const QModelIndex& index) const; bool isColumnSelected(QItemSelectionModel* theWrappedObject, int column, const QModelIndex& parent) const; QList selectedColumns(QItemSelectionModel* theWrappedObject, int row = 0) const; QList selectedIndexes(QItemSelectionModel* theWrappedObject) const; bool isRowSelected(QItemSelectionModel* theWrappedObject, int row, const QModelIndex& parent) const; QModelIndex currentIndex(QItemSelectionModel* theWrappedObject) const; const QAbstractItemModel* model(QItemSelectionModel* theWrappedObject) const; bool hasSelection(QItemSelectionModel* theWrappedObject) const; bool rowIntersectsSelection(QItemSelectionModel* theWrappedObject, int row, const QModelIndex& parent) const; QList selectedRows(QItemSelectionModel* theWrappedObject, int column = 0) const; }; #endif // PYTHONQTWRAPPER_QITEMSELECTIONMODEL_H