#ifndef QCOMPLETER_H
#define QCOMPLETER_H 
#include <QtCore/qobject.h>
#include <QtCore/qpoint.h>
#include <QtCore/qstring.h>
#include <QtCore/qabstractitemmodel.h>
#include <QtCore/qrect.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
#ifndef QT_NO_COMPLETER
struct QCompleterPrivate;
struct QAbstractItemView;
struct QAbstractProxyModel;
class QCompleter: 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: enum CompletionMode{
      PopupCompletion = 0,
      UnfilteredPopupCompletion = 1,
      InlineCompletion = 2,
   };
   public: enum ModelSorting{
      UnsortedModel = 0,
      CaseSensitivelySortedModel = 1,
      CaseInsensitivelySortedModel = 2,
   };
   public: QCompleter(class QObject* parent = 0);
   public: QCompleter(class QAbstractItemModel* model, class QObject* parent = 0);
#ifndef QT_NO_STRINGLISTMODEL
   public: QCompleter(struct QStringList const & completions, class QObject* parent = 0);
#endif
   public: virtual ~QCompleter();
   public: void setWidget(struct QWidget* widget);
   public: struct QWidget* widget() const
   public: void setModel(class QAbstractItemModel* c);
   public: class QAbstractItemModel* model() const
   public: void setCompletionMode(enum QCompleter::CompletionMode mode);
   public: enum QCompleter::CompletionMode completionMode() const
   public: struct QAbstractItemView* popup() const
   public: void setPopup(struct QAbstractItemView* popup);
   public: void setCaseSensitivity(enum Qt::CaseSensitivity caseSensitivity);
   public: enum Qt::CaseSensitivity caseSensitivity() const
   public: void setModelSorting(enum QCompleter::ModelSorting sorting);
   public: enum QCompleter::ModelSorting modelSorting() const
   public: void setCompletionColumn(int column);
   public: int completionColumn() const
   public: void setCompletionRole(int role);
   public: int completionRole() const
   public: int completionCount() const
   public: bool setCurrentRow(int row);
   public: int currentRow() const
   public: class QModelIndex currentIndex() const
   public: class QString currentCompletion() const
   public: class QAbstractItemModel* completionModel() const
   public: class QString completionPrefix() const
   public: void setCompletionPrefix(class QString const & prefix);
   public: void complete(class QRect const & rect = QRect::QRect());
   public: virtual class QString pathFromIndex(class QModelIndex const & index) const
   public: virtual struct QStringList splitPath(class QString const & path) const
   protected: virtual bool eventFilter(class QObject* o, struct QEvent* e);
   protected: virtual bool event(struct QEvent*);
   protected: void activated(class QString const & text);
   protected: void activated(class QModelIndex const & index);
   protected: void highlighted(class QString const & text);
   protected: void highlighted(class QModelIndex const & index);
   private: QCompleter(class QCompleter const &);
   private: class QCompleter& operator =(class QCompleter const &);
   private: inline struct QCompleterPrivate* d_func();
   private: inline struct QCompleterPrivate const * d_func() const
   friend struct QCompleterPrivate;
};
#endif // QT_NO_COMPLETER
#endif // QCOMPLETER_H