//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QPageSetupDialog")]
    public class QPageSetupDialog : QAbstractPageSetupDialog, IDisposable {
        protected QPageSetupDialog(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QPageSetupDialog), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QPageSetupDialog() {
            staticInterceptor = new SmokeInvocation(typeof(QPageSetupDialog), null);
        }
        public enum PageSetupDialogOption : uint {
            None = 0x00000000,
            DontUseSheet = 0x00000001,
            OwnsPrinter = 0x80000000,
        }
        [Q_PROPERTY("QPageSetupDialog::PageSetupDialogOptions", "options")]
        public uint Options {
            get { return (uint) interceptor.Invoke("options", "options()", typeof(uint)); }
            set { interceptor.Invoke("setOptions$", "setOptions(QPageSetupDialog::PageSetupDialogOptions)", typeof(void), typeof(uint), value); }
        }
        public QPageSetupDialog(QPrinter printer, QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPageSetupDialog##", "QPageSetupDialog(QPrinter*, QWidget*)", typeof(void), typeof(QPrinter), printer, typeof(QWidget), parent);
        }
        public QPageSetupDialog(QPrinter printer) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPageSetupDialog#", "QPageSetupDialog(QPrinter*)", typeof(void), typeof(QPrinter), printer);
        }
        public QPageSetupDialog(QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPageSetupDialog#", "QPageSetupDialog(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        public QPageSetupDialog() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPageSetupDialog", "QPageSetupDialog()", typeof(void));
        }
        public void AddEnabledOption(QPageSetupDialog.PageSetupDialogOption option) {
            interceptor.Invoke("addEnabledOption$", "addEnabledOption(QPageSetupDialog::PageSetupDialogOption)", typeof(void), typeof(QPageSetupDialog.PageSetupDialogOption), option);
        }
        public void SetEnabledOptions(uint options) {
            interceptor.Invoke("setEnabledOptions$", "setEnabledOptions(QPageSetupDialog::PageSetupDialogOptions)", typeof(void), typeof(uint), options);
        }
        public uint EnabledOptions() {
            return (uint) interceptor.Invoke("enabledOptions", "enabledOptions() const", typeof(uint));
        }
        public bool IsOptionEnabled(QPageSetupDialog.PageSetupDialogOption option) {
            return (bool) interceptor.Invoke("isOptionEnabled$", "isOptionEnabled(QPageSetupDialog::PageSetupDialogOption) const", typeof(bool), typeof(QPageSetupDialog.PageSetupDialogOption), option);
        }
        public void SetOption(QPageSetupDialog.PageSetupDialogOption option, bool on) {
            interceptor.Invoke("setOption$$", "setOption(QPageSetupDialog::PageSetupDialogOption, bool)", typeof(void), typeof(QPageSetupDialog.PageSetupDialogOption), option, typeof(bool), on);
        }
        public void SetOption(QPageSetupDialog.PageSetupDialogOption option) {
            interceptor.Invoke("setOption$", "setOption(QPageSetupDialog::PageSetupDialogOption)", typeof(void), typeof(QPageSetupDialog.PageSetupDialogOption), option);
        }
        public bool TestOption(QPageSetupDialog.PageSetupDialogOption option) {
            return (bool) interceptor.Invoke("testOption$", "testOption(QPageSetupDialog::PageSetupDialogOption) const", typeof(bool), typeof(QPageSetupDialog.PageSetupDialogOption), option);
        }
        [SmokeMethod("exec()")]
        public override int Exec() {
            return (int) interceptor.Invoke("exec", "exec()", typeof(int));
        }
        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);
        }
        ~QPageSetupDialog() {
            interceptor.Invoke("~QPageSetupDialog", "~QPageSetupDialog()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QPageSetupDialog", "~QPageSetupDialog()", 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 IQPageSetupDialogSignals Emit {
            get { return (IQPageSetupDialogSignals) Q_EMIT; }
        }
    }

    public interface IQPageSetupDialogSignals : IQAbstractPageSetupDialogSignals {
    }
}
