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

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

	[SmokeClass("QsciLexerCPP")]
	public class QsciLexerCPP : QsciLexer, IDisposable {
 		protected QsciLexerCPP(Type dummy) : base((Type) null) {}
		protected new void CreateProxy() {
			interceptor = new SmokeInvocation(typeof(QsciLexerCPP), this);
		}
		private static SmokeInvocation staticInterceptor = null;
		static QsciLexerCPP() {
			staticInterceptor = new SmokeInvocation(typeof(QsciLexerCPP), null);
		}
		public const int Default = 0;
		public const int Comment = 1;
		public const int CommentLine = 2;
		public const int CommentDoc = 3;
		public const int Number = 4;
		public const int Keyword = 5;
		public const int DoubleQuotedString = 6;
		public const int SingleQuotedString = 7;
		public const int UUID = 8;
		public const int PreProcessor = 9;
		public const int Operator = 10;
		public const int Identifier = 11;
		public const int UnclosedString = 12;
		public const int VerbatimString = 13;
		public const int Regex = 14;
		public const int CommentLineDoc = 15;
		public const int KeywordSet2 = 16;
		public const int CommentDocKeyword = 17;
		public const int CommentDocKeywordError = 18;
		public const int GlobalClass = 19;

		public QsciLexerCPP(QObject parent, bool caseInsensitiveKeywords) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QsciLexerCPP#$", "QsciLexerCPP(QObject*, bool)", typeof(void), typeof(QObject), parent, typeof(bool), caseInsensitiveKeywords);
		}
		public QsciLexerCPP(QObject parent) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QsciLexerCPP#", "QsciLexerCPP(QObject*)", typeof(void), typeof(QObject), parent);
		}
		public QsciLexerCPP() : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QsciLexerCPP", "QsciLexerCPP()", 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("blockEnd(int*) const")]
		public override string BlockEnd(ref int style) {
			StackItem[] stack = new StackItem[2];
			stack[1].s_int = style;
			interceptor.Invoke("blockEnd$", "blockEnd(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("blockEnd() const")]
		public override string BlockEnd() {
			return (string) interceptor.Invoke("blockEnd", "blockEnd() 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("blockStartKeyword(int*) const")]
		public override string BlockStartKeyword(ref int style) {
			StackItem[] stack = new StackItem[2];
			stack[1].s_int = style;
			interceptor.Invoke("blockStartKeyword$", "blockStartKeyword(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("blockStartKeyword() const")]
		public override string BlockStartKeyword() {
			return (string) interceptor.Invoke("blockStartKeyword", "blockStartKeyword() const", typeof(string));
		}
		[SmokeMethod("braceStyle() const")]
		public override int BraceStyle() {
			return (int) interceptor.Invoke("braceStyle", "braceStyle() const", typeof(int));
		}
		[SmokeMethod("wordCharacters() const")]
		public override string WordCharacters() {
			return (string) interceptor.Invoke("wordCharacters", "wordCharacters() const", typeof(string));
		}
		[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 FoldAtElse() {
			return (bool) interceptor.Invoke("foldAtElse", "foldAtElse() const", typeof(bool));
		}
		public bool FoldComments() {
			return (bool) interceptor.Invoke("foldComments", "foldComments() const", typeof(bool));
		}
		public bool FoldCompact() {
			return (bool) interceptor.Invoke("foldCompact", "foldCompact() const", typeof(bool));
		}
		public bool FoldPreprocessor() {
			return (bool) interceptor.Invoke("foldPreprocessor", "foldPreprocessor() const", typeof(bool));
		}
		public bool StylePreprocessor() {
			return (bool) interceptor.Invoke("stylePreprocessor", "stylePreprocessor() const", typeof(bool));
		}
		[Q_SLOT("void setFoldAtElse(bool)")]
		[SmokeMethod("setFoldAtElse(bool)")]
		public virtual void SetFoldAtElse(bool fold) {
			interceptor.Invoke("setFoldAtElse$", "setFoldAtElse(bool)", typeof(void), typeof(bool), fold);
		}
		[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 setFoldCompact(bool)")]
		[SmokeMethod("setFoldCompact(bool)")]
		public virtual void SetFoldCompact(bool fold) {
			interceptor.Invoke("setFoldCompact$", "setFoldCompact(bool)", typeof(void), typeof(bool), fold);
		}
		[Q_SLOT("void setFoldPreprocessor(bool)")]
		[SmokeMethod("setFoldPreprocessor(bool)")]
		public virtual void SetFoldPreprocessor(bool fold) {
			interceptor.Invoke("setFoldPreprocessor$", "setFoldPreprocessor(bool)", typeof(void), typeof(bool), fold);
		}
		[Q_SLOT("void setStylePreprocessor(bool)")]
		[SmokeMethod("setStylePreprocessor(bool)")]
		public virtual void SetStylePreprocessor(bool style) {
			interceptor.Invoke("setStylePreprocessor$", "setStylePreprocessor(bool)", typeof(void), typeof(bool), style);
		}
		[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);
		}
		~QsciLexerCPP() {
			interceptor.Invoke("~QsciLexerCPP", "~QsciLexerCPP()", typeof(void));
		}
		public new void Dispose() {
			interceptor.Invoke("~QsciLexerCPP", "~QsciLexerCPP()", 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 IQsciLexerCPPSignals Emit {
			get { return (IQsciLexerCPPSignals) Q_EMIT; }
		}
	}

	public interface IQsciLexerCPPSignals : IQsciLexerSignals {
	}
}
