#ifndef QABSTRACTITEMDELEGATE_H
#define QABSTRACTITEMDELEGATE_H 
#include <QtCore/qobject.h>
#include <QtGui/qstyleoption.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
#ifndef QT_NO_ITEMVIEWS
struct QModelIndex;
struct QAbstractItemModel;
class QAbstractItemDelegate: 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 EndEditHint{
      NoHint = 0,
      EditNextItem = 1,
      EditPreviousItem = 2,
      SubmitModelCache = 3,
      RevertModelCache = 4,
   };
   public: explicit QAbstractItemDelegate(class QObject* parent = 0);
   public: virtual ~QAbstractItemDelegate();
   public: virtual void paint(struct QPainter* painter, class QStyleOptionViewItem const & option, struct QModelIndex const & index) const = 0;
   public: virtual class QSize sizeHint(class QStyleOptionViewItem const & option, struct QModelIndex const & index) const = 0;
   public: virtual class QWidget* createEditor(class QWidget* parent, class QStyleOptionViewItem const & option, struct QModelIndex const & index) const
   public: virtual void setEditorData(class QWidget* editor, struct QModelIndex const & index) const
   public: virtual void setModelData(class QWidget* editor, struct QAbstractItemModel* model, struct QModelIndex const & index) const
   public: virtual void updateEditorGeometry(class QWidget* editor, class QStyleOptionViewItem const & option, struct QModelIndex const & index) const
   public: virtual bool editorEvent(struct QEvent* event, struct QAbstractItemModel* model, class QStyleOptionViewItem const & option, struct QModelIndex const & index);
   public: static class QString elidedText(class QFontMetrics const & fontMetrics, int width, enum Qt::TextElideMode mode, class QString const & text);
   protected: void commitData(class QWidget* editor);
   protected: void closeEditor(class QWidget* editor, enum QAbstractItemDelegate::EndEditHint hint = QAbstractItemDelegate::NoHint);
   protected: QAbstractItemDelegate(class QAbstractItemDelegate const &);
   protected: class QAbstractItemDelegate& operator =(class QAbstractItemDelegate const &);
   protected: QAbstractItemDelegate(struct QObjectPrivate&, class QObject* parent = 0);
};
#endif // QT_NO_ITEMVIEWS
#endif // QABSTRACTITEMDELEGATE_H