//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QStyledItemDelegate")]
    public class QStyledItemDelegate : QAbstractItemDelegate, IDisposable {
        protected QStyledItemDelegate(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QStyledItemDelegate), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QStyledItemDelegate() {
            staticInterceptor = new SmokeInvocation(typeof(QStyledItemDelegate), null);
        }
        public QStyledItemDelegate(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyledItemDelegate#", "QStyledItemDelegate(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public QStyledItemDelegate() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyledItemDelegate", "QStyledItemDelegate()", typeof(void));
        }
        [SmokeMethod("paint(QPainter*, const QStyleOptionViewItem&, const QModelIndex&) const")]
        public override void Paint(QPainter painter, QStyleOptionViewItem option, QModelIndex index) {
            interceptor.Invoke("paint###", "paint(QPainter*, const QStyleOptionViewItem&, const QModelIndex&) const", typeof(void), typeof(QPainter), painter, typeof(QStyleOptionViewItem), option, typeof(QModelIndex), index);
        }
        [SmokeMethod("sizeHint(const QStyleOptionViewItem&, const QModelIndex&) const")]
        public override QSize SizeHint(QStyleOptionViewItem option, QModelIndex index) {
            return (QSize) interceptor.Invoke("sizeHint##", "sizeHint(const QStyleOptionViewItem&, const QModelIndex&) const", typeof(QSize), typeof(QStyleOptionViewItem), option, typeof(QModelIndex), index);
        }
        [SmokeMethod("createEditor(QWidget*, const QStyleOptionViewItem&, const QModelIndex&) const")]
        public override QWidget CreateEditor(QWidget parent, QStyleOptionViewItem option, QModelIndex index) {
            return (QWidget) interceptor.Invoke("createEditor###", "createEditor(QWidget*, const QStyleOptionViewItem&, const QModelIndex&) const", typeof(QWidget), typeof(QWidget), parent, typeof(QStyleOptionViewItem), option, typeof(QModelIndex), index);
        }
        [SmokeMethod("setEditorData(QWidget*, const QModelIndex&) const")]
        public override void SetEditorData(QWidget editor, QModelIndex index) {
            interceptor.Invoke("setEditorData##", "setEditorData(QWidget*, const QModelIndex&) const", typeof(void), typeof(QWidget), editor, typeof(QModelIndex), index);
        }
        [SmokeMethod("setModelData(QWidget*, QAbstractItemModel*, const QModelIndex&) const")]
        public override void SetModelData(QWidget editor, QAbstractItemModel model, QModelIndex index) {
            interceptor.Invoke("setModelData###", "setModelData(QWidget*, QAbstractItemModel*, const QModelIndex&) const", typeof(void), typeof(QWidget), editor, typeof(QAbstractItemModel), model, typeof(QModelIndex), index);
        }
        [SmokeMethod("updateEditorGeometry(QWidget*, const QStyleOptionViewItem&, const QModelIndex&) const")]
        public override void UpdateEditorGeometry(QWidget editor, QStyleOptionViewItem option, QModelIndex index) {
            interceptor.Invoke("updateEditorGeometry###", "updateEditorGeometry(QWidget*, const QStyleOptionViewItem&, const QModelIndex&) const", typeof(void), typeof(QWidget), editor, typeof(QStyleOptionViewItem), option, typeof(QModelIndex), index);
        }
        public QItemEditorFactory ItemEditorFactory() {
            return (QItemEditorFactory) interceptor.Invoke("itemEditorFactory", "itemEditorFactory() const", typeof(QItemEditorFactory));
        }
        public void SetItemEditorFactory(QItemEditorFactory factory) {
            interceptor.Invoke("setItemEditorFactory#", "setItemEditorFactory(QItemEditorFactory*)", typeof(void), typeof(QItemEditorFactory), factory);
        }
        [SmokeMethod("displayText(const QVariant&, const QLocale&) const")]
        public virtual string DisplayText(QVariant value, QLocale locale) {
            return (string) interceptor.Invoke("displayText##", "displayText(const QVariant&, const QLocale&) const", typeof(string), typeof(QVariant), value, typeof(QLocale), locale);
        }
        [SmokeMethod("initStyleOption(QStyleOptionViewItem*, const QModelIndex&) const")]
        protected virtual void InitStyleOption(QStyleOptionViewItem option, QModelIndex index) {
            interceptor.Invoke("initStyleOption##", "initStyleOption(QStyleOptionViewItem*, const QModelIndex&) const", typeof(void), typeof(QStyleOptionViewItem), option, typeof(QModelIndex), index);
        }
        [SmokeMethod("eventFilter(QObject*, QEvent*)")]
        protected new virtual bool EventFilter(QObject arg1, QEvent arg2) {
            return (bool) interceptor.Invoke("eventFilter##", "eventFilter(QObject*, QEvent*)", typeof(bool), typeof(QObject), arg1, typeof(QEvent), arg2);
        }
        [SmokeMethod("editorEvent(QEvent*, QAbstractItemModel*, const QStyleOptionViewItem&, const QModelIndex&)")]
        protected new virtual bool EditorEvent(QEvent arg1, QAbstractItemModel model, QStyleOptionViewItem option, QModelIndex index) {
            return (bool) interceptor.Invoke("editorEvent####", "editorEvent(QEvent*, QAbstractItemModel*, const QStyleOptionViewItem&, const QModelIndex&)", typeof(bool), typeof(QEvent), arg1, typeof(QAbstractItemModel), model, typeof(QStyleOptionViewItem), option, typeof(QModelIndex), index);
        }
        ~QStyledItemDelegate() {
            interceptor.Invoke("~QStyledItemDelegate", "~QStyledItemDelegate()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QStyledItemDelegate", "~QStyledItemDelegate()", typeof(void));
        }
        public static new string Tr(string s, string c) {
            return (string) staticInterceptor.Invoke("tr$$", "tr(const char*, const char*)", typeof(string), typeof(string), s, typeof(string), c);
        }
        public static new string Tr(string s) {
            return (string) staticInterceptor.Invoke("tr$", "tr(const char*)", typeof(string), typeof(string), s);
        }
        protected new IQStyledItemDelegateSignals Emit {
            get { return (IQStyledItemDelegateSignals) Q_EMIT; }
        }
    }

    public interface IQStyledItemDelegateSignals : IQAbstractItemDelegateSignals {
    }
}
