//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    /// <remarks> See <see cref="IQPrintDialogSignals"></see> for signals emitted by QPrintDialog
    /// </remarks>
    [SmokeClass("QPrintDialog")]
    public class QPrintDialog : QAbstractPrintDialog, IDisposable {
        protected QPrintDialog(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QPrintDialog), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QPrintDialog() {
            staticInterceptor = new SmokeInvocation(typeof(QPrintDialog), null);
        }
        [Q_PROPERTY("QAbstractPrintDialog::PrintDialogOptions", "options")]
        public uint Options {
            get { return (uint) interceptor.Invoke("options", "options()", typeof(uint)); }
            set { interceptor.Invoke("setOptions$", "setOptions(QAbstractPrintDialog::PrintDialogOptions)", typeof(void), typeof(uint), value); }
        }
        public QPrintDialog(QPrinter printer, QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPrintDialog##", "QPrintDialog(QPrinter*, QWidget*)", typeof(void), typeof(QPrinter), printer, typeof(QWidget), parent);
        }
        public QPrintDialog(QPrinter printer) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPrintDialog#", "QPrintDialog(QPrinter*)", typeof(void), typeof(QPrinter), printer);
        }
        public QPrintDialog(QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPrintDialog#", "QPrintDialog(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        public QPrintDialog() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPrintDialog", "QPrintDialog()", typeof(void));
        }
        [SmokeMethod("exec()")]
        public override int Exec() {
            return (int) interceptor.Invoke("exec", "exec()", typeof(int));
        }
        [SmokeMethod("done(int)")]
        public override void Done(int result) {
            interceptor.Invoke("done$", "done(int)", typeof(void), typeof(int), result);
        }
        public void SetOption(QAbstractPrintDialog.PrintDialogOption option, bool on) {
            interceptor.Invoke("setOption$$", "setOption(QAbstractPrintDialog::PrintDialogOption, bool)", typeof(void), typeof(QAbstractPrintDialog.PrintDialogOption), option, typeof(bool), on);
        }
        public void SetOption(QAbstractPrintDialog.PrintDialogOption option) {
            interceptor.Invoke("setOption$", "setOption(QAbstractPrintDialog::PrintDialogOption)", typeof(void), typeof(QAbstractPrintDialog.PrintDialogOption), option);
        }
        public bool TestOption(QAbstractPrintDialog.PrintDialogOption option) {
            return (bool) interceptor.Invoke("testOption$", "testOption(QAbstractPrintDialog::PrintDialogOption) const", typeof(bool), typeof(QAbstractPrintDialog.PrintDialogOption), option);
        }
        public new void Open() {
            interceptor.Invoke("open", "open()", typeof(void));
        }
        public void Open(QObject receiver, string member) {
            interceptor.Invoke("open#$", "open(QObject*, const char*)", typeof(void), typeof(QObject), receiver, typeof(string), member);
        }
        [SmokeMethod("eventFilter(QObject*, QEvent*)")]
        public new virtual bool EventFilter(QObject arg1, QEvent arg2) {
            return (bool) interceptor.Invoke("eventFilter##", "eventFilter(QObject*, QEvent*)", typeof(bool), typeof(QObject), arg1, typeof(QEvent), arg2);
        }
        public new void Accepted() {
            interceptor.Invoke("accepted", "accepted()", typeof(void));
        }
        ~QPrintDialog() {
            interceptor.Invoke("~QPrintDialog", "~QPrintDialog()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QPrintDialog", "~QPrintDialog()", 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 IQPrintDialogSignals Emit {
            get { return (IQPrintDialogSignals) Q_EMIT; }
        }
    }

    public interface IQPrintDialogSignals : IQAbstractPrintDialogSignals {
        [Q_SIGNAL("void accepted(QPrinter*)")]
        void Accepted(QPrinter printer);
    }
}
