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

KJS-API

  • sources
  • kde-4.12
  • kdelibs
  • kjs
  • api
kjsobject.h
Go to the documentation of this file.
1 /*
2  * This file is part of the KDE libraries
3  * Copyright (C) 2008 Harri Porten (porten@kde.org)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public License
16  * along with this library; see the file COPYING.LIB. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA 02110-1301, USA.
19  *
20  */
21 
22 #ifndef KJSOBJECT_H
23 #define KJSOBJECT_H
24 
25 #include "kjsapi_export.h"
26 #include <QtCore/QString>
27 
28 class QDateTime;
29 class KJSContext;
30 class KJSNull;
31 class KJSUndefined;
32 class KJSBoolean;
33 class KJSNumber;
34 class KJSString;
35 class KJSArray;
36 class KJSDate;
37 class KJSArguments;
38 class KJSInterpreter;
39 class KJSObjectHandle;
40 class KJSCustomProperty;
41 class KJSCustomFunction;
42 
48 class KJSAPI_EXPORT KJSObject
49 {
50  friend class KJSNull;
51  friend class KJSUndefined;
52  friend class KJSBoolean;
53  friend class KJSNumber;
54  friend class KJSString;
55  friend class KJSArray;
56  friend class KJSDate;
57  friend class KJSGlobalObject;
58  friend class KJSPrototype;
59  friend class KJSContext;
60  friend class KJSArguments;
61  friend class KJSInterpreter;
62  friend class KJSCustomProperty;
63  friend class KJSCustomFunction;
64 public:
68  KJSObject();
72  KJSObject(const KJSObject& o);
76  KJSObject& operator=(const KJSObject& o);
80  ~KJSObject();
84  bool isUndefined() const;
88  bool isNull() const;
92  bool isBoolean() const;
96  bool isNumber() const;
100  bool isString() const;
104  bool isObject() const;
105 
110  bool toBoolean(KJSContext* ctx);
115  double toNumber(KJSContext* ctx);
121  int toInt32(KJSContext* ctx);
126  QString toString(KJSContext* ctx);
131  KJSObject property(KJSContext* ctx, const QString& name);
136  void setProperty(KJSContext* ctx, const QString& name,
137  const KJSObject& value);
141  void setProperty(KJSContext* ctx, const QString& name, bool value);
145  void setProperty(KJSContext* ctx, const QString& name, double value);
149  void setProperty(KJSContext* ctx, const QString& name, int value);
153  void setProperty(KJSContext* ctx, const QString& name,
154  const QString &value);
160  void setProperty(KJSContext* ctx, const QString& name,
161  const char* value);
162 
163 
164 private:
165  KJSObject(KJSObjectHandle* h) : hnd(h) { }
166  KJSObjectHandle* hnd;
167 };
168 
174 class KJSAPI_EXPORT KJSNull : public KJSObject
175 {
176 public:
180  KJSNull();
181 };
182 
188 class KJSAPI_EXPORT KJSUndefined : public KJSObject
189 {
190 public:
194  KJSUndefined();
195 };
196 
202 class KJSAPI_EXPORT KJSBoolean : public KJSObject
203 {
204 public:
208  KJSBoolean(bool b);
209 };
210 
216 class KJSAPI_EXPORT KJSNumber : public KJSObject
217 {
218 public:
222  KJSNumber(double d);
223 };
224 
230 class KJSAPI_EXPORT KJSString : public KJSObject
231 {
232 public:
236  KJSString(const QString& s);
244  KJSString(const char* s);
245 };
246 
252 class KJSAPI_EXPORT KJSArray : public KJSObject
253 {
254 public:
258  KJSArray(KJSContext* ctx, int len = 0);
259 };
260 
266 class KJSAPI_EXPORT KJSDate : public KJSObject
267 {
268 public:
272  KJSDate(KJSContext* ctx, const QDateTime& dt);
273 };
274 
280 class KJSAPI_EXPORT KJSGlobalObject : public KJSObject
281 {
282  friend class KJSPrototype;
283 public:
288  KJSGlobalObject();
289 
290 private:
291  KJSGlobalObject(KJSObjectHandle* h) : KJSObject(h) { }
292 };
293 
294 #endif
KJSObject::KJSArray
friend class KJSArray
Definition: kjsobject.h:55
KJSObject::KJSDate
friend class KJSDate
Definition: kjsobject.h:56
KJSObject::KJSUndefined
friend class KJSUndefined
Definition: kjsobject.h:51
KJSNull
A class representing a JavaScript null value.
Definition: kjsobject.h:174
KJSObject::KJSNumber
friend class KJSNumber
Definition: kjsobject.h:53
KJSUndefined
A class representing an undefined JavaScript value.
Definition: kjsobject.h:188
KJSGlobalObject
A class representing a global object of an execution environment.
Definition: kjsobject.h:280
KJSObject::KJSGlobalObject
friend class KJSGlobalObject
Definition: kjsobject.h:57
KJSArray
A class representing a JavaScript array object.
Definition: kjsobject.h:252
KJSContext
A class representing a JavaScript execution context.
Definition: kjscontext.h:39
KJSDate
A class representing a JavaScript date object.
Definition: kjsobject.h:266
KJSInterpreter
A class representing a JavaScript interpreter.
Definition: kjsinterpreter.h:82
KJSNumber
A class representing a JavaScript number value.
Definition: kjsobject.h:216
kjsapi_export.h
KJSArguments
A class representing a list of JavaScript arguments.
Definition: kjsarguments.h:36
KJSObject
A class representing a JavaScript value.
Definition: kjsobject.h:48
KJSObject::KJSBoolean
friend class KJSBoolean
Definition: kjsobject.h:52
KJSString
A class representing a JavaScript string value.
Definition: kjsobject.h:230
KJSObject::KJSString
friend class KJSString
Definition: kjsobject.h:54
KJSPrototype
A class representing a JavaScript prototype object.
Definition: kjsprototype.h:38
KJSObject::KJSNull
friend class KJSNull
Definition: kjsobject.h:50
KJSBoolean
A class representing a boolean JavaScript value.
Definition: kjsobject.h:202
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:48:58 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KJS-API

Skip menu "KJS-API"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

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