//Auto-generated by kalyptus. DO NOT EDIT.
namespace Kimono {
    using System;
    using Qyoto;
    /// <remarks>
    ///  Base class for OCR Dialogs.
    ///   See <see cref="IKOCRDialogSignals"></see> for signals emitted by KOCRDialog
    /// </remarks>        <short>    Base class for OCR Dialogs.</short>
    [SmokeClass("KOCRDialog")]
    public class KOCRDialog : KPageDialog, IDisposable {
        protected KOCRDialog(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(KOCRDialog), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static KOCRDialog() {
            staticInterceptor = new SmokeInvocation(typeof(KOCRDialog), null);
        }
        /// <remarks>
        ///  Constructs the OCR dialog. If you implement an own dialog, you can
        ///  customize it with the usual KPageDialog flags.
        /// <param> name="dialogFace" the KPageDialog.FaceType
        /// </param><param> name="buttonMask" a ORed mask of all buttons (see
        ///  KDialog.ButtonCode)
        /// </param><param> name="parent" the QWidget's parent, or 0
        /// </param><param> name="modal" if true the dialog is model
        ///      </param></remarks>        <short>    Constructs the OCR dialog.</short>
        public KOCRDialog(int dialogFace, int buttonMask, QWidget parent, bool modal) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KOCRDialog$$#$", "KOCRDialog(int, int, QWidget*, bool)", typeof(void), typeof(int), dialogFace, typeof(int), buttonMask, typeof(QWidget), parent, typeof(bool), modal);
        }
        public KOCRDialog(int dialogFace, int buttonMask, QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KOCRDialog$$#", "KOCRDialog(int, int, QWidget*)", typeof(void), typeof(int), dialogFace, typeof(int), buttonMask, typeof(QWidget), parent);
        }
        public KOCRDialog(int dialogFace, int buttonMask) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KOCRDialog$$", "KOCRDialog(int, int)", typeof(void), typeof(int), dialogFace, typeof(int), buttonMask);
        }
        public KOCRDialog(int dialogFace) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KOCRDialog$", "KOCRDialog(int)", typeof(void), typeof(int), dialogFace);
        }
        public KOCRDialog() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KOCRDialog", "KOCRDialog()", typeof(void));
        }
        /// <remarks>
        ///  Returns the current id for an image. You can use that in your subclass
        ///  for the signals. The id is used in the signals to let people know
        ///  which text-recognition belongs to which scan.
        /// </remarks>        <return> the current id for the image
        /// </return>
        ///         <short>    Returns the current id for an image.</short>
        ///         <see> nextId</see>
        ///         <see> textRecognized</see>
        protected int Id() {
            return (int) interceptor.Invoke("id", "id() const", typeof(int));
        }
        /// <remarks>
        ///  Returns the id for the next image. You can use that in your subclass
        ///  for the signals.
        /// </remarks>        <return> the id for the next image
        /// </return>
        ///         <short>    Returns the id for the next image.</short>
        ///         <see> id</see>
        ///         <see> textRecognized</see>
        protected int NextId() {
            return (int) interceptor.Invoke("nextId", "nextId()", typeof(int));
        }
        ~KOCRDialog() {
            interceptor.Invoke("~KOCRDialog", "~KOCRDialog()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~KOCRDialog", "~KOCRDialog()", typeof(void));
        }
        /// <remarks>
        ///  Creates the user's preferred OCR dialog and returns it,
        ///  or null if no OCR-support
        ///  is available. Pass a suitable <code>parent</code> widget, if you like. If you
        ///  don't you have to 'delete' the returned pointer yourself.
        /// <param> name="parent" the QWidget's parent, or 0
        /// </param></remarks>        <return> the KOCRDialog, or 0 if the function failed
        ///      </return>
        ///         <short>    Creates the user's preferred OCR dialog and returns it,  or 0L if no OCR-support  is available.</short>
        public static KOCRDialog GetOCRDialog(QWidget parent) {
            return (KOCRDialog) staticInterceptor.Invoke("getOCRDialog#", "getOCRDialog(QWidget*)", typeof(KOCRDialog), typeof(QWidget), parent);
        }
        public static KOCRDialog GetOCRDialog() {
            return (KOCRDialog) staticInterceptor.Invoke("getOCRDialog", "getOCRDialog()", typeof(KOCRDialog));
        }
        protected new IKOCRDialogSignals Emit {
            get { return (IKOCRDialogSignals) Q_EMIT; }
        }
    }

    public interface IKOCRDialogSignals : IKPageDialogSignals {
        /// <remarks>
        ///  Informs you that the image with the id <code>id</code> has been run through
        ///  text-recognition. The text is in the string parameter. In the future,
        ///  a compound document, using rich text will be used instead.
        /// <param> name="text" the text that has been recognized
        /// </param><param> name="id" the id of the image
        ///      </param></remarks>        <short>    Informs you that the image with the id <code>id</code> has been run through  text-recognition.</short>
        [Q_SIGNAL("void textRecognized(QString, int)")]
        void TextRecognized(string text, int id);
    }
}
