#ifndef QSORTFILTERPROXYMODEL_H
#define QSORTFILTERPROXYMODEL_H 
#include <QtGui/qabstractproxymodel.h>
#ifndef QT_NO_SORTFILTERPROXYMODEL
#include <QtCore/qregexp.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
struct QSortFilterProxyModelPrivate;
struct QSortFilterProxyModelLessThan;
struct QSortFilterProxyModelGreaterThan;
class QSortFilterProxyModel: public QAbstractProxyModel{
   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: QSortFilterProxyModel(class QObject* parent = 0);
   public: virtual ~QSortFilterProxyModel();
   public: virtual void setSourceModel(class QAbstractItemModel* sourceModel);
   public: virtual class QModelIndex mapToSource(class QModelIndex const & proxyIndex) const
   public: virtual class QModelIndex mapFromSource(class QModelIndex const & sourceIndex) const
   public: virtual struct QItemSelection mapSelectionToSource(struct QItemSelection const & proxySelection) const
   public: virtual struct QItemSelection mapSelectionFromSource(struct QItemSelection const & sourceSelection) const
   public: class QRegExp filterRegExp() const
   public: void setFilterRegExp(class QRegExp const & regExp);
   public: int filterKeyColumn() const
   public: void setFilterKeyColumn(int column);
   public: enum Qt::CaseSensitivity filterCaseSensitivity() const
   public: void setFilterCaseSensitivity(enum Qt::CaseSensitivity cs);
   public: enum Qt::CaseSensitivity sortCaseSensitivity() const
   public: void setSortCaseSensitivity(enum Qt::CaseSensitivity cs);
   public: bool dynamicSortFilter() const
   public: void setDynamicSortFilter(bool enable);
   public: int sortRole() const
   public: void setSortRole(int role);
   public: int filterRole() const
   public: void setFilterRole(int role);
   public: void setFilterRegExp(class QString const & pattern);
   public: void setFilterWildcard(class QString const & pattern);
   public: void setFilterFixedString(class QString const & pattern);
   public: void clear();
   protected: virtual bool filterAcceptsRow(int source_row, class QModelIndex const & source_parent) const
   protected: virtual bool filterAcceptsColumn(int source_column, class QModelIndex const & source_parent) const
   protected: virtual bool lessThan(class QModelIndex const & left, class QModelIndex const & right) const
   protected: void filterChanged();
   public: virtual class QModelIndex index(int row, int column, class QModelIndex const & parent = QModelIndex::QModelIndex()) const
   public: virtual class QModelIndex parent(class QModelIndex const & child) const
   public: virtual int rowCount(class QModelIndex const & parent = QModelIndex::QModelIndex()) const
   public: virtual int columnCount(class QModelIndex const & parent = QModelIndex::QModelIndex()) const
   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
   public: virtual bool setData(class QModelIndex const & index, class QVariant const & value, int role);
   public: virtual class QVariant headerData(int section, enum Qt::Orientation orientation, int role) const
   public: virtual bool setHeaderData(int section, enum Qt::Orientation orientation, class QVariant const & value, int role);
   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 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 class QModelIndex buddy(class QModelIndex const & index) const
   public: virtual QModelIndexList match(class QModelIndex const & start, int role, class QVariant const & value, int hits, Qt::MatchFlags flags) const
   public: virtual struct QSize span(class QModelIndex const & index) const
   public: virtual void sort(int column, enum Qt::SortOrder order = Qt::AscendingOrder);
   public: virtual struct QStringList mimeTypes() const
   public: virtual Qt::DropActions supportedDropActions() const
   private: inline struct QSortFilterProxyModelPrivate* d_func();
   private: inline struct QSortFilterProxyModelPrivate const * d_func() const
   private: QSortFilterProxyModel(class QSortFilterProxyModel const &);
   private: class QSortFilterProxyModel& operator =(class QSortFilterProxyModel const &);
   friend struct QSortFilterProxyModelLessThan;
   friend struct QSortFilterProxyModelGreaterThan;
   friend struct QSortFilterProxyModelPrivate;
};
#endif // QT_NO_SORTFILTERPROXYMODEL
#endif // QSORTFILTERPROXYMODEL_H