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

	using System;
	using Qyoto;
	using System.Runtime.InteropServices;
	using System.Collections.Generic;

	[SmokeClass("QsciLexerPython")]
	public class QsciLexerPython : QsciLexer, IDisposable {
 		protected QsciLexerPython(Type dummy) : base((Type) null) {}
		protected new void CreateProxy() {
			interceptor = new SmokeInvocation(typeof(QsciLexerPython), this);
		}
		private static SmokeInvocation staticInterceptor = null;
		static QsciLexerPython() {
			staticInterceptor = new SmokeInvocation(typeof(QsciLexerPython), null);
		}
		public enum IndentationWarning {
			NoWarning = 0,
			Inconsistent = 1,
			TabsAfterSpaces = 2,
			Spaces = 3,
			Tabs = 4,
		}
		public const int Default = 0;
		public const int Comment = 1;
		public const int Number = 2;
		public const int DoubleQuotedString = 3;
		public const int SingleQuotedString = 4;
		public const int Keyword = 5;
		public const int TripleSingleQuotedString = 6;
		public const int TripleDoubleQuotedString = 7;
		public const int ClassName = 8;
		public const int FunctionMethodName = 9;
		public const int Operator = 10;
		public const int Identifier = 11;
		public const int CommentBlock = 12;
		public const int UnclosedString = 13;
		public const int HighlightedIdentifier = 14;
		public const int Decorator = 15;

		public QsciLexerPython(QObject parent) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QsciLexerPython#", "QsciLexerPython(QObject*)", typeof(void), typeof(QObject), parent);
		}
		public QsciLexerPython() : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QsciLexerPython", "QsciLexerPython()", 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("autoCompletionWordSeparators() const")]
		public override List<string> AutoCompletionWordSeparators() {
			return (List<string>) interceptor.Invoke("autoCompletionWordSeparators", "autoCompletionWordSeparators() const", typeof(List<string>));
		}
		[SmokeMethod("blockLookback() const")]
		public override int BlockLookback() {
			return (int) interceptor.Invoke("blockLookback", "blockLookback() const", typeof(int));
		}
		[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("indentationGuideView() const")]
		public override int IndentationGuideView() {
			return (int) interceptor.Invoke("indentationGuideView", "indentationGuideView() const", typeof(int));
		}
		[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 FoldComments() {
			return (bool) interceptor.Invoke("foldComments", "foldComments() const", typeof(bool));
		}
		public bool FoldQuotes() {
			return (bool) interceptor.Invoke("foldQuotes", "foldQuotes() const", typeof(bool));
		}
		public QsciLexerPython.IndentationWarning indentationWarning() {
			return (QsciLexerPython.IndentationWarning) interceptor.Invoke("indentationWarning", "indentationWarning() const", typeof(QsciLexerPython.IndentationWarning));
		}
		[Q_SLOT("void setFoldComments(bool)")]
		[SmokeMethod("setFoldComments(bool)")]
		public virtual void SetFoldComments(bool fold) {
			interceptor.Invoke("setFoldComments$", "setFoldComments(bool)", typeof(void), typeof(bool), fold);
		}
		[Q_SLOT("void setFoldQuotes(bool)")]
		[SmokeMethod("setFoldQuotes(bool)")]
		public virtual void SetFoldQuotes(bool fold) {
			interceptor.Invoke("setFoldQuotes$", "setFoldQuotes(bool)", typeof(void), typeof(bool), fold);
		}
		[Q_SLOT("void setIndentationWarning(QsciLexerPython::IndentationWarning)")]
		[SmokeMethod("setIndentationWarning(QsciLexerPython::IndentationWarning)")]
		public virtual void SetIndentationWarning(QsciLexerPython.IndentationWarning warn) {
			interceptor.Invoke("setIndentationWarning$", "setIndentationWarning(QsciLexerPython::IndentationWarning)", typeof(void), typeof(QsciLexerPython.IndentationWarning), warn);
		}
		[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);
		}
		~QsciLexerPython() {
			interceptor.Invoke("~QsciLexerPython", "~QsciLexerPython()", typeof(void));
		}
		public new void Dispose() {
			interceptor.Invoke("~QsciLexerPython", "~QsciLexerPython()", 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 IQsciLexerPythonSignals Emit {
			get { return (IQsciLexerPythonSignals) Q_EMIT; }
		}
	}

	public interface IQsciLexerPythonSignals : IQsciLexerSignals {
	}
}
