//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    /// <remarks> See <see cref="IQMessageBoxSignals"></see> for signals emitted by QMessageBox
    /// </remarks>
    [SmokeClass("QMessageBox")]
    public class QMessageBox : QDialog, IDisposable {
        protected QMessageBox(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QMessageBox), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QMessageBox() {
            staticInterceptor = new SmokeInvocation(typeof(QMessageBox), null);
        }
        public enum Icon {
            NoIcon = 0,
            Information = 1,
            Warning = 2,
            Critical = 3,
            Question = 4,
        }
        public enum ButtonRole {
            InvalidRole = -1,
            AcceptRole = 0,
            RejectRole = 1,
            DestructiveRole = 2,
            ActionRole = 3,
            HelpRole = 4,
            YesRole = 5,
            NoRole = 6,
            ResetRole = 7,
            ApplyRole = 8,
            NRoles = 9,
        }
        public enum StandardButton {
            NoButton = 0x00000000,
            Ok = 0x00000400,
            Save = 0x00000800,
            SaveAll = 0x00001000,
            Open = 0x00002000,
            Yes = 0x00004000,
            YesToAll = 0x00008000,
            No = 0x00010000,
            NoToAll = 0x00020000,
            Abort = 0x00040000,
            Retry = 0x00080000,
            Ignore = 0x00100000,
            Close = 0x00200000,
            Cancel = 0x00400000,
            Discard = 0x00800000,
            Help = 0x01000000,
            Apply = 0x02000000,
            Reset = 0x04000000,
            RestoreDefaults = 0x08000000,
            FirstButton = Ok,
            LastButton = RestoreDefaults,
            YesAll = YesToAll,
            NoAll = NoToAll,
            Default = 0x00000100,
            Escape = 0x00000200,
            FlagMask = 0x00000300,
            ButtonMask = ~FlagMask,
        }
        [Q_PROPERTY("QString", "text")]
        public string Text {
            get { return (string) interceptor.Invoke("text", "text()", typeof(string)); }
            set { interceptor.Invoke("setText$", "setText(QString)", typeof(void), typeof(string), value); }
        }
        [Q_PROPERTY("QMessageBox::Icon", "icon")]
        public QMessageBox.Icon icon {
            get { return (QMessageBox.Icon) interceptor.Invoke("icon", "icon()", typeof(QMessageBox.Icon)); }
            set { interceptor.Invoke("setIcon$", "setIcon(QMessageBox::Icon)", typeof(void), typeof(QMessageBox.Icon), value); }
        }
        [Q_PROPERTY("QPixmap", "iconPixmap")]
        public QPixmap IconPixmap {
            get { return (QPixmap) interceptor.Invoke("iconPixmap", "iconPixmap()", typeof(QPixmap)); }
            set { interceptor.Invoke("setIconPixmap#", "setIconPixmap(QPixmap)", typeof(void), typeof(QPixmap), value); }
        }
        [Q_PROPERTY("Qt::TextFormat", "textFormat")]
        public new Qt.TextFormat TextFormat {
            get { return (Qt.TextFormat) interceptor.Invoke("textFormat", "textFormat()", typeof(Qt.TextFormat)); }
            set { interceptor.Invoke("setTextFormat$", "setTextFormat(Qt::TextFormat)", typeof(void), typeof(Qt.TextFormat), value); }
        }
        [Q_PROPERTY("QMessageBox::StandardButtons", "standardButtons")]
        public uint StandardButtons {
            get { return (uint) interceptor.Invoke("standardButtons", "standardButtons()", typeof(uint)); }
            set { interceptor.Invoke("setStandardButtons$", "setStandardButtons(QMessageBox::StandardButtons)", typeof(void), typeof(uint), value); }
        }
        [Q_PROPERTY("QString", "detailedText")]
        public string DetailedText {
            get { return (string) interceptor.Invoke("detailedText", "detailedText()", typeof(string)); }
            set { interceptor.Invoke("setDetailedText$", "setDetailedText(QString)", typeof(void), typeof(string), value); }
        }
        [Q_PROPERTY("QString", "informativeText")]
        public string InformativeText {
            get { return (string) interceptor.Invoke("informativeText", "informativeText()", typeof(string)); }
            set { interceptor.Invoke("setInformativeText$", "setInformativeText(QString)", typeof(void), typeof(string), value); }
        }
        public QMessageBox(QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QMessageBox#", "QMessageBox(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        public QMessageBox() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QMessageBox", "QMessageBox()", typeof(void));
        }
        public QMessageBox(QMessageBox.Icon icon, string title, string text, uint buttons, QWidget parent, uint flags) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QMessageBox$$$$#$", "QMessageBox(QMessageBox::Icon, const QString&, const QString&, QMessageBox::StandardButtons, QWidget*, Qt::WindowFlags)", typeof(void), typeof(QMessageBox.Icon), icon, typeof(string), title, typeof(string), text, typeof(uint), buttons, typeof(QWidget), parent, typeof(uint), flags);
        }
        public QMessageBox(QMessageBox.Icon icon, string title, string text, uint buttons, QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QMessageBox$$$$#", "QMessageBox(QMessageBox::Icon, const QString&, const QString&, QMessageBox::StandardButtons, QWidget*)", typeof(void), typeof(QMessageBox.Icon), icon, typeof(string), title, typeof(string), text, typeof(uint), buttons, typeof(QWidget), parent);
        }
        public QMessageBox(QMessageBox.Icon icon, string title, string text, uint buttons) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QMessageBox$$$$", "QMessageBox(QMessageBox::Icon, const QString&, const QString&, QMessageBox::StandardButtons)", typeof(void), typeof(QMessageBox.Icon), icon, typeof(string), title, typeof(string), text, typeof(uint), buttons);
        }
        public QMessageBox(QMessageBox.Icon icon, string title, string text) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QMessageBox$$$", "QMessageBox(QMessageBox::Icon, const QString&, const QString&)", typeof(void), typeof(QMessageBox.Icon), icon, typeof(string), title, typeof(string), text);
        }
        public void AddButton(QAbstractButton button, QMessageBox.ButtonRole role) {
            interceptor.Invoke("addButton#$", "addButton(QAbstractButton*, QMessageBox::ButtonRole)", typeof(void), typeof(QAbstractButton), button, typeof(QMessageBox.ButtonRole), role);
        }
        public QPushButton AddButton(string text, QMessageBox.ButtonRole role) {
            return (QPushButton) interceptor.Invoke("addButton$$", "addButton(const QString&, QMessageBox::ButtonRole)", typeof(QPushButton), typeof(string), text, typeof(QMessageBox.ButtonRole), role);
        }
        public QPushButton AddButton(QMessageBox.StandardButton button) {
            return (QPushButton) interceptor.Invoke("addButton$", "addButton(QMessageBox::StandardButton)", typeof(QPushButton), typeof(QMessageBox.StandardButton), button);
        }
        public void RemoveButton(QAbstractButton button) {
            interceptor.Invoke("removeButton#", "removeButton(QAbstractButton*)", typeof(void), typeof(QAbstractButton), button);
        }
        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);
        }
        public List<QAbstractButton> Buttons() {
            return (List<QAbstractButton>) interceptor.Invoke("buttons", "buttons() const", typeof(List<QAbstractButton>));
        }
        public QMessageBox.ButtonRole buttonRole(QAbstractButton button) {
            return (QMessageBox.ButtonRole) interceptor.Invoke("buttonRole#", "buttonRole(QAbstractButton*) const", typeof(QMessageBox.ButtonRole), typeof(QAbstractButton), button);
        }
        public QMessageBox.StandardButton standardButton(QAbstractButton button) {
            return (QMessageBox.StandardButton) interceptor.Invoke("standardButton#", "standardButton(QAbstractButton*) const", typeof(QMessageBox.StandardButton), typeof(QAbstractButton), button);
        }
        public QAbstractButton Button(QMessageBox.StandardButton which) {
            return (QAbstractButton) interceptor.Invoke("button$", "button(QMessageBox::StandardButton) const", typeof(QAbstractButton), typeof(QMessageBox.StandardButton), which);
        }
        public QPushButton DefaultButton() {
            return (QPushButton) interceptor.Invoke("defaultButton", "defaultButton() const", typeof(QPushButton));
        }
        public void SetDefaultButton(QPushButton button) {
            interceptor.Invoke("setDefaultButton#", "setDefaultButton(QPushButton*)", typeof(void), typeof(QPushButton), button);
        }
        public void SetDefaultButton(QMessageBox.StandardButton button) {
            interceptor.Invoke("setDefaultButton$", "setDefaultButton(QMessageBox::StandardButton)", typeof(void), typeof(QMessageBox.StandardButton), button);
        }
        public QAbstractButton EscapeButton() {
            return (QAbstractButton) interceptor.Invoke("escapeButton", "escapeButton() const", typeof(QAbstractButton));
        }
        public void SetEscapeButton(QAbstractButton button) {
            interceptor.Invoke("setEscapeButton#", "setEscapeButton(QAbstractButton*)", typeof(void), typeof(QAbstractButton), button);
        }
        public void SetEscapeButton(QMessageBox.StandardButton button) {
            interceptor.Invoke("setEscapeButton$", "setEscapeButton(QMessageBox::StandardButton)", typeof(void), typeof(QMessageBox.StandardButton), button);
        }
        public QAbstractButton ClickedButton() {
            return (QAbstractButton) interceptor.Invoke("clickedButton", "clickedButton() const", typeof(QAbstractButton));
        }
        [SmokeMethod("sizeHint() const")]
        public override QSize SizeHint() {
            return (QSize) interceptor.Invoke("sizeHint", "sizeHint() const", typeof(QSize));
        }
        public QMessageBox(string title, string text, QMessageBox.Icon icon, int button0, int button1, int button2, QWidget parent, uint f) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QMessageBox$$$$$$#$", "QMessageBox(const QString&, const QString&, QMessageBox::Icon, int, int, int, QWidget*, Qt::WindowFlags)", typeof(void), typeof(string), title, typeof(string), text, typeof(QMessageBox.Icon), icon, typeof(int), button0, typeof(int), button1, typeof(int), button2, typeof(QWidget), parent, typeof(uint), f);
        }
        public QMessageBox(string title, string text, QMessageBox.Icon icon, int button0, int button1, int button2, QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QMessageBox$$$$$$#", "QMessageBox(const QString&, const QString&, QMessageBox::Icon, int, int, int, QWidget*)", typeof(void), typeof(string), title, typeof(string), text, typeof(QMessageBox.Icon), icon, typeof(int), button0, typeof(int), button1, typeof(int), button2, typeof(QWidget), parent);
        }
        public QMessageBox(string title, string text, QMessageBox.Icon icon, int button0, int button1, int button2) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QMessageBox$$$$$$", "QMessageBox(const QString&, const QString&, QMessageBox::Icon, int, int, int)", typeof(void), typeof(string), title, typeof(string), text, typeof(QMessageBox.Icon), icon, typeof(int), button0, typeof(int), button1, typeof(int), button2);
        }
        public string ButtonText(int button) {
            return (string) interceptor.Invoke("buttonText$", "buttonText(int) const", typeof(string), typeof(int), button);
        }
        public void SetButtonText(int button, string text) {
            interceptor.Invoke("setButtonText$$", "setButtonText(int, const QString&)", typeof(void), typeof(int), button, typeof(string), text);
        }
        public void SetWindowModality(Qt.WindowModality windowModality) {
            interceptor.Invoke("setWindowModality$", "setWindowModality(Qt::WindowModality)", typeof(void), typeof(Qt.WindowModality), windowModality);
        }
        [SmokeMethod("event(QEvent*)")]
        protected override bool Event(QEvent e) {
            return (bool) interceptor.Invoke("event#", "event(QEvent*)", typeof(bool), typeof(QEvent), e);
        }
        [SmokeMethod("resizeEvent(QResizeEvent*)")]
        protected override void ResizeEvent(QResizeEvent arg1) {
            interceptor.Invoke("resizeEvent#", "resizeEvent(QResizeEvent*)", typeof(void), typeof(QResizeEvent), arg1);
        }
        [SmokeMethod("showEvent(QShowEvent*)")]
        protected override void ShowEvent(QShowEvent arg1) {
            interceptor.Invoke("showEvent#", "showEvent(QShowEvent*)", typeof(void), typeof(QShowEvent), arg1);
        }
        [SmokeMethod("closeEvent(QCloseEvent*)")]
        protected override void CloseEvent(QCloseEvent arg1) {
            interceptor.Invoke("closeEvent#", "closeEvent(QCloseEvent*)", typeof(void), typeof(QCloseEvent), arg1);
        }
        [SmokeMethod("keyPressEvent(QKeyEvent*)")]
        protected override void KeyPressEvent(QKeyEvent arg1) {
            interceptor.Invoke("keyPressEvent#", "keyPressEvent(QKeyEvent*)", typeof(void), typeof(QKeyEvent), arg1);
        }
        [SmokeMethod("changeEvent(QEvent*)")]
        protected override void ChangeEvent(QEvent arg1) {
            interceptor.Invoke("changeEvent#", "changeEvent(QEvent*)", typeof(void), typeof(QEvent), arg1);
        }
        ~QMessageBox() {
            interceptor.Invoke("~QMessageBox", "~QMessageBox()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QMessageBox", "~QMessageBox()", 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);
        }
        public static QMessageBox.StandardButton Information(QWidget parent, string title, string text, uint buttons, QMessageBox.StandardButton defaultButton) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("information#$$$$", "information(QWidget*, const QString&, const QString&, QMessageBox::StandardButtons, QMessageBox::StandardButton)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(uint), buttons, typeof(QMessageBox.StandardButton), defaultButton);
        }
        public static QMessageBox.StandardButton Information(QWidget parent, string title, string text, uint buttons) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("information#$$$", "information(QWidget*, const QString&, const QString&, QMessageBox::StandardButtons)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(uint), buttons);
        }
        public static QMessageBox.StandardButton Information(QWidget parent, string title, string text) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("information#$$", "information(QWidget*, const QString&, const QString&)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text);
        }
        public static QMessageBox.StandardButton Question(QWidget parent, string title, string text, uint buttons, QMessageBox.StandardButton defaultButton) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("question#$$$$", "question(QWidget*, const QString&, const QString&, QMessageBox::StandardButtons, QMessageBox::StandardButton)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(uint), buttons, typeof(QMessageBox.StandardButton), defaultButton);
        }
        public static QMessageBox.StandardButton Question(QWidget parent, string title, string text, uint buttons) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("question#$$$", "question(QWidget*, const QString&, const QString&, QMessageBox::StandardButtons)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(uint), buttons);
        }
        public static QMessageBox.StandardButton Question(QWidget parent, string title, string text) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("question#$$", "question(QWidget*, const QString&, const QString&)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text);
        }
        public static QMessageBox.StandardButton Warning(QWidget parent, string title, string text, uint buttons, QMessageBox.StandardButton defaultButton) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("warning#$$$$", "warning(QWidget*, const QString&, const QString&, QMessageBox::StandardButtons, QMessageBox::StandardButton)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(uint), buttons, typeof(QMessageBox.StandardButton), defaultButton);
        }
        public static QMessageBox.StandardButton Warning(QWidget parent, string title, string text, uint buttons) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("warning#$$$", "warning(QWidget*, const QString&, const QString&, QMessageBox::StandardButtons)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(uint), buttons);
        }
        public static QMessageBox.StandardButton Warning(QWidget parent, string title, string text) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("warning#$$", "warning(QWidget*, const QString&, const QString&)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text);
        }
        public static QMessageBox.StandardButton Critical(QWidget parent, string title, string text, uint buttons, QMessageBox.StandardButton defaultButton) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("critical#$$$$", "critical(QWidget*, const QString&, const QString&, QMessageBox::StandardButtons, QMessageBox::StandardButton)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(uint), buttons, typeof(QMessageBox.StandardButton), defaultButton);
        }
        public static QMessageBox.StandardButton Critical(QWidget parent, string title, string text, uint buttons) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("critical#$$$", "critical(QWidget*, const QString&, const QString&, QMessageBox::StandardButtons)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(uint), buttons);
        }
        public static QMessageBox.StandardButton Critical(QWidget parent, string title, string text) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("critical#$$", "critical(QWidget*, const QString&, const QString&)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text);
        }
        public static void About(QWidget parent, string title, string text) {
            staticInterceptor.Invoke("about#$$", "about(QWidget*, const QString&, const QString&)", typeof(void), typeof(QWidget), parent, typeof(string), title, typeof(string), text);
        }
        public static void AboutQt(QWidget parent, string title) {
            staticInterceptor.Invoke("aboutQt#$", "aboutQt(QWidget*, const QString&)", typeof(void), typeof(QWidget), parent, typeof(string), title);
        }
        public static void AboutQt(QWidget parent) {
            staticInterceptor.Invoke("aboutQt#", "aboutQt(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        public static int Information(QWidget parent, string title, string text, int button0, int button1, int button2) {
            return (int) staticInterceptor.Invoke("information#$$$$$", "information(QWidget*, const QString&, const QString&, int, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(int), button0, typeof(int), button1, typeof(int), button2);
        }
        public static int Information(QWidget parent, string title, string text, int button0, int button1) {
            return (int) staticInterceptor.Invoke("information#$$$$", "information(QWidget*, const QString&, const QString&, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(int), button0, typeof(int), button1);
        }
        public static int Information(QWidget parent, string title, string text, int button0) {
            return (int) staticInterceptor.Invoke("information#$$$", "information(QWidget*, const QString&, const QString&, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(int), button0);
        }
        public static int Information(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text, int defaultButtonNumber, int escapeButtonNumber) {
            return (int) staticInterceptor.Invoke("information#$$$$$$$", "information(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text, typeof(int), defaultButtonNumber, typeof(int), escapeButtonNumber);
        }
        public static int Information(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text, int defaultButtonNumber) {
            return (int) staticInterceptor.Invoke("information#$$$$$$", "information(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text, typeof(int), defaultButtonNumber);
        }
        public static int Information(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text) {
            return (int) staticInterceptor.Invoke("information#$$$$$", "information(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text);
        }
        public static int Information(QWidget parent, string title, string text, string button0Text, string button1Text) {
            return (int) staticInterceptor.Invoke("information#$$$$", "information(QWidget*, const QString&, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text);
        }
        public static int Information(QWidget parent, string title, string text, string button0Text) {
            return (int) staticInterceptor.Invoke("information#$$$", "information(QWidget*, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text);
        }
        public static QMessageBox.StandardButton Information(QWidget parent, string title, string text, QMessageBox.StandardButton button0, QMessageBox.StandardButton button1) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("information#$$$$", "information(QWidget*, const QString&, const QString&, QMessageBox::StandardButton, QMessageBox::StandardButton)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(QMessageBox.StandardButton), button0, typeof(QMessageBox.StandardButton), button1);
        }
        public static QMessageBox.StandardButton Information(QWidget parent, string title, string text, QMessageBox.StandardButton button0) {
            return (QMessageBox.StandardButton) staticInterceptor.Invoke("information#$$$", "information(QWidget*, const QString&, const QString&, QMessageBox::StandardButton)", typeof(QMessageBox.StandardButton), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(QMessageBox.StandardButton), button0);
        }
        public static int Question(QWidget parent, string title, string text, int button0, int button1, int button2) {
            return (int) staticInterceptor.Invoke("question#$$$$$", "question(QWidget*, const QString&, const QString&, int, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(int), button0, typeof(int), button1, typeof(int), button2);
        }
        public static int Question(QWidget parent, string title, string text, int button0, int button1) {
            return (int) staticInterceptor.Invoke("question#$$$$", "question(QWidget*, const QString&, const QString&, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(int), button0, typeof(int), button1);
        }
        public static int Question(QWidget parent, string title, string text, int button0) {
            return (int) staticInterceptor.Invoke("question#$$$", "question(QWidget*, const QString&, const QString&, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(int), button0);
        }
        public static int Question(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text, int defaultButtonNumber, int escapeButtonNumber) {
            return (int) staticInterceptor.Invoke("question#$$$$$$$", "question(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text, typeof(int), defaultButtonNumber, typeof(int), escapeButtonNumber);
        }
        public static int Question(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text, int defaultButtonNumber) {
            return (int) staticInterceptor.Invoke("question#$$$$$$", "question(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text, typeof(int), defaultButtonNumber);
        }
        public static int Question(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text) {
            return (int) staticInterceptor.Invoke("question#$$$$$", "question(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text);
        }
        public static int Question(QWidget parent, string title, string text, string button0Text, string button1Text) {
            return (int) staticInterceptor.Invoke("question#$$$$", "question(QWidget*, const QString&, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text);
        }
        public static int Question(QWidget parent, string title, string text, string button0Text) {
            return (int) staticInterceptor.Invoke("question#$$$", "question(QWidget*, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text);
        }
        public static int Question(QWidget parent, string title, string text, QMessageBox.StandardButton button0, QMessageBox.StandardButton button1) {
            return (int) staticInterceptor.Invoke("question#$$$$", "question(QWidget*, const QString&, const QString&, QMessageBox::StandardButton, QMessageBox::StandardButton)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(QMessageBox.StandardButton), button0, typeof(QMessageBox.StandardButton), button1);
        }
        public static int Warning(QWidget parent, string title, string text, int button0, int button1, int button2) {
            return (int) staticInterceptor.Invoke("warning#$$$$$", "warning(QWidget*, const QString&, const QString&, int, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(int), button0, typeof(int), button1, typeof(int), button2);
        }
        public static int Warning(QWidget parent, string title, string text, int button0, int button1) {
            return (int) staticInterceptor.Invoke("warning#$$$$", "warning(QWidget*, const QString&, const QString&, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(int), button0, typeof(int), button1);
        }
        public static int Warning(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text, int defaultButtonNumber, int escapeButtonNumber) {
            return (int) staticInterceptor.Invoke("warning#$$$$$$$", "warning(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text, typeof(int), defaultButtonNumber, typeof(int), escapeButtonNumber);
        }
        public static int Warning(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text, int defaultButtonNumber) {
            return (int) staticInterceptor.Invoke("warning#$$$$$$", "warning(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text, typeof(int), defaultButtonNumber);
        }
        public static int Warning(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text) {
            return (int) staticInterceptor.Invoke("warning#$$$$$", "warning(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text);
        }
        public static int Warning(QWidget parent, string title, string text, string button0Text, string button1Text) {
            return (int) staticInterceptor.Invoke("warning#$$$$", "warning(QWidget*, const QString&, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text);
        }
        public static int Warning(QWidget parent, string title, string text, string button0Text) {
            return (int) staticInterceptor.Invoke("warning#$$$", "warning(QWidget*, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text);
        }
        public static int Warning(QWidget parent, string title, string text, QMessageBox.StandardButton button0, QMessageBox.StandardButton button1) {
            return (int) staticInterceptor.Invoke("warning#$$$$", "warning(QWidget*, const QString&, const QString&, QMessageBox::StandardButton, QMessageBox::StandardButton)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(QMessageBox.StandardButton), button0, typeof(QMessageBox.StandardButton), button1);
        }
        public static int Critical(QWidget parent, string title, string text, int button0, int button1, int button2) {
            return (int) staticInterceptor.Invoke("critical#$$$$$", "critical(QWidget*, const QString&, const QString&, int, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(int), button0, typeof(int), button1, typeof(int), button2);
        }
        public static int Critical(QWidget parent, string title, string text, int button0, int button1) {
            return (int) staticInterceptor.Invoke("critical#$$$$", "critical(QWidget*, const QString&, const QString&, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(int), button0, typeof(int), button1);
        }
        public static int Critical(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text, int defaultButtonNumber, int escapeButtonNumber) {
            return (int) staticInterceptor.Invoke("critical#$$$$$$$", "critical(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&, int, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text, typeof(int), defaultButtonNumber, typeof(int), escapeButtonNumber);
        }
        public static int Critical(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text, int defaultButtonNumber) {
            return (int) staticInterceptor.Invoke("critical#$$$$$$", "critical(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&, int)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text, typeof(int), defaultButtonNumber);
        }
        public static int Critical(QWidget parent, string title, string text, string button0Text, string button1Text, string button2Text) {
            return (int) staticInterceptor.Invoke("critical#$$$$$", "critical(QWidget*, const QString&, const QString&, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text, typeof(string), button2Text);
        }
        public static int Critical(QWidget parent, string title, string text, string button0Text, string button1Text) {
            return (int) staticInterceptor.Invoke("critical#$$$$", "critical(QWidget*, const QString&, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text, typeof(string), button1Text);
        }
        public static int Critical(QWidget parent, string title, string text, string button0Text) {
            return (int) staticInterceptor.Invoke("critical#$$$", "critical(QWidget*, const QString&, const QString&, const QString&)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(string), button0Text);
        }
        public static int Critical(QWidget parent, string title, string text, QMessageBox.StandardButton button0, QMessageBox.StandardButton button1) {
            return (int) staticInterceptor.Invoke("critical#$$$$", "critical(QWidget*, const QString&, const QString&, QMessageBox::StandardButton, QMessageBox::StandardButton)", typeof(int), typeof(QWidget), parent, typeof(string), title, typeof(string), text, typeof(QMessageBox.StandardButton), button0, typeof(QMessageBox.StandardButton), button1);
        }
        public static QPixmap StandardIcon(QMessageBox.Icon icon) {
            return (QPixmap) staticInterceptor.Invoke("standardIcon$", "standardIcon(QMessageBox::Icon)", typeof(QPixmap), typeof(QMessageBox.Icon), icon);
        }
        protected new IQMessageBoxSignals Emit {
            get { return (IQMessageBoxSignals) Q_EMIT; }
        }
    }

    public interface IQMessageBoxSignals : IQDialogSignals {
        [Q_SIGNAL("void buttonClicked(QAbstractButton*)")]
        void ButtonClicked(QAbstractButton button);
    }
}
