Changeset View
Changeset View
Standalone View
Standalone View
src/script/katescriptview.cpp
Show All 17 Lines | |||||
18 | // Boston, MA 02110-1301, USA. | 18 | // Boston, MA 02110-1301, USA. | ||
19 | 19 | | |||
20 | #include "katescriptview.h" | 20 | #include "katescriptview.h" | ||
21 | 21 | | |||
22 | #include "katedocument.h" | 22 | #include "katedocument.h" | ||
23 | #include "kateview.h" | 23 | #include "kateview.h" | ||
24 | #include "katerenderer.h" | 24 | #include "katerenderer.h" | ||
25 | #include "katescript.h" | 25 | #include "katescript.h" | ||
26 | #include "scriptcursor.h" | ||||
27 | #include "scriptrange.h" | ||||
26 | 28 | | |||
27 | KateScriptView::KateScriptView(QObject *parent) | 29 | #include <QJSEngine> | ||
28 | : QObject(parent), m_view(nullptr) | 30 | | ||
31 | KateScriptView::KateScriptView(QJSEngine *engine, QObject *parent) | ||||
32 | : QObject(parent), m_view(nullptr), m_engine(engine) | ||||
29 | { | 33 | { | ||
30 | } | 34 | } | ||
31 | 35 | | |||
32 | void KateScriptView::setView(KTextEditor::ViewPrivate *view) | 36 | void KateScriptView::setView(KTextEditor::ViewPrivate *view) | ||
33 | { | 37 | { | ||
34 | m_view = view; | 38 | m_view = view; | ||
35 | } | 39 | } | ||
36 | 40 | | |||
37 | KTextEditor::ViewPrivate *KateScriptView::view() | 41 | KTextEditor::ViewPrivate *KateScriptView::view() | ||
38 | { | 42 | { | ||
39 | return m_view; | 43 | return m_view; | ||
40 | } | 44 | } | ||
41 | 45 | | |||
42 | KTextEditor::Cursor KateScriptView::cursorPosition() | 46 | QJSValue KateScriptView::cursorPosition() | ||
43 | { | 47 | { | ||
44 | return m_view->cursorPosition(); | 48 | return cursorToScriptValue(m_engine, m_view->cursorPosition()); | ||
45 | } | 49 | } | ||
46 | 50 | | |||
47 | void KateScriptView::setCursorPosition(int line, int column) | 51 | void KateScriptView::setCursorPosition(int line, int column) | ||
48 | { | 52 | { | ||
49 | KTextEditor::Cursor c(line, column); | 53 | KTextEditor::Cursor c(line, column); | ||
50 | m_view->setCursorPosition(c); | 54 | m_view->setCursorPosition(c); | ||
51 | } | 55 | } | ||
52 | 56 | | |||
53 | void KateScriptView::setCursorPosition(const KTextEditor::Cursor &cursor) | 57 | void KateScriptView::setCursorPosition(const KTextEditor::Cursor &cursor) | ||
54 | { | 58 | { | ||
55 | m_view->setCursorPosition(cursor); | 59 | m_view->setCursorPosition(cursor); | ||
56 | } | 60 | } | ||
57 | 61 | | |||
58 | KTextEditor::Cursor KateScriptView::virtualCursorPosition() | 62 | void KateScriptView::setCursorPosition(const QJSValue &jscursor) | ||
63 | { | ||||
64 | setCursorPosition(cursorFromScriptValue(jscursor)); | ||||
65 | } | ||||
66 | | ||||
67 | QJSValue KateScriptView::virtualCursorPosition() | ||||
59 | { | 68 | { | ||
60 | return m_view->cursorPositionVirtual(); | 69 | return cursorToScriptValue(m_engine, m_view->cursorPositionVirtual()); | ||
61 | } | 70 | } | ||
62 | 71 | | |||
63 | void KateScriptView::setVirtualCursorPosition(int line, int column) | 72 | void KateScriptView::setVirtualCursorPosition(int line, int column) | ||
64 | { | 73 | { | ||
65 | setVirtualCursorPosition(KTextEditor::Cursor(line, column)); | 74 | setVirtualCursorPosition(KTextEditor::Cursor(line, column)); | ||
66 | } | 75 | } | ||
67 | 76 | | |||
68 | void KateScriptView::setVirtualCursorPosition(const KTextEditor::Cursor &cursor) | 77 | void KateScriptView::setVirtualCursorPosition(const KTextEditor::Cursor &cursor) | ||
69 | { | 78 | { | ||
70 | m_view->setCursorPositionVisual(cursor); | 79 | m_view->setCursorPositionVisual(cursor); | ||
71 | } | 80 | } | ||
72 | 81 | | |||
82 | void KateScriptView::setVirtualCursorPosition(const QJSValue &jscursor) | ||||
83 | { | ||||
84 | setVirtualCursorPosition(cursorFromScriptValue(jscursor)); | ||||
85 | } | ||||
86 | | ||||
73 | QString KateScriptView::selectedText() | 87 | QString KateScriptView::selectedText() | ||
74 | { | 88 | { | ||
75 | return m_view->selectionText(); | 89 | return m_view->selectionText(); | ||
76 | } | 90 | } | ||
77 | 91 | | |||
78 | bool KateScriptView::hasSelection() | 92 | bool KateScriptView::hasSelection() | ||
79 | { | 93 | { | ||
80 | return m_view->selection(); | 94 | return m_view->selection(); | ||
81 | } | 95 | } | ||
82 | 96 | | |||
83 | KTextEditor::Range KateScriptView::selection() | 97 | QJSValue KateScriptView::selection() | ||
84 | { | 98 | { | ||
85 | return m_view->selectionRange(); | 99 | return rangeToScriptValue(m_engine, m_view->selectionRange()); | ||
86 | } | 100 | } | ||
87 | 101 | | |||
88 | void KateScriptView::setSelection(const KTextEditor::Range &range) | 102 | void KateScriptView::setSelection(const QJSValue &jsrange) | ||
89 | { | 103 | { | ||
90 | m_view->setSelection(range); | 104 | m_view->setSelection(rangeFromScriptValue(jsrange)); | ||
91 | } | 105 | } | ||
92 | 106 | | |||
93 | void KateScriptView::removeSelectedText() | 107 | void KateScriptView::removeSelectedText() | ||
94 | { | 108 | { | ||
95 | m_view->removeSelectedText(); | 109 | m_view->removeSelectedText(); | ||
96 | } | 110 | } | ||
97 | 111 | | |||
98 | void KateScriptView::selectAll() | 112 | void KateScriptView::selectAll() | ||
99 | { | 113 | { | ||
100 | m_view->selectAll(); | 114 | m_view->selectAll(); | ||
101 | } | 115 | } | ||
102 | 116 | | |||
103 | void KateScriptView::clearSelection() | 117 | void KateScriptView::clearSelection() | ||
104 | { | 118 | { | ||
105 | m_view->clearSelection(); | 119 | m_view->clearSelection(); | ||
106 | } | 120 | } | ||
107 | 121 | | |||
108 | void KateScriptView::align(const KTextEditor::Range &range) | 122 | void KateScriptView::align(const QJSValue &jsrange) | ||
109 | { | 123 | { | ||
124 | KTextEditor::Range range = rangeFromScriptValue(jsrange); | ||||
110 | m_view->doc()->align (m_view, range); | 125 | m_view->doc()->align (m_view, range); | ||
111 | } | 126 | } |