#ifndef QTABLEWIDGET_H
#define QTABLEWIDGET_H 
#include <QtGui/qtableview.h>
#include <QtCore/qvariant.h>
#include <QtCore/qvector.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
#ifndef QT_NO_TABLEWIDGET
class QTableWidgetSelectionRange{
   public: QTableWidgetSelectionRange();
   public: QTableWidgetSelectionRange(int top, int left, int bottom, int right);
   public: QTableWidgetSelectionRange(class QTableWidgetSelectionRange const & other);
   public: ~QTableWidgetSelectionRange();
   public: inline int topRow() const
   public: inline int bottomRow() const
   public: inline int leftColumn() const
   public: inline int rightColumn() const
   public: inline int rowCount() const
   public: inline int columnCount() const
   private: int top;
   private: int left;
   private: int bottom;
   private: int right;
};
struct QTableModel;
struct QWidgetItemData;
class QTableWidgetItem{
   public: enum ItemType{
      Type = 0,
      UserType = 1000,
   };
   public: QTableWidgetItem(int type = QTableWidgetItem::Type);
   public: explicit QTableWidgetItem(class QString const & text, int type = QTableWidgetItem::Type);
   public: explicit QTableWidgetItem(class QIcon const & icon, class QString const & text, int type = QTableWidgetItem::Type);
   public: QTableWidgetItem(class QTableWidgetItem const & other);
   public: virtual ~QTableWidgetItem();
   public: virtual class QTableWidgetItem* clone() const
   public: inline class QTableWidget* tableWidget() 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: 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 QTableWidgetItem 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 QTableWidgetItem& operator =(class QTableWidgetItem const & other);
   public: inline int type() const
   private: int rtti;
   private: class QVector < struct QWidgetItemData > values;
   private: class QTableWidget* view;
   private: struct QTableModel* 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 int row() const
   public: inline int column() const
   public: inline void setSelected(bool aselect);
   public: inline bool isSelected() const
   friend class QTableWidget;
   friend struct QTableModel;
};
#ifndef QT_NO_DATASTREAM
class QDataStream& operator >>(class QDataStream& in, class QTableWidgetItem& item);
class QDataStream& operator <<(class QDataStream& out, class QTableWidgetItem const & item);
#endif
struct QTableWidgetPrivate;
class QTableWidget: public QTableView{
   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 QTableWidget(class QWidget* parent = 0);
   public: QTableWidget(int rows, int columns, class QWidget* parent = 0);
   public: virtual ~QTableWidget();
   public: void setRowCount(int rows);
   public: int rowCount() const
   public: void setColumnCount(int columns);
   public: int columnCount() const
   public: int row(QTableWidgetItem* item) const
   public: int column(QTableWidgetItem* item) const
   public: class QTableWidgetItem* item(int row, int column) const
   public: void setItem(int row, int column, class QTableWidgetItem* item);
   public: class QTableWidgetItem* takeItem(int row, int column);
   public: class QTableWidgetItem* verticalHeaderItem(int row) const
   public: void setVerticalHeaderItem(int row, class QTableWidgetItem* item);
   public: class QTableWidgetItem* takeVerticalHeaderItem(int row);
   public: class QTableWidgetItem* horizontalHeaderItem(int column) const
   public: void setHorizontalHeaderItem(int column, class QTableWidgetItem* item);
   public: class QTableWidgetItem* takeHorizontalHeaderItem(int column);
   public: void setVerticalHeaderLabels(class QStringList const & labels);
   public: void setHorizontalHeaderLabels(class QStringList const & labels);
   public: int currentRow() const
   public: int currentColumn() const
   public: class QTableWidgetItem* currentItem() const
   public: void setCurrentItem(class QTableWidgetItem* item);
   public: void setCurrentCell(int row, int column);
   public: void sortItems(int column, enum Qt::SortOrder order = Qt::AscendingOrder);
   public: void setSortingEnabled(bool enable);
   public: bool isSortingEnabled() const
   public: void editItem(class QTableWidgetItem* item);
   public: void openPersistentEditor(class QTableWidgetItem* item);
   public: void closePersistentEditor(class QTableWidgetItem* item);
   public: class QWidget* cellWidget(int row, int column) const
   public: void setCellWidget(int row, int column, class QWidget* widget);
   public: bool isItemSelected(QTableWidgetItem* item) const
   public: void setItemSelected(QTableWidgetItem* item, bool select);
   public: void setRangeSelected(class QTableWidgetSelectionRange const & range, bool select);
   public: class QList < class QTableWidgetSelectionRange > selectedRanges() const
   public: class QList < class QTableWidgetItem* > selectedItems();
   public: class QList < class QTableWidgetItem* > findItems(class QString const & text, Qt::MatchFlags flags) const
   public: int visualRow(int logicalRow) const
   public: int visualColumn(int logicalColumn) const
   public: class QTableWidgetItem* itemAt(class QPoint const & p) const
   public: class QRect visualItemRect(QTableWidgetItem* item) const
   public: QTableWidgetItem* itemPrototype() const
   public: void setItemPrototype(QTableWidgetItem* item);
   public: void scrollToItem(QTableWidgetItem* item, enum QAbstractItemView::ScrollHint hint = QAbstractItemView::EnsureVisible);
   public: void insertRow(int row);
   public: void insertColumn(int column);
   public: void removeRow(int row);
   public: void removeColumn(int column);
   public: void clear();
   public: void clearContents();
   protected: void itemPressed(class QTableWidgetItem* item);
   protected: void itemClicked(class QTableWidgetItem* item);
   protected: void itemDoubleClicked(class QTableWidgetItem* item);
   protected: void itemActivated(class QTableWidgetItem* item);
   protected: void itemEntered(class QTableWidgetItem* item);
   protected: void itemChanged(class QTableWidgetItem* item);
   protected: void currentItemChanged(class QTableWidgetItem* current, class QTableWidgetItem* previous);
   protected: void itemSelectionChanged();
   protected: void cellPressed(int row, int column);
   protected: void cellClicked(int row, int column);
   protected: void cellDoubleClicked(int row, int column);
   protected: void cellActivated(int row, int column);
   protected: void cellEntered(int row, int column);
   protected: void cellChanged(int row, int column);
   protected: void currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn);
   protected: virtual bool event(struct QEvent* e);
   protected: virtual class QStringList mimeTypes() const
   protected: virtual struct QMimeData* mimeData(class QList < class QTableWidgetItem* > items) const
   protected: virtual bool dropMimeData(int row, int column, struct QMimeData const * data, enum Qt::DropAction action);
   protected: virtual Qt::DropActions supportedDropActions() const
   protected: class QList < class QTableWidgetItem* > items(struct QMimeData const * data) const
   protected: class QModelIndex indexFromItem(class QTableWidgetItem* item) const
   protected: class QTableWidgetItem* itemFromIndex(class QModelIndex const & index) const
   protected: virtual void dropEvent(struct QDropEvent* event);
   private: virtual void setModel(class QAbstractItemModel* model);
   private: inline struct QTableWidgetPrivate* d_func();
   private: inline struct QTableWidgetPrivate const * d_func() const
   private: QTableWidget(class QTableWidget const &);
   private: class QTableWidget& operator =(class QTableWidget const &);
   public: inline class QTableWidgetItem* itemAt(int ax, int ay) const
   friend struct QTableModel;
   friend struct QTableWidgetPrivate;
};
#endif // QT_NO_TABLEWIDGET
#endif // QTABLEWIDGET_H