//Auto-generated by kalyptus. DO NOT EDIT.
namespace QScintilla {

	using System;
	using Qyoto;

	[SmokeClass("QsciMacro")]
	public class QsciMacro : QObject, IDisposable {
 		protected QsciMacro(Type dummy) : base((Type) null) {}
		protected new void CreateProxy() {
			interceptor = new SmokeInvocation(typeof(QsciMacro), this);
		}
		private static SmokeInvocation staticInterceptor = null;
		static QsciMacro() {
			staticInterceptor = new SmokeInvocation(typeof(QsciMacro), null);
		}
		public QsciMacro(QsciScintilla parent) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QsciMacro#", "QsciMacro(QsciScintilla*)", typeof(void), typeof(QsciScintilla), parent);
		}
		public QsciMacro(string asc, QsciScintilla parent) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QsciMacro$#", "QsciMacro(const QString&, QsciScintilla*)", typeof(void), typeof(string), asc, typeof(QsciScintilla), parent);
		}
		public void Clear() {
			interceptor.Invoke("clear", "clear()", typeof(void));
		}
		public bool Load(string asc) {
			return (bool) interceptor.Invoke("load$", "load(const QString&)", typeof(bool), typeof(string), asc);
		}
		public string Save() {
			return (string) interceptor.Invoke("save", "save() const", typeof(string));
		}
		[Q_SLOT("void play()")]
		[SmokeMethod("play()")]
		public virtual void Play() {
			interceptor.Invoke("play", "play()", typeof(void));
		}
		[Q_SLOT("void startRecording()")]
		[SmokeMethod("startRecording()")]
		public virtual void StartRecording() {
			interceptor.Invoke("startRecording", "startRecording()", typeof(void));
		}
		[Q_SLOT("void endRecording()")]
		[SmokeMethod("endRecording()")]
		public virtual void EndRecording() {
			interceptor.Invoke("endRecording", "endRecording()", typeof(void));
		}
		~QsciMacro() {
			interceptor.Invoke("~QsciMacro", "~QsciMacro()", typeof(void));
		}
		public new void Dispose() {
			interceptor.Invoke("~QsciMacro", "~QsciMacro()", 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 IQsciMacroSignals Emit {
			get { return (IQsciMacroSignals) Q_EMIT; }
		}
	}

	public interface IQsciMacroSignals : IQObjectSignals {
	}
}
