//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    /// <remarks> See <see cref="IQX11EmbedContainerSignals"></see> for signals emitted by QX11EmbedContainer
    /// </remarks>
    [SmokeClass("QX11EmbedContainer")]
    public class QX11EmbedContainer : QWidget, IDisposable {
        protected QX11EmbedContainer(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QX11EmbedContainer), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QX11EmbedContainer() {
            staticInterceptor = new SmokeInvocation(typeof(QX11EmbedContainer), null);
        }
        public enum Error {
            Unknown = 0,
            Internal = 1,
            InvalidWindowID = 2,
        }
        // bool x11Event(XEvent* arg1); >>>> NOT CONVERTED
        public QX11EmbedContainer(QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QX11EmbedContainer#", "QX11EmbedContainer(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        public QX11EmbedContainer() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QX11EmbedContainer", "QX11EmbedContainer()", typeof(void));
        }
        public void EmbedClient(uint id) {
            interceptor.Invoke("embedClient$", "embedClient(WId)", typeof(void), typeof(uint), id);
        }
        public void DiscardClient() {
            interceptor.Invoke("discardClient", "discardClient()", typeof(void));
        }
        public uint ClientWinId() {
            return (uint) interceptor.Invoke("clientWinId", "clientWinId() const", typeof(uint));
        }
        [SmokeMethod("minimumSizeHint() const")]
        public override QSize MinimumSizeHint() {
            return (QSize) interceptor.Invoke("minimumSizeHint", "minimumSizeHint() const", typeof(QSize));
        }
        public QX11EmbedContainer.Error error() {
            return (QX11EmbedContainer.Error) interceptor.Invoke("error", "error() const", typeof(QX11EmbedContainer.Error));
        }
        [SmokeMethod("eventFilter(QObject*, QEvent*)")]
        protected new virtual bool EventFilter(QObject arg1, QEvent arg2) {
            return (bool) interceptor.Invoke("eventFilter##", "eventFilter(QObject*, QEvent*)", typeof(bool), typeof(QObject), arg1, typeof(QEvent), arg2);
        }
        [SmokeMethod("paintEvent(QPaintEvent*)")]
        protected override void PaintEvent(QPaintEvent e) {
            interceptor.Invoke("paintEvent#", "paintEvent(QPaintEvent*)", typeof(void), typeof(QPaintEvent), 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("hideEvent(QHideEvent*)")]
        protected override void HideEvent(QHideEvent arg1) {
            interceptor.Invoke("hideEvent#", "hideEvent(QHideEvent*)", typeof(void), typeof(QHideEvent), arg1);
        }
        [SmokeMethod("event(QEvent*)")]
        protected override bool Event(QEvent arg1) {
            return (bool) interceptor.Invoke("event#", "event(QEvent*)", typeof(bool), typeof(QEvent), arg1);
        }
        ~QX11EmbedContainer() {
            interceptor.Invoke("~QX11EmbedContainer", "~QX11EmbedContainer()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QX11EmbedContainer", "~QX11EmbedContainer()", 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 IQX11EmbedContainerSignals Emit {
            get { return (IQX11EmbedContainerSignals) Q_EMIT; }
        }
    }

    public interface IQX11EmbedContainerSignals : IQWidgetSignals {
        [Q_SIGNAL("void clientIsEmbedded()")]
        void ClientIsEmbedded();
        [Q_SIGNAL("void clientClosed()")]
        void ClientClosed();
        [Q_SIGNAL("void error(QX11EmbedContainer::Error)")]
        void Error(QX11EmbedContainer.Error arg1);
    }
}
