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

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

	[SmokeClass("QsciLexerRuby")]
	public class QsciLexerRuby : QsciLexer, IDisposable {
 		protected QsciLexerRuby(Type dummy) : base((Type) null) {}
		protected new void CreateProxy() {
			interceptor = new SmokeInvocation(typeof(QsciLexerRuby), this);
		}
		private static SmokeInvocation staticInterceptor = null;
		static QsciLexerRuby() {
			staticInterceptor = new SmokeInvocation(typeof(QsciLexerRuby), null);
		}
		public const int Default = 0;
		public const int Error = 1;
		public const int Comment = 2;
		public const int POD = 3;
		public const int Number = 4;
		public const int Keyword = 5;
		public const int DoubleQuotedString = 6;
		public const int SingleQuotedString = 7;
		public const int ClassName = 8;
		public const int FunctionMethodName = 9;
		public const int Operator = 10;
		public const int Identifier = 11;
		public const int Regex = 12;
		public const int Global = 13;
		public const int Symbol = 14;
		public const int ModuleName = 15;
		public const int InstanceVariable = 16;
		public const int ClassVariable = 17;
		public const int Backticks = 18;
		public const int DataSection = 19;
		public const int HereDocumentDelimiter = 20;
		public const int HereDocument = 21;
		public const int PercentStringq = 24;
		public const int PercentStringQ = 25;
		public const int PercentStringx = 26;
		public const int PercentStringr = 27;
		public const int PercentStringw = 28;
		public const int DemotedKeyword = 29;
		public const int Stdin = 30;
		public const int Stdout = 31;
		public const int Stderr = 40;

		public QsciLexerRuby(QObject parent) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QsciLexerRuby#", "QsciLexerRuby(QObject*)", typeof(void), typeof(QObject), parent);
		}
		public QsciLexerRuby() : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("QsciLexerRuby", "QsciLexerRuby()", 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("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).Free();
#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).Free();
#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).Free();
#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("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);
		}
		~QsciLexerRuby() {
			interceptor.Invoke("~QsciLexerRuby", "~QsciLexerRuby()", typeof(void));
		}
		public new void Dispose() {
			interceptor.Invoke("~QsciLexerRuby", "~QsciLexerRuby()", 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 IQsciLexerRubySignals Emit {
			get { return (IQsciLexerRubySignals) Q_EMIT; }
		}
	}

	public interface IQsciLexerRubySignals : IQsciLexerSignals {
	}
}
