File indexing completed on 2024-04-14 03:55:21

0001 /*
0002     SPDX-FileCopyrightText: 2017 Allan Sandfeld Jensen <kde@carewolf.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef KTEXTEDITOR_SCRIPTCURSOR_H
0008 #define KTEXTEDITOR_SCRIPTCURSOR_H
0009 
0010 #include <QJSEngine>
0011 #include <QJSValue>
0012 
0013 #include "ktexteditor/cursor.h"
0014 
0015 inline QJSValue cursorToScriptValue(QJSEngine *engine, const KTextEditor::Cursor cursor)
0016 {
0017     const auto result = engine->globalObject().property(QStringLiteral("Cursor")).callAsConstructor(QJSValueList() << cursor.line() << cursor.column());
0018     Q_ASSERT(!result.isError());
0019     return result;
0020 }
0021 
0022 inline KTextEditor::Cursor cursorFromScriptValue(const QJSValue &obj)
0023 {
0024     const auto line = obj.property(QStringLiteral("line"));
0025     const auto column = obj.property(QStringLiteral("column"));
0026     return KTextEditor::Cursor(line.toInt(), column.toInt());
0027 }
0028 
0029 #endif