//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Runtime.InteropServices;
    [SmokeClass("QFontDialog")]
    public class QFontDialog : QDialog {
        protected QFontDialog(Type dummy) : base((Type) null) {}
        private static SmokeInvocation staticInterceptor = null;
        static QFontDialog() {
            staticInterceptor = new SmokeInvocation(typeof(QFontDialog), null);
        }
        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 QFont GetFont(ref bool ok, QFont def, QWidget parent, string caption) {
            StackItem[] stack = new StackItem[5];
            stack[1].s_bool = ok;
#if DEBUG
            stack[2].s_class = (IntPtr) DebugGCHandle.Alloc(def);
#else
            stack[2].s_class = (IntPtr) GCHandle.Alloc(def);
#endif
#if DEBUG
            stack[3].s_class = (IntPtr) DebugGCHandle.Alloc(parent);
#else
            stack[3].s_class = (IntPtr) GCHandle.Alloc(parent);
#endif
#if DEBUG
            stack[4].s_class = (IntPtr) DebugGCHandle.Alloc(caption);
#else
            stack[4].s_class = (IntPtr) GCHandle.Alloc(caption);
#endif
            staticInterceptor.Invoke("getFont$##$", "getFont(bool*, const QFont&, QWidget*, const QString&)", stack);
            ok = stack[1].s_bool;
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[2].s_class);
#else
            ((GCHandle) stack[2].s_class).Free();
#endif
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[3].s_class);
#else
            ((GCHandle) stack[3].s_class).Free();
#endif
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[4].s_class);
#else
            ((GCHandle) stack[4].s_class).Free();
#endif
            object returnValue = ((GCHandle) stack[0].s_class).Target;
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[0].s_class);
#else
            ((GCHandle) stack[0].s_class).Free();
#endif
            return (QFont) returnValue;
        }
        public static QFont GetFont(ref bool ok, QFont def, QWidget parent) {
            StackItem[] stack = new StackItem[4];
            stack[1].s_bool = ok;
#if DEBUG
            stack[2].s_class = (IntPtr) DebugGCHandle.Alloc(def);
#else
            stack[2].s_class = (IntPtr) GCHandle.Alloc(def);
#endif
#if DEBUG
            stack[3].s_class = (IntPtr) DebugGCHandle.Alloc(parent);
#else
            stack[3].s_class = (IntPtr) GCHandle.Alloc(parent);
#endif
            staticInterceptor.Invoke("getFont$##", "getFont(bool*, const QFont&, QWidget*)", stack);
            ok = stack[1].s_bool;
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[2].s_class);
#else
            ((GCHandle) stack[2].s_class).Free();
#endif
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[3].s_class);
#else
            ((GCHandle) stack[3].s_class).Free();
#endif
            object returnValue = ((GCHandle) stack[0].s_class).Target;
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[0].s_class);
#else
            ((GCHandle) stack[0].s_class).Free();
#endif
            return (QFont) returnValue;
        }
        public static QFont GetFont(ref bool ok, QFont def) {
            StackItem[] stack = new StackItem[3];
            stack[1].s_bool = ok;
#if DEBUG
            stack[2].s_class = (IntPtr) DebugGCHandle.Alloc(def);
#else
            stack[2].s_class = (IntPtr) GCHandle.Alloc(def);
#endif
            staticInterceptor.Invoke("getFont$#", "getFont(bool*, const QFont&)", stack);
            ok = stack[1].s_bool;
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[2].s_class);
#else
            ((GCHandle) stack[2].s_class).Free();
#endif
            object returnValue = ((GCHandle) stack[0].s_class).Target;
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[0].s_class);
#else
            ((GCHandle) stack[0].s_class).Free();
#endif
            return (QFont) returnValue;
        }
        public static QFont GetFont(ref bool ok, QWidget parent) {
            StackItem[] stack = new StackItem[3];
            stack[1].s_bool = ok;
#if DEBUG
            stack[2].s_class = (IntPtr) DebugGCHandle.Alloc(parent);
#else
            stack[2].s_class = (IntPtr) GCHandle.Alloc(parent);
#endif
            staticInterceptor.Invoke("getFont$#", "getFont(bool*, QWidget*)", stack);
            ok = stack[1].s_bool;
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[2].s_class);
#else
            ((GCHandle) stack[2].s_class).Free();
#endif
            object returnValue = ((GCHandle) stack[0].s_class).Target;
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[0].s_class);
#else
            ((GCHandle) stack[0].s_class).Free();
#endif
            return (QFont) returnValue;
        }
        public static QFont GetFont(ref bool ok) {
            StackItem[] stack = new StackItem[2];
            stack[1].s_bool = ok;
            staticInterceptor.Invoke("getFont$", "getFont(bool*)", stack);
            ok = stack[1].s_bool;
            object returnValue = ((GCHandle) stack[0].s_class).Target;
#if DEBUG
            DebugGCHandle.Free((GCHandle) stack[0].s_class);
#else
            ((GCHandle) stack[0].s_class).Free();
#endif
            return (QFont) returnValue;
        }
        protected new IQFontDialogSignals Emit {
            get { return (IQFontDialogSignals) Q_EMIT; }
        }
    }

    public interface IQFontDialogSignals : IQDialogSignals {
    }
}
