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