File indexing completed on 2024-04-28 15:30:42
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 QString code = QStringLiteral("new Cursor(%1, %2);").arg(cursor.line()).arg(cursor.column()); 0018 QJSValue result = engine->evaluate(code); 0019 Q_ASSERT(!result.isError()); 0020 return result; 0021 } 0022 0023 inline KTextEditor::Cursor cursorFromScriptValue(const QJSValue &obj) 0024 { 0025 KTextEditor::Cursor cursor; 0026 QJSValue line = obj.property(QStringLiteral("line")); 0027 QJSValue column = obj.property(QStringLiteral("column")); 0028 Q_ASSERT(!line.isError() && !column.isError()); 0029 cursor.setPosition(line.toInt(), column.toInt()); 0030 return cursor; 0031 } 0032 0033 #endif