#include <QtGui/qitemselectionmodel.h>
#ifndef QITEMSELECTIONMODEL_H
#ifndef QT_NO_ITEMVIEWS
class QItemSelectionModel: 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* *);
   private: inline struct QItemSelectionModelPrivate* d_func();
   private: inline struct QItemSelectionModelPrivate const * d_func() const
   public: enum SelectionFlag{
      NoUpdate = 0,
      Clear = 1,
      Select = 2,
      Deselect = 4,
      Toggle = 8,
      Current = 16,
      Rows = 32,
      Columns = 64,
      SelectCurrent = 18,
      ToggleCurrent = 24,
      ClearAndSelect = 3,
   };
   public: typedef class QFlags < enum QItemSelectionModel::SelectionFlag > SelectionFlags;
   public: explicit QItemSelectionModel(class QAbstractItemModel* model);
   public: explicit QItemSelectionModel(class QAbstractItemModel* model, class QObject* parent);
   public: virtual ~QItemSelectionModel();
   public: class QModelIndex currentIndex() const
   public: bool isSelected(class QModelIndex const & index) const
   public: bool isRowSelected(int row, class QModelIndex const & parent) const
   public: bool isColumnSelected(int column, class QModelIndex const & parent) const
   public: bool rowIntersectsSelection(int row, class QModelIndex const & parent) const
   public: bool columnIntersectsSelection(int column, class QModelIndex const & parent) const
   public: bool hasSelection() const
   public: QModelIndexList selectedIndexes() const
   public: QModelIndexList selectedRows(int column = 0) const
   public: QModelIndexList selectedColumns(int row = 0) const
   public: class QItemSelection const selection() const
   public: class QAbstractItemModel const * model() const
   public: void setCurrentIndex(class QModelIndex const & index, class QFlags < enum QItemSelectionModel::SelectionFlag > command);
   public: virtual void select(class QModelIndex const & index, class QFlags < enum QItemSelectionModel::SelectionFlag > command);
   public: virtual void select(class QItemSelection const & selection, class QFlags < enum QItemSelectionModel::SelectionFlag > command);
   public: virtual void clear();
   public: virtual void reset();
   public: void clearSelection();
   protected: void selectionChanged(class QItemSelection const & selected, class QItemSelection const & deselected);
   protected: void currentChanged(class QModelIndex const & current, class QModelIndex const & previous);
   protected: void currentRowChanged(class QModelIndex const & current, class QModelIndex const & previous);
   protected: void currentColumnChanged(class QModelIndex const & current, class QModelIndex const & previous);
   protected: QItemSelectionModel(struct QItemSelectionModelPrivate& dd, class QAbstractItemModel* model);
   protected: void emitSelectionChanged(class QItemSelection const & newSelection, class QItemSelection const & oldSelection);
   private: QItemSelectionModel(class QItemSelectionModel const &);
   private: class QItemSelectionModel& operator =(class QItemSelectionModel const &);
   friend struct QItemSelectionModelPrivate;
};
#endif // QT_NO_ITEMVIEWS
#endif // QITEMSELECTIONMODEL_H