• 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
katescript.h
Go to the documentation of this file.
1 // This file is part of the KDE libraries
2 // Copyright (C) 2008 Paul Giannaros <paul@giannaros.org>
3 // Copyright (C) 2009 Dominik Haumann <dhaumann kde org>
4 // Copyright (C) 2010 Joseph Wenninger <jowenn@kde.org>
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Library General Public
8 // License as published by the Free Software Foundation; either
9 // version 2 of the License, or (at your option) version 3.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Library General Public License for more details.
15 //
16 // You should have received a copy of the GNU Library General Public License
17 // along with this library; see the file COPYING.LIB. If not, write to
18 // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 // Boston, MA 02110-1301, USA.
20 
21 #ifndef KATE_SCRIPT_H
22 #define KATE_SCRIPT_H
23 
24 #include <QtCore/QObject>
25 #include <QtCore/QHash>
26 #include <QtCore/QStringList>
27 
28 #include <QtScript/QScriptValue>
29 #include <QtScript/QScriptable>
30 
31 class QScriptEngine;
32 class QScriptContext;
33 
34 class KateDocument;
35 class KateView;
36 
37 class KateScriptDocument;
38 class KateScriptView;
39 
40 namespace Kate {
41  enum ScriptType {
43  IndentationScript,
45  CommandLineScript,
47  UnknownScript
48  };
49 }
50 
51 //BEGIN KateScriptHeader
52 
53 class KateScriptHeader
54 {
55  public:
56  KateScriptHeader() : m_revision(0), m_scriptType(Kate::UnknownScript)
57  {}
58  virtual ~KateScriptHeader()
59  {}
60 
61  inline void setLicense(const QString& license)
62  { m_license = license; }
63  inline const QString& license() const
64  { return m_license; }
65 
66  inline void setAuthor(const QString& author)
67  { m_author = author; }
68  inline const QString& author() const
69  { return m_author; }
70 
71  inline void setRevision(int revision)
72  { m_revision = revision; }
73  inline int revision() const
74  { return m_revision; }
75 
76  inline void setKateVersion(const QString& kateVersion)
77  { m_kateVersion = kateVersion; }
78  inline const QString& kateVersion() const
79  { return m_kateVersion; }
80 
81  inline void setCatalog(const QString& catalog)
82  { m_i18nCatalog = catalog; }
83  inline const QString& catalog() const
84  { return m_i18nCatalog; }
85 
86  inline void setScriptType(Kate::ScriptType scriptType)
87  { m_scriptType = scriptType; }
88  inline Kate::ScriptType scriptType() const
89  { return m_scriptType; }
90 
91  private:
92  QString m_license;
93  QString m_author;
94  int m_revision;
95  QString m_kateVersion;
96  QString m_i18nCatalog;
97  Kate::ScriptType m_scriptType;
98 };
99 //END
100 
101 //BEGIN KateScript
102 
106 class KateScript {
107  public:
108 
109  enum InputType {
110  InputURL,
111  InputSCRIPT
112  };
113 
119  KateScript(const QString &urlOrScript, enum InputType inputType = InputURL);
120  virtual ~KateScript();
121 
123  const QString &url() { return m_url; }
124 
132  bool load();
133 
138  bool setView (KateView *view);
139 
144  QScriptValue global(const QString &name);
145 
150  QScriptValue function(const QString &name);
151 
153  const QString &errorMessage() { return m_errorMessage; }
154 
156  QString backtrace(const QScriptValue &error, const QString &header = QString());
157 
159  void displayBacktrace(const QScriptValue &error, const QString &header = QString());
160 
162  void clearExceptions();
163 
165  void setGeneralHeader(const KateScriptHeader& generalHeader);
167  KateScriptHeader& generalHeader();
168 
169  protected:
171  bool hasException(const QScriptValue& object, const QString& file);
172 
173  private:
175  bool m_loaded;
176 
178  bool m_loadSuccessful;
179 
181  QString m_url;
182 
184  QString m_errorMessage;
185 
186  protected:
188  QScriptEngine *m_engine;
189 
190  private:
192  KateScriptHeader m_generalHeader;
193 
195  KateScriptDocument *m_document;
196  KateScriptView *m_view;
197 
198  private:
200  enum InputType m_inputType;
201  QString m_script;
202 };
203 
204 //END
205 
206 #endif
207 
208 // kate: space-indent on; indent-width 2; replace-tabs on;
Kate::ScriptType
ScriptType
Definition: katescript.h:41
KateScript::KateScript
KateScript(const QString &urlOrScript, enum InputType inputType=InputURL)
Create a new script representation, passing either a file or the script content urlOrScript to it...
Definition: katescript.cpp:78
KateScript
KateScript objects represent a script that can be executed and inspected.
Definition: katescript.h:106
KateScriptHeader::setLicense
void setLicense(const QString &license)
Definition: katescript.h:61
KateScript::InputURL
Definition: katescript.h:110
QScriptValue
KateScriptHeader::setScriptType
void setScriptType(Kate::ScriptType scriptType)
Definition: katescript.h:86
KateScript::global
QScriptValue global(const QString &name)
Get a QScriptValue for a global item in the script given its name, or an invalid QScriptValue if no s...
Definition: katescript.cpp:135
KateScriptHeader::setAuthor
void setAuthor(const QString &author)
Definition: katescript.h:66
KateScript::backtrace
QString backtrace(const QScriptValue &error, const QString &header=QString())
Returns the backtrace when a script has errored out.
Definition: katescript.cpp:106
KateScriptHeader::setKateVersion
void setKateVersion(const QString &kateVersion)
Definition: katescript.h:76
KateScript::load
bool load()
Load the script.
Definition: katescript.cpp:151
KateScriptHeader
Definition: katescript.h:53
KateScriptHeader::kateVersion
const QString & kateVersion() const
Definition: katescript.h:78
KateScriptHeader::~KateScriptHeader
virtual ~KateScriptHeader()
Definition: katescript.h:58
QScriptEngine
KateScriptHeader::author
const QString & author() const
Definition: katescript.h:68
KateScriptHeader::license
const QString & license() const
Definition: katescript.h:63
KateScriptDocument
Thinish wrapping around KateDocument, exposing the methods we want exposed and adding some helper met...
Definition: katescriptdocument.h:46
KateScript::~KateScript
virtual ~KateScript()
Definition: katescript.cpp:90
KateScript::generalHeader
KateScriptHeader & generalHeader()
Return the general header.
Definition: katescript.cpp:234
QString
KateScript::url
const QString & url()
The script's URL.
Definition: katescript.h:123
KateScriptHeader::catalog
const QString & catalog() const
Definition: katescript.h:83
KateScript::clearExceptions
void clearExceptions()
Clears any uncaught exceptions in the script engine.
Definition: katescript.cpp:128
QScriptContext
KateScript::setGeneralHeader
void setGeneralHeader(const KateScriptHeader &generalHeader)
set the general header after construction of the script
Definition: katescript.cpp:229
KateScriptHeader::setCatalog
void setCatalog(const QString &catalog)
Definition: katescript.h:81
Kate::UnknownScript
Don't know what kind of script this is.
Definition: katescript.h:47
KateView
Definition: kateview.h:77
KateScript::errorMessage
const QString & errorMessage()
Return a context-specific error message.
Definition: katescript.h:153
KateScriptHeader::KateScriptHeader
KateScriptHeader()
Definition: katescript.h:56
KateDocument
Definition: katedocument.h:74
KateScript::m_engine
QScriptEngine * m_engine
The Qt interpreter for this script.
Definition: katescript.h:188
KateScriptView
Thinish wrapping around KateView, exposing the methods we want exposed and adding some helper methods...
Definition: katescriptview.h:43
KateScript::InputType
InputType
Definition: katescript.h:109
KateScriptHeader::revision
int revision() const
Definition: katescript.h:73
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
Kate::IndentationScript
The script is an indenter.
Definition: katescript.h:43
KateScriptHeader::setRevision
void setRevision(int revision)
Definition: katescript.h:71
KateScript::InputSCRIPT
Definition: katescript.h:111
KateScript::hasException
bool hasException(const QScriptValue &object, const QString &file)
Checks for exception and gives feedback on the console.
Definition: katescript.cpp:206
Kate::CommandLineScript
The script contains command line commands.
Definition: katescript.h:45
KateScriptHeader::scriptType
Kate::ScriptType scriptType() const
Definition: katescript.h:88
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