//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QSyntaxHighlighter")]
    public abstract class QSyntaxHighlighter : QObject {
        protected QSyntaxHighlighter(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QSyntaxHighlighter), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QSyntaxHighlighter() {
            staticInterceptor = new SmokeInvocation(typeof(QSyntaxHighlighter), null);
        }
        public QSyntaxHighlighter(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSyntaxHighlighter#", "QSyntaxHighlighter(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public QSyntaxHighlighter(QTextDocument parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSyntaxHighlighter#", "QSyntaxHighlighter(QTextDocument*)", typeof(void), typeof(QTextDocument), parent);
        }
        public QSyntaxHighlighter(QTextEdit parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QSyntaxHighlighter#", "QSyntaxHighlighter(QTextEdit*)", typeof(void), typeof(QTextEdit), parent);
        }
        public void SetDocument(QTextDocument doc) {
            interceptor.Invoke("setDocument#", "setDocument(QTextDocument*)", typeof(void), typeof(QTextDocument), doc);
        }
        public QTextDocument Document() {
            return (QTextDocument) interceptor.Invoke("document", "document() const", typeof(QTextDocument));
        }
        [Q_SLOT("void rehighlight()")]
        public void Rehighlight() {
            interceptor.Invoke("rehighlight", "rehighlight()", typeof(void));
        }
        [SmokeMethod("highlightBlock(const QString&)")]
        protected abstract void HighlightBlock(string text);
        protected void SetFormat(int start, int count, QTextCharFormat format) {
            interceptor.Invoke("setFormat$$#", "setFormat(int, int, const QTextCharFormat&)", typeof(void), typeof(int), start, typeof(int), count, typeof(QTextCharFormat), format);
        }
        protected void SetFormat(int start, int count, QColor color) {
            interceptor.Invoke("setFormat$$#", "setFormat(int, int, const QColor&)", typeof(void), typeof(int), start, typeof(int), count, typeof(QColor), color);
        }
        protected void SetFormat(int start, int count, QFont font) {
            interceptor.Invoke("setFormat$$#", "setFormat(int, int, const QFont&)", typeof(void), typeof(int), start, typeof(int), count, typeof(QFont), font);
        }
        protected QTextCharFormat Format(int pos) {
            return (QTextCharFormat) interceptor.Invoke("format$", "format(int) const", typeof(QTextCharFormat), typeof(int), pos);
        }
        protected int PreviousBlockState() {
            return (int) interceptor.Invoke("previousBlockState", "previousBlockState() const", typeof(int));
        }
        protected int CurrentBlockState() {
            return (int) interceptor.Invoke("currentBlockState", "currentBlockState() const", typeof(int));
        }
        protected void SetCurrentBlockState(int newState) {
            interceptor.Invoke("setCurrentBlockState$", "setCurrentBlockState(int)", typeof(void), typeof(int), newState);
        }
        protected void SetCurrentBlockUserData(QTextBlockUserData data) {
            interceptor.Invoke("setCurrentBlockUserData#", "setCurrentBlockUserData(QTextBlockUserData*)", typeof(void), typeof(QTextBlockUserData), data);
        }
        protected QTextBlockUserData CurrentBlockUserData() {
            return (QTextBlockUserData) interceptor.Invoke("currentBlockUserData", "currentBlockUserData() const", typeof(QTextBlockUserData));
        }
        protected QTextBlock CurrentBlock() {
            return (QTextBlock) interceptor.Invoke("currentBlock", "currentBlock() const", typeof(QTextBlock));
        }
        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 IQSyntaxHighlighterSignals Emit {
            get { return (IQSyntaxHighlighterSignals) Q_EMIT; }
        }
    }

    public interface IQSyntaxHighlighterSignals : IQObjectSignals {
    }
}
