//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Text;
    [SmokeClass("QValidator")]
    public abstract class QValidator : QObject {
        protected QValidator(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QValidator), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QValidator() {
            staticInterceptor = new SmokeInvocation(typeof(QValidator), null);
        }
        public enum State {
            Invalid = 0,
            Intermediate = 1,
            Acceptable = 2,
        }
        // QValidator* QValidator(QObjectPrivate& arg1,QObject* arg2); >>>> NOT CONVERTED
        // QValidator* QValidator(QValidatorPrivate& arg1,QObject* arg2); >>>> NOT CONVERTED
        public QValidator(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QValidator#", "QValidator(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public void SetLocale(QLocale locale) {
            interceptor.Invoke("setLocale#", "setLocale(const QLocale&)", typeof(void), typeof(QLocale), locale);
        }
        public QLocale Locale() {
            return (QLocale) interceptor.Invoke("locale", "locale() const", typeof(QLocale));
        }
        [SmokeMethod("validate(QString&, int&) const")]
        public abstract QValidator.State Validate(StringBuilder arg1, ref int arg2);
        [SmokeMethod("fixup(QString&) const")]
        public virtual void Fixup(StringBuilder arg1) {
            interceptor.Invoke("fixup$", "fixup(QString&) const", typeof(void), typeof(StringBuilder), arg1);
        }
        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 IQValidatorSignals Emit {
            get { return (IQValidatorSignals) Q_EMIT; }
        }
    }

    public interface IQValidatorSignals : IQObjectSignals {
    }
}
