//Auto-generated by kalyptus. DO NOT EDIT.
namespace Kimono {
    using System;
    using Qyoto;
    using System.Runtime.InteropServices;
    using System.Text;
    /// <remarks>
    ///  QValidator for integers.
    ///   This can be used by QLineEdit or subclass to provide validated
    ///   text entry.  Can be provided with a base value (default is 10), to allow
    ///   the proper entry of hexadecimal, octal, or any other base numeric data.
    /// </remarks>        <author> Glen Parker <glenebob@nwlink.com>
    /// </author>
    ///         <version> 0.0.1
    /// </version>
    ///         <short>    QValidator for integers.</short>
    [SmokeClass("KIntValidator")]
    public class KIntValidator : QValidator, IDisposable {
        protected KIntValidator(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(KIntValidator), this);
        }
        /// <remarks>
        ///       Constuctor.  Also sets the base value.
        ///     </remarks>        <short>         Constuctor.</short>
        public KIntValidator(QWidget parent, int arg2) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KIntValidator#$", "KIntValidator(QWidget*, int)", typeof(void), typeof(QWidget), parent, typeof(int), arg2);
        }
        public KIntValidator(QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KIntValidator#", "KIntValidator(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        /// <remarks>
        ///  Constructor.  Also sets the minimum, maximum, and numeric base values.
        ///      </remarks>        <short>    Constructor.</short>
        public KIntValidator(int bottom, int top, QWidget parent, int arg4) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KIntValidator$$#$", "KIntValidator(int, int, QWidget*, int)", typeof(void), typeof(int), bottom, typeof(int), top, typeof(QWidget), parent, typeof(int), arg4);
        }
        public KIntValidator(int bottom, int top, QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KIntValidator$$#", "KIntValidator(int, int, QWidget*)", typeof(void), typeof(int), bottom, typeof(int), top, typeof(QWidget), parent);
        }
        /// <remarks>
        ///  Validates the text, and return the result.  Does not modify the parameters.
        ///      </remarks>        <short>    Validates the text, and return the result.</short>
        [SmokeMethod("validate(QString&, int&) const")]
        public override QValidator.State Validate(StringBuilder arg1, ref int arg2) {
            StackItem[] stack = new StackItem[3];
#if DEBUG
            stack[1].s_class = (IntPtr) DebugGCHandle.Alloc(arg1);
#else
            stack[1].s_class = (IntPtr) GCHandle.Alloc(arg1);
#endif
            stack[2].s_int = arg2;
            interceptor.Invoke("validate$$", "validate(QString&, int&) const", stack);
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[1].s_class);
#else
            ((GCHandle) stack[1].s_class).Free();
#endif
            arg2 = stack[2].s_int;
            return (QValidator.State) Enum.ToObject(typeof(QValidator.State), stack[0].s_int);
        }
        /// <remarks>
        ///  Fixes the text if possible, providing a valid string.  The parameter may be modified.
        ///      </remarks>        <short>    Fixes the text if possible, providing a valid string.</short>
        [SmokeMethod("fixup(QString&) const")]
        public override void Fixup(StringBuilder arg1) {
            interceptor.Invoke("fixup$", "fixup(QString&) const", typeof(void), typeof(StringBuilder), arg1);
        }
        /// <remarks>
        ///  Sets the minimum and maximum values allowed. 
        ///  If <code>top</code> is greater than <code>bottom</code>, it is set to the value of <code>bottom.</code>
        ///      </remarks>        <short>    Sets the minimum and maximum values allowed.</short>
        [SmokeMethod("setRange(int, int)")]
        public virtual void SetRange(int bottom, int top) {
            interceptor.Invoke("setRange$$", "setRange(int, int)", typeof(void), typeof(int), bottom, typeof(int), top);
        }
        /// <remarks>
        ///  Sets the numeric base value. <code>base</code> must be between 2 and 36.
        ///      </remarks>        <short>    Sets the numeric base value.</short>
        [SmokeMethod("setBase(int)")]
        public virtual void SetBase(int arg1) {
            interceptor.Invoke("setBase$", "setBase(int)", typeof(void), typeof(int), arg1);
        }
        /// <remarks>
        ///  Returns the current minimum value allowed.
        ///      </remarks>        <short>    Returns the current minimum value allowed.</short>
        [SmokeMethod("bottom() const")]
        public virtual int Bottom() {
            return (int) interceptor.Invoke("bottom", "bottom() const", typeof(int));
        }
        /// <remarks>
        ///  Returns the current maximum value allowed.
        ///      </remarks>        <short>    Returns the current maximum value allowed.</short>
        [SmokeMethod("top() const")]
        public virtual int Top() {
            return (int) interceptor.Invoke("top", "top() const", typeof(int));
        }
        /// <remarks>
        ///  Returns the current numeric base.
        ///      </remarks>        <short>    Returns the current numeric base.</short>
        [SmokeMethod("base() const")]
        public virtual int Base() {
            return (int) interceptor.Invoke("base", "base() const", typeof(int));
        }
        ~KIntValidator() {
            interceptor.Invoke("~KIntValidator", "~KIntValidator()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~KIntValidator", "~KIntValidator()", typeof(void));
        }
        protected new IKIntValidatorSignals Emit {
            get { return (IKIntValidatorSignals) Q_EMIT; }
        }
    }

    public interface IKIntValidatorSignals : IQValidatorSignals {
    }
}
