#ifndef QTREEWIDGET_H
#define QTREEWIDGET_H 
#include <QtGui/qtreeview.h>
#include <QtGui/qtreewidgetitemiterator.h>
#include <QtCore/qvariant.h>
#include <QtCore/qvector.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
#ifndef QT_NO_TREEWIDGET
struct QWidgetItemData;
class QTreeWidgetItem{
   public: enum ItemType{
      Type = 0,
      UserType = 1000,
   };
   public: QTreeWidgetItem(int type = QTreeWidgetItem::Type);
   public: QTreeWidgetItem(class QStringList const & strings, int type = QTreeWidgetItem::Type);
   public: explicit QTreeWidgetItem(class QTreeWidget* view, int type = QTreeWidgetItem::Type);
   public: QTreeWidgetItem(class QTreeWidget* view, class QStringList const & strings, int type = QTreeWidgetItem::Type);
   public: QTreeWidgetItem(class QTreeWidget* view, class QTreeWidgetItem* after, int type = QTreeWidgetItem::Type);
   public: explicit QTreeWidgetItem(class QTreeWidgetItem* parent, int type = QTreeWidgetItem::Type);
   public: QTreeWidgetItem(class QTreeWidgetItem* parent, class QStringList const & strings, int type = QTreeWidgetItem::Type);
   public: QTreeWidgetItem(class QTreeWidgetItem* parent, class QTreeWidgetItem* after, int type = QTreeWidgetItem::Type);
   public: QTreeWidgetItem(class QTreeWidgetItem const & other);
   public: virtual ~QTreeWidgetItem();
   public: virtual class QTreeWidgetItem* clone() const
   public: inline class QTreeWidget* treeWidget() const
   public: inline Qt::ItemFlags flags() const
   public: inline class QString text(int column) const
   public: inline class QIcon icon(int column) const
   public: inline class QString statusTip(int column) const
#ifndef QT_NO_TOOLTIP
   public: inline class QString toolTip(int column) const
#endif
#ifndef QT_NO_WHATSTHIS
   public: inline class QString whatsThis(int column) const
#endif
   public: inline class QFont font(int column) const
   public: inline int textAlignment(int column) const
   public: inline void setTextAlignment(int column, int alignment);
   public: inline class QColor backgroundColor(int column) const
   public: inline void setBackgroundColor(int column, class QColor const & color);
   public: inline class QBrush background(int column) const
   public: inline void setBackground(int column, class QBrush const & brush);
   public: inline class QColor textColor(int column) const
   public: inline void setTextColor(int column, class QColor const & color);
   public: inline class QBrush foreground(int column) const
   public: inline void setForeground(int column, class QBrush const & brush);
   public: inline enum Qt::CheckState checkState(int column) const
   public: inline void setCheckState(int column, enum Qt::CheckState state);
   public: inline class QSize sizeHint(int column) const
   public: inline void setSizeHint(int column, class QSize const & size);
   public: virtual class QVariant data(int column, int role) const
   public: virtual void setData(int column, int role, class QVariant const & value);
   public: virtual bool operator <(class QTreeWidgetItem 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 QTreeWidgetItem& operator =(class QTreeWidgetItem const & other);
   public: inline class QTreeWidgetItem* parent() const
   public: inline class QTreeWidgetItem* child(int index) const
   public: inline int childCount() const
   public: inline int columnCount() const
   public: void addChild(class QTreeWidgetItem* child);
   public: void insertChild(int index, class QTreeWidgetItem* child);
   public: class QTreeWidgetItem* takeChild(int index);
   public: void addChildren(class QList < class QTreeWidgetItem* > const & children);
   public: void insertChildren(int index, class QList < class QTreeWidgetItem* > const & children);
   public: class QList < class QTreeWidgetItem* > takeChildren();
   public: inline int type() const
   public: inline void sortChildren(int column, enum Qt::SortOrder order);
   private: void sortChildren(int column, enum Qt::SortOrder order, bool climb);
   private: class QVariant childrenCheckState(int column) const
   private: void itemChanged();
   private: void executePendingSort() const
   private: int rtti;
   private: class QVector < class QVector < struct QWidgetItemData > > values;
   private: class QTreeWidget* view;
   private: QVariantList display;
   private: class QTreeWidgetItem* par;
   private: class QList < class QTreeWidgetItem* > children;
   private: Qt::ItemFlags itemFlags;
   public: inline void setFlags(Qt::ItemFlags aflags);
   public: inline void setText(int column, class QString const & atext);
   public: inline void setIcon(int column, class QIcon const & aicon);
   public: inline void setStatusTip(int column, class QString const & astatusTip);
#ifndef QT_NO_TOOLTIP
   public: inline void setToolTip(int column, class QString const & atoolTip);
#endif
#ifndef QT_NO_WHATSTHIS
   public: inline void setWhatsThis(int column, class QString const & awhatsThis);
#endif
   public: inline void setFont(int column, class QFont const & afont);
   public: inline int indexOfChild(class QTreeWidgetItem* achild) const
   public: inline void setSelected(bool aselect);
   public: inline bool isSelected() const
   public: inline void setHidden(bool ahide);
   public: inline bool isHidden() const
   public: inline void setExpanded(bool aexpand);
   public: inline bool isExpanded() const
   friend struct QTreeModel;
   friend class QTreeWidget;
   friend class QTreeWidgetItemIterator;
};
#ifndef QT_NO_DATASTREAM
class QDataStream& operator <<(class QDataStream& out, class QTreeWidgetItem const & item);
class QDataStream& operator >>(class QDataStream& in, class QTreeWidgetItem& item);
#endif
struct QTreeWidgetPrivate;
class QTreeWidget: public QTreeView{
   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 QTreeWidget(class QWidget* parent = 0);
   public: virtual ~QTreeWidget();
   public: int columnCount() const
   public: void setColumnCount(int columns);
   public: class QTreeWidgetItem* invisibleRootItem() const
   public: class QTreeWidgetItem* topLevelItem(int index) const
   public: int topLevelItemCount() const
   public: void insertTopLevelItem(int index, class QTreeWidgetItem* item);
   public: void addTopLevelItem(class QTreeWidgetItem* item);
   public: class QTreeWidgetItem* takeTopLevelItem(int index);
   public: int indexOfTopLevelItem(class QTreeWidgetItem* item);
   public: int indexOfTopLevelItem(class QTreeWidgetItem* item) const
   public: void insertTopLevelItems(int index, class QList < class QTreeWidgetItem* > const & items);
   public: void addTopLevelItems(class QList < class QTreeWidgetItem* > const & items);
   public: class QTreeWidgetItem* headerItem() const
   public: void setHeaderItem(class QTreeWidgetItem* item);
   public: void setHeaderLabels(class QStringList const & labels);
   public: class QTreeWidgetItem* currentItem() const
   public: int currentColumn() const
   public: void setCurrentItem(class QTreeWidgetItem* item);
   public: void setCurrentItem(class QTreeWidgetItem* item, int column);
   public: class QTreeWidgetItem* itemAt(class QPoint const & p) const
   public: class QRect visualItemRect(QTreeWidgetItem* item) const
   public: int sortColumn() const
   public: void sortItems(int column, enum Qt::SortOrder order);
   public: void setSortingEnabled(bool enable);
   public: bool isSortingEnabled() const
   public: void editItem(class QTreeWidgetItem* item, int column = 0);
   public: void openPersistentEditor(class QTreeWidgetItem* item, int column = 0);
   public: void closePersistentEditor(class QTreeWidgetItem* item, int column = 0);
   public: class QWidget* itemWidget(class QTreeWidgetItem* item, int column) const
   public: void setItemWidget(class QTreeWidgetItem* item, int column, class QWidget* widget);
   public: bool isItemSelected(QTreeWidgetItem* item) const
   public: void setItemSelected(QTreeWidgetItem* item, bool select);
   public: class QList < class QTreeWidgetItem* > selectedItems() const
   public: class QList < class QTreeWidgetItem* > findItems(class QString const & text, Qt::MatchFlags flags, int column = 0) const
   public: bool isItemHidden(QTreeWidgetItem* item) const
   public: void setItemHidden(QTreeWidgetItem* item, bool hide);
   public: bool isItemExpanded(QTreeWidgetItem* item) const
   public: void setItemExpanded(QTreeWidgetItem* item, bool expand);
   public: void scrollToItem(QTreeWidgetItem* item, enum QAbstractItemView::ScrollHint hint = QAbstractItemView::EnsureVisible);
   public: void expandItem(QTreeWidgetItem* item);
   public: void collapseItem(QTreeWidgetItem* item);
   public: void clear();
   protected: void itemPressed(class QTreeWidgetItem* item, int column);
   protected: void itemClicked(class QTreeWidgetItem* item, int column);
   protected: void itemDoubleClicked(class QTreeWidgetItem* item, int column);
   protected: void itemActivated(class QTreeWidgetItem* item, int column);
   protected: void itemEntered(class QTreeWidgetItem* item, int column);
   protected: void itemChanged(class QTreeWidgetItem* item, int column);
   protected: void itemExpanded(class QTreeWidgetItem* item);
   protected: void itemCollapsed(class QTreeWidgetItem* item);
   protected: void currentItemChanged(class QTreeWidgetItem* current, class QTreeWidgetItem* previous);
   protected: void itemSelectionChanged();
   protected: virtual bool event(struct QEvent* e);
   protected: virtual class QStringList mimeTypes() const
   protected: virtual struct QMimeData* mimeData(class QList < class QTreeWidgetItem* > items) const
   protected: virtual bool dropMimeData(class QTreeWidgetItem* parent, int index, struct QMimeData const * data, enum Qt::DropAction action);
   protected: virtual Qt::DropActions supportedDropActions() const
   protected: class QList < class QTreeWidgetItem* > items(struct QMimeData const * data) const
   protected: class QModelIndex indexFromItem(class QTreeWidgetItem* item, int column = 0) const
   protected: class QTreeWidgetItem* itemFromIndex(class QModelIndex const & index) const
   protected: virtual void dropEvent(struct QDropEvent* event);
   private: virtual void setModel(class QAbstractItemModel* model);
   private: inline struct QTreeWidgetPrivate* d_func();
   private: inline struct QTreeWidgetPrivate const * d_func() const
   private: QTreeWidget(class QTreeWidget const &);
   private: class QTreeWidget& operator =(class QTreeWidget const &);
   public: inline class QTreeWidgetItem* itemAt(int ax, int ay) const
   public: inline void setHeaderLabel(class QString const & alabel);
   friend struct QTreeModel;
   friend struct QTreeWidgetPrivate;
};
#endif // QT_NO_TREEWIDGET
#endif // QTREEWIDGET_H