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

	using System;
	using Qyoto;
	using System.Runtime.InteropServices;

	[SmokeClass("QsciLexerLua")]
	public class QsciLexerLua : QsciLexer, IDisposable {
 		protected QsciLexerLua(Type dummy) : base((Type) null) {}
		protected new void CreateProxy() {
			interceptor = new SmokeInvocation(typeof(QsciLexerLua), this);
		}
		private static SmokeInvocation staticInterceptor = null;
		static QsciLexerLua() {
			staticInterceptor = new SmokeInvocation(typeof(QsciLexerLua), null);
		}
		public const int Default = 0;
		public const int Comment = 1;
		public const int LineComment = 2;
		public const int Number = 4;
		public const int Keyword = 5;
		public const int String = 6;
		public const int Character = 7;
		public const int LiteralString = 8;
		public const int Preprocessor = 9;
		public const int Operator = 10;
		public const int Identifier = 11;
		public const int UnclosedString = 12;
		public const int BasicFunctions = 13;
		public const int StringTableMathsFunctions = 14;
		public const int CoroutinesIOSystemFacilities = 15;

		public QsciLexerLua(QObject parent) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QsciLexerLua#", "QsciLexerLua(QObject*)", typeof(void), typeof(QObject), parent);
		}
		public QsciLexerLua() : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QsciLexerLua", "QsciLexerLua()", typeof(void));
		}
		[SmokeMethod("language() const")]
		public override string Language() {
			return (string) interceptor.Invoke("language", "language() const", typeof(string));
		}
		[SmokeMethod("lexer() const")]
		public override string Lexer() {
			return (string) interceptor.Invoke("lexer", "lexer() const", typeof(string));
		}
		[SmokeMethod("blockStart(int*) const")]
		public override string BlockStart(ref int style) {
			StackItem[] stack = new StackItem[2];
			stack[1].s_int = style;
			interceptor.Invoke("blockStart$", "blockStart(int*) const", stack);
			style = stack[1].s_int;
			object returnValue = ((GCHandle) stack[0].s_class).Target;
#if DEBUG
			DebugGCHandle.Free((GCHandle) stack[0].s_class);
#else
			((GCHandle) stack[0].s_class).SynchronizedFree();
#endif
			return (string) returnValue;
		}
		[SmokeMethod("blockStart() const")]
		public override string BlockStart() {
			return (string) interceptor.Invoke("blockStart", "blockStart() const", typeof(string));
		}
		[SmokeMethod("braceStyle() const")]
		public override int BraceStyle() {
			return (int) interceptor.Invoke("braceStyle", "braceStyle() const", typeof(int));
		}
		[SmokeMethod("defaultColor(int) const")]
		public override QColor DefaultColor(int style) {
			return (QColor) interceptor.Invoke("defaultColor$", "defaultColor(int) const", typeof(QColor), typeof(int), style);
		}
		[SmokeMethod("defaultEolFill(int) const")]
		public override bool DefaultEolFill(int style) {
			return (bool) interceptor.Invoke("defaultEolFill$", "defaultEolFill(int) const", typeof(bool), typeof(int), style);
		}
		[SmokeMethod("defaultFont(int) const")]
		public override QFont DefaultFont(int style) {
			return (QFont) interceptor.Invoke("defaultFont$", "defaultFont(int) const", typeof(QFont), typeof(int), style);
		}
		[SmokeMethod("defaultPaper(int) const")]
		public override QColor DefaultPaper(int style) {
			return (QColor) interceptor.Invoke("defaultPaper$", "defaultPaper(int) const", typeof(QColor), typeof(int), style);
		}
		[SmokeMethod("keywords(int) const")]
		public override string Keywords(int set) {
			return (string) interceptor.Invoke("keywords$", "keywords(int) const", typeof(string), typeof(int), set);
		}
		[SmokeMethod("description(int) const")]
		public override string Description(int style) {
			return (string) interceptor.Invoke("description$", "description(int) const", typeof(string), typeof(int), style);
		}
		[SmokeMethod("refreshProperties()")]
		public override void RefreshProperties() {
			interceptor.Invoke("refreshProperties", "refreshProperties()", typeof(void));
		}
		public bool FoldCompact() {
			return (bool) interceptor.Invoke("foldCompact", "foldCompact() const", typeof(bool));
		}
		[Q_SLOT("void setFoldCompact(bool)")]
		[SmokeMethod("setFoldCompact(bool)")]
		public virtual void SetFoldCompact(bool fold) {
			interceptor.Invoke("setFoldCompact$", "setFoldCompact(bool)", typeof(void), typeof(bool), fold);
		}
		[SmokeMethod("readProperties(QSettings&, const QString&)")]
		protected override bool ReadProperties(QSettings qs, string prefix) {
			return (bool) interceptor.Invoke("readProperties#$", "readProperties(QSettings&, const QString&)", typeof(bool), typeof(QSettings), qs, typeof(string), prefix);
		}
		[SmokeMethod("writeProperties(QSettings&, const QString&) const")]
		protected override bool WriteProperties(QSettings qs, string prefix) {
			return (bool) interceptor.Invoke("writeProperties#$", "writeProperties(QSettings&, const QString&) const", typeof(bool), typeof(QSettings), qs, typeof(string), prefix);
		}
		~QsciLexerLua() {
			interceptor.Invoke("~QsciLexerLua", "~QsciLexerLua()", typeof(void));
		}
		public new void Dispose() {
			interceptor.Invoke("~QsciLexerLua", "~QsciLexerLua()", 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 IQsciLexerLuaSignals Emit {
			get { return (IQsciLexerLuaSignals) Q_EMIT; }
		}
	}

	public interface IQsciLexerLuaSignals : IQsciLexerSignals {
	}
}
