//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);
	}
}
