Kate
katescriptdocument.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef KATE_SCRIPT_DOCUMENT_H
00020 #define KATE_SCRIPT_DOCUMENT_H
00021
00022 #include <QObject>
00023 #include <QtScript/QScriptable>
00024 #include <QtScript/QScriptValue>
00025
00026 #include <ktexteditor/cursor.h>
00027
00028 class KateDocument;
00029
00040 class KateScriptDocument : public QObject, protected QScriptable
00041 {
00043 Q_OBJECT
00044 Q_PROPERTY(QString fileName READ fileName)
00045 Q_PROPERTY(QString url READ url)
00046 Q_PROPERTY(QString mimeType READ mimeType)
00047 Q_PROPERTY(QString encoding READ encoding)
00048 Q_PROPERTY(bool modified READ isModified)
00049 Q_PROPERTY(QString text READ text WRITE setText)
00050
00051 public:
00052 KateScriptDocument(QObject *parent=0);
00053 void setDocument(KateDocument *document);
00054 KateDocument *document();
00055
00056
00057
00058 Q_INVOKABLE QString fileName();
00059 Q_INVOKABLE QString url();
00060 Q_INVOKABLE QString mimeType();
00061 Q_INVOKABLE QString encoding();
00062 Q_INVOKABLE bool isModified();
00063 Q_INVOKABLE QString text();
00064 Q_INVOKABLE QString textRange(int i, int j, int k, int l);
00065 Q_INVOKABLE QString line(int i);
00066 Q_INVOKABLE QString wordAt(int i, int j);
00067 Q_INVOKABLE QString charAt(int i, int j);
00068 Q_INVOKABLE QString firstChar(int i);
00069 Q_INVOKABLE QString lastChar(int i);
00070 Q_INVOKABLE bool isSpace(int i, int j);
00071 Q_INVOKABLE bool matchesAt(int i, int j, const QString &s);
00072 Q_INVOKABLE bool setText(const QString &s);
00073 Q_INVOKABLE bool clear();
00074 Q_INVOKABLE bool truncate(int i, int j);
00075 Q_INVOKABLE bool insertText(int i, int j, const QString &s);
00076 Q_INVOKABLE bool removeText(int i, int j, int k, int l);
00077 Q_INVOKABLE bool insertLine(int i, const QString &s);
00078 Q_INVOKABLE bool removeLine(int i);
00079 Q_INVOKABLE void joinLines(int i, int j);
00080 Q_INVOKABLE int lines();
00081 Q_INVOKABLE int length();
00082 Q_INVOKABLE int lineLength(int i);
00083 Q_INVOKABLE void editBegin();
00084 Q_INVOKABLE void editEnd();
00085 Q_INVOKABLE int firstColumn(int i);
00086 Q_INVOKABLE int lastColumn(int i);
00087 Q_INVOKABLE int prevNonSpaceColumn(int i, int j);
00088 Q_INVOKABLE int nextNonSpaceColumn(int i, int j);
00089 Q_INVOKABLE int prevNonEmptyLine(int i);
00090 Q_INVOKABLE int nextNonEmptyLine(int i);
00091 Q_INVOKABLE bool isInWord(const QString &s, int i);
00092 Q_INVOKABLE bool canBreakAt(const QString &s, int i);
00093 Q_INVOKABLE bool canComment(int i, int j);
00094 Q_INVOKABLE QString commentMarker(int i);
00095 Q_INVOKABLE QString commentStart(int i);
00096 Q_INVOKABLE QString commentEnd(int i);
00097 Q_INVOKABLE int attribute(int i, int j);
00098 Q_INVOKABLE QString variable(const QString &s);
00099
00100
00101 Q_INVOKABLE int firstVirtualColumn(int line);
00102 Q_INVOKABLE int lastVirtualColumn(int line);
00103 Q_INVOKABLE int toVirtualColumn(int line, int column);
00104 Q_INVOKABLE int fromVirtualColumn(int line, int virtualColumn);
00105
00106 Q_INVOKABLE KTextEditor::Cursor anchor(int line, int column, QChar character);
00107 Q_INVOKABLE QScriptValue rfind(int line, int column, const QString& text, int attribute = -1);
00108
00109 Q_INVOKABLE int defStyleNum(int line, int column);
00110 Q_INVOKABLE bool isCode(int line, int column);
00111 Q_INVOKABLE bool isComment(int line, int column);
00112 Q_INVOKABLE bool isString(int line, int column);
00113 Q_INVOKABLE bool isRegionMarker(int line, int column);
00114 Q_INVOKABLE bool isChar(int line, int column);
00115 Q_INVOKABLE bool isOthers(int line, int column);
00116
00117
00118 Q_INVOKABLE bool startsWith (int line, const QString &pattern, bool skipWhiteSpaces);
00119 Q_INVOKABLE bool endsWith (int line, const QString &pattern, bool skipWhiteSpaces);
00120
00121 private:
00122 bool _isCode(int defaultStyle);
00123
00124 KateDocument *m_document;
00125 };
00126
00127
00128 #endif
00129
00130