• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • applications API Reference
  • KDE Home
  • Contact Us
 

Kate

  • kde-4.14
  • applications
  • kate
  • part
  • script
katetemplatescript.cpp
Go to the documentation of this file.
1 /* This file is part of the KDE libraries
2  Copyright (C) 2010 Joseph Wenninger <jowenn@kde.org>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18 */
19 
20 #include "katetemplatescript.h"
21 
22 #include <QScriptValue>
23 #include <QScriptEngine>
24 
25 #include "katedocument.h"
26 #include "kateview.h"
27 
28 KateTemplateScript::KateTemplateScript(const QString& script)
29  : KateScript(script,InputSCRIPT) {}
30 
31 KateTemplateScript::~KateTemplateScript(){}
32 
33 QString KateTemplateScript::invoke(KateView* view, const QString& functionName, const QString &srcText) {
34 
35  if(!setView(view))
36  return QString();
37 
38  clearExceptions();
39  QScriptValue myFunction = function(functionName);
40  if(!myFunction.isValid()) {
41  return QString();
42  }
43 
44  QScriptValueList arguments;
45  arguments << QScriptValue(m_engine, srcText);
46 
47  QScriptValue result = myFunction.call(QScriptValue(), arguments);
48 
49  if(m_engine->hasUncaughtException()) {
50  displayBacktrace(result, "Error while calling helper function");
51  return QString();
52  }
53 
54 
55  if (result.isNull()) {
56  return QString();
57  }
58 
59  return result.toString();
60 }
61 
62 // kate: space-indent on; indent-width 2; replace-tabs on;
kateview.h
KateScript
KateScript objects represent a script that can be executed and inspected.
Definition: katescript.h:106
KateTemplateScript::KateTemplateScript
KateTemplateScript(const QString &script)
Definition: katetemplatescript.cpp:28
katetemplatescript.h
QScriptValue
katedocument.h
QScriptEngine::hasUncaughtException
bool hasUncaughtException() const
QScriptValue::call
QScriptValue call(const QScriptValue &thisObject, const QScriptValueList &args)
QScriptValue::toString
QString toString() const
KateTemplateScript::~KateTemplateScript
virtual ~KateTemplateScript()
Definition: katetemplatescript.cpp:31
QString
KateScript::clearExceptions
void clearExceptions()
Clears any uncaught exceptions in the script engine.
Definition: katescript.cpp:128
KateView
Definition: kateview.h:77
KateScript::m_engine
QScriptEngine * m_engine
The Qt interpreter for this script.
Definition: katescript.h:188
KateTemplateScript::invoke
QString invoke(KateView *view, const QString &functionName, const QString &srcText)
Definition: katetemplatescript.cpp:33
QScriptValue::isNull
bool isNull() const
KateScript::setView
bool setView(KateView *view)
set view for this script for the execution will trigger load!
Definition: katescript.cpp:219
KateScript::displayBacktrace
void displayBacktrace(const QScriptValue &error, const QString &header=QString())
Displays the backtrace when a script has errored out.
Definition: katescript.cpp:119
QScriptValue::isValid
bool isValid() const
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat May 9 2020 03:56:58 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Kate

Skip menu "Kate"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

applications API Reference

Skip menu "applications API Reference"
  •   kate
  •       kate
  •   KTextEditor
  •   Kate
  • Konsole

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal