//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Text;
    using System.Collections.Generic;
    [SmokeClass("QStringListModel")]
    public partial class QStringListModel : QAbstractListModel, IDisposable {
        protected QStringListModel(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QStringListModel), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QStringListModel() {
            staticInterceptor = new SmokeInvocation(typeof(QStringListModel), null);
        }
        public QStringListModel(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStringListModel#", "QStringListModel(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public QStringListModel() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStringListModel", "QStringListModel()", typeof(void));
        }
        public QStringListModel(List<string> strings, QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStringListModel?#", "QStringListModel(const QStringList&, QObject*)", typeof(void), typeof(List<string>), strings, typeof(QObject), parent);
        }
        public QStringListModel(List<string> strings) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStringListModel?", "QStringListModel(const QStringList&)", typeof(void), typeof(List<string>), strings);
        }
        [SmokeMethod("rowCount(const QModelIndex&) const")]
        public override int RowCount(QModelIndex parent) {
            return (int) interceptor.Invoke("rowCount#", "rowCount(const QModelIndex&) const", typeof(int), typeof(QModelIndex), parent);
        }
        [SmokeMethod("rowCount() const")]
        public virtual int RowCount() {
            return (int) interceptor.Invoke("rowCount", "rowCount() const", typeof(int));
        }
        [SmokeMethod("data(const QModelIndex&, int) const")]
        public override QVariant Data(QModelIndex index, int role) {
            return (QVariant) interceptor.Invoke("data#$", "data(const QModelIndex&, int) const", typeof(QVariant), typeof(QModelIndex), index, typeof(int), role);
        }
        [SmokeMethod("setData(const QModelIndex&, const QVariant&, int)")]
        public override bool SetData(QModelIndex index, QVariant value, int role) {
            return (bool) interceptor.Invoke("setData##$", "setData(const QModelIndex&, const QVariant&, int)", typeof(bool), typeof(QModelIndex), index, typeof(QVariant), value, typeof(int), role);
        }
        [SmokeMethod("setData(const QModelIndex&, const QVariant&)")]
        public override bool SetData(QModelIndex index, QVariant value) {
            return (bool) interceptor.Invoke("setData##", "setData(const QModelIndex&, const QVariant&)", typeof(bool), typeof(QModelIndex), index, typeof(QVariant), value);
        }
        [SmokeMethod("flags(const QModelIndex&) const")]
        public override uint Flags(QModelIndex index) {
            return (uint) interceptor.Invoke("flags#", "flags(const QModelIndex&) const", typeof(uint), typeof(QModelIndex), index);
        }
        [SmokeMethod("insertRows(int, int, const QModelIndex&)")]
        public override bool InsertRows(int row, int count, QModelIndex parent) {
            return (bool) interceptor.Invoke("insertRows$$#", "insertRows(int, int, const QModelIndex&)", typeof(bool), typeof(int), row, typeof(int), count, typeof(QModelIndex), parent);
        }
        [SmokeMethod("insertRows(int, int)")]
        public override bool InsertRows(int row, int count) {
            return (bool) interceptor.Invoke("insertRows$$", "insertRows(int, int)", typeof(bool), typeof(int), row, typeof(int), count);
        }
        [SmokeMethod("removeRows(int, int, const QModelIndex&)")]
        public override bool RemoveRows(int row, int count, QModelIndex parent) {
            return (bool) interceptor.Invoke("removeRows$$#", "removeRows(int, int, const QModelIndex&)", typeof(bool), typeof(int), row, typeof(int), count, typeof(QModelIndex), parent);
        }
        [SmokeMethod("removeRows(int, int)")]
        public override bool RemoveRows(int row, int count) {
            return (bool) interceptor.Invoke("removeRows$$", "removeRows(int, int)", typeof(bool), typeof(int), row, typeof(int), count);
        }
        [SmokeMethod("sort(int, Qt::SortOrder)")]
        public override void Sort(int column, Qt.SortOrder order) {
            interceptor.Invoke("sort$$", "sort(int, Qt::SortOrder)", typeof(void), typeof(int), column, typeof(Qt.SortOrder), order);
        }
        [SmokeMethod("sort(int)")]
        public override void Sort(int column) {
            interceptor.Invoke("sort$", "sort(int)", typeof(void), typeof(int), column);
        }
        public List<string> StringList() {
            return (List<string>) interceptor.Invoke("stringList", "stringList() const", typeof(List<string>));
        }
        public void SetStringList(List<string> strings) {
            interceptor.Invoke("setStringList?", "setStringList(const QStringList&)", typeof(void), typeof(List<string>), strings);
        }
        [SmokeMethod("supportedDropActions() const")]
        public override uint SupportedDropActions() {
            return (uint) interceptor.Invoke("supportedDropActions", "supportedDropActions() const", typeof(uint));
        }
        ~QStringListModel() {
            interceptor.Invoke("~QStringListModel", "~QStringListModel()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QStringListModel", "~QStringListModel()", 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 IQStringListModelSignals Emit {
            get { return (IQStringListModelSignals) Q_EMIT; }
        }
    }

    public interface IQStringListModelSignals : IQAbstractListModelSignals {
    }
}
