#ifndef QLISTWIDGET_H
#define QLISTWIDGET_H 
#include <QtGui/qlistview.h>
#include <QtCore/qvariant.h>
#include <QtCore/qvector.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
#ifndef QT_NO_LISTWIDGET
struct QListModel;
struct QWidgetItemData;
class QListWidgetItem{
   public: enum ItemType{
      Type = 0,
      UserType = 1000,
   };
   public: explicit QListWidgetItem(class QListWidget* view = 0, int type = QListWidgetItem::Type);
   public: explicit QListWidgetItem(class QString const & text, class QListWidget* view = 0, int type = QListWidgetItem::Type);
   public: explicit QListWidgetItem(class QIcon const & icon, class QString const & text, class QListWidget* view = 0, int type = QListWidgetItem::Type);
   public: QListWidgetItem(class QListWidgetItem const & other);
   public: virtual ~QListWidgetItem();
   public: virtual class QListWidgetItem* clone() const
   public: inline class QListWidget* listWidget() const
   public: inline Qt::ItemFlags flags() const
   public: void setFlags(Qt::ItemFlags flags);
   public: inline class QString text() const
   public: inline class QIcon icon() const
   public: inline class QString statusTip() const
#ifndef QT_NO_TOOLTIP
   public: inline class QString toolTip() const
#endif
#ifndef QT_NO_WHATSTHIS
   public: inline class QString whatsThis() const
#endif
   public: inline class QFont font() const
   public: inline int textAlignment() const
   public: inline void setTextAlignment(int alignment);
   public: inline class QColor backgroundColor() const
   public: virtual inline void setBackgroundColor(class QColor const & color);
   public: inline class QBrush background() const
   public: inline void setBackground(class QBrush const & brush);
   public: inline class QColor textColor() const
   public: inline void setTextColor(class QColor const & color);
   public: inline class QBrush foreground() const
   public: inline void setForeground(class QBrush const & brush);
   public: inline enum Qt::CheckState checkState() const
   public: inline void setCheckState(enum Qt::CheckState state);
   public: inline class QSize sizeHint() const
   public: inline void setSizeHint(class QSize const & size);
   public: virtual class QVariant data(int role) const
   public: virtual void setData(int role, class QVariant const & value);
   public: virtual bool operator <(class QListWidgetItem const & other) const
#ifndef QT_NO_DATASTREAM
   public: virtual void read(class QDataStream& in);
   public: virtual void write(class QDataStream& out) const
#endif
   public: class QListWidgetItem& operator =(class QListWidgetItem const & other);
   public: inline int type() const
   private: int rtti;
   private: class QVector < struct QWidgetItemData > values;
   private: class QListWidget* view;
   private: struct QListModel* model;
   private: Qt::ItemFlags itemFlags;
   public: inline void setText(class QString const & atext);
   public: inline void setIcon(class QIcon const & aicon);
   public: inline void setStatusTip(class QString const & astatusTip);
#ifndef QT_NO_TOOLTIP
   public: inline void setToolTip(class QString const & atoolTip);
#endif
#ifndef QT_NO_WHATSTHIS
   public: inline void setWhatsThis(class QString const & awhatsThis);
#endif
   public: inline void setFont(class QFont const & afont);
   public: inline void setSelected(bool aselect);
   public: inline bool isSelected() const
   public: inline void setHidden(bool ahide);
   public: inline bool isHidden() const
   friend struct QListModel;
   friend class QListWidget;
};
#ifndef QT_NO_DATASTREAM
class QDataStream& operator <<(class QDataStream& out, class QListWidgetItem const & item);
class QDataStream& operator >>(class QDataStream& in, class QListWidgetItem& item);
#endif
struct QListWidgetPrivate;
class QListWidget: public QListView{
   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 QListWidget(class QWidget* parent = 0);
   public: virtual ~QListWidget();
   public: class QListWidgetItem* item(int row) const
   public: int row(QListWidgetItem* item) const
   public: void insertItem(int row, class QListWidgetItem* item);
   public: void insertItem(int row, class QString const & label);
   public: void insertItems(int row, class QStringList const & labels);
   public: inline void addItem(class QString const & label);
   public: inline void addItems(class QStringList const & labels);
   public: class QListWidgetItem* takeItem(int row);
   public: int count() const
   public: class QListWidgetItem* currentItem() const
   public: void setCurrentItem(class QListWidgetItem* item);
   public: int currentRow() const
   public: void setCurrentRow(int row);
   public: class QListWidgetItem* itemAt(class QPoint const & p) const
   public: class QRect visualItemRect(QListWidgetItem* item) const
   public: void sortItems(enum Qt::SortOrder order = Qt::AscendingOrder);
   public: void setSortingEnabled(bool enable);
   public: bool isSortingEnabled() const
   public: void editItem(class QListWidgetItem* item);
   public: void openPersistentEditor(class QListWidgetItem* item);
   public: void closePersistentEditor(class QListWidgetItem* item);
   public: class QWidget* itemWidget(class QListWidgetItem* item) const
   public: void setItemWidget(class QListWidgetItem* item, class QWidget* widget);
   public: bool isItemSelected(QListWidgetItem* item) const
   public: void setItemSelected(QListWidgetItem* item, bool select);
   public: class QList < class QListWidgetItem* > selectedItems() const
   public: class QList < class QListWidgetItem* > findItems(class QString const & text, Qt::MatchFlags flags) const
   public: bool isItemHidden(QListWidgetItem* item) const
   public: void setItemHidden(QListWidgetItem* item, bool hide);
   public: virtual void dropEvent(struct QDropEvent* event);
   public: void scrollToItem(QListWidgetItem* item, enum QAbstractItemView::ScrollHint hint = QAbstractItemView::EnsureVisible);
   public: void clear();
   protected: void itemPressed(class QListWidgetItem* item);
   protected: void itemClicked(class QListWidgetItem* item);
   protected: void itemDoubleClicked(class QListWidgetItem* item);
   protected: void itemActivated(class QListWidgetItem* item);
   protected: void itemEntered(class QListWidgetItem* item);
   protected: void itemChanged(class QListWidgetItem* item);
   protected: void currentItemChanged(class QListWidgetItem* current, class QListWidgetItem* previous);
   protected: void currentTextChanged(class QString const & currentText);
   protected: void currentRowChanged(int currentRow);
   protected: void itemSelectionChanged();
   protected: virtual bool event(struct QEvent* e);
   protected: virtual class QStringList mimeTypes() const
   protected: virtual struct QMimeData* mimeData(class QList < class QListWidgetItem* > items) const
#ifndef QT_NO_DRAGANDDROP
   protected: virtual bool dropMimeData(int index, struct QMimeData const * data, enum Qt::DropAction action);
   protected: virtual Qt::DropActions supportedDropActions() const
#endif
   protected: class QList < class QListWidgetItem* > items(struct QMimeData const * data) const
   protected: class QModelIndex indexFromItem(class QListWidgetItem* item) const
   protected: class QListWidgetItem* itemFromIndex(class QModelIndex const & index) const
   private: virtual void setModel(class QAbstractItemModel* model);
   private: enum Qt::SortOrder sortOrder() const
   private: inline struct QListWidgetPrivate* d_func();
   private: inline struct QListWidgetPrivate const * d_func() const
   private: QListWidget(class QListWidget const &);
   private: class QListWidget& operator =(class QListWidget const &);
   public: inline void addItem(class QListWidgetItem* aitem);
   public: inline class QListWidgetItem* itemAt(int ax, int ay) const
   friend class QListWidgetItem;
   friend struct QListModel;
   friend struct QListWidgetPrivate;
};
#endif // QT_NO_LISTWIDGET
#endif // QLISTWIDGET_H