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

KJS-API

  • 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
28class QDateTime;
29class KJSContext;
30class KJSNull;
31class KJSUndefined;
32class KJSBoolean;
33class KJSNumber;
34class KJSString;
35class KJSArray;
36class KJSDate;
37class KJSArguments;
38class KJSInterpreter;
39class KJSObjectHandle;
40class KJSCustomProperty;
41class KJSCustomFunction;
42
48class 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;
64public:
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
164private:
165 KJSObject(KJSObjectHandle* h) : hnd(h) { }
166 KJSObjectHandle* hnd;
167};
168
174class KJSAPI_EXPORT KJSNull : public KJSObject
175{
176public:
180 KJSNull();
181};
182
188class KJSAPI_EXPORT KJSUndefined : public KJSObject
189{
190public:
194 KJSUndefined();
195};
196
202class KJSAPI_EXPORT KJSBoolean : public KJSObject
203{
204public:
208 KJSBoolean(bool b);
209};
210
216class KJSAPI_EXPORT KJSNumber : public KJSObject
217{
218public:
222 KJSNumber(double d);
223};
224
230class KJSAPI_EXPORT KJSString : public KJSObject
231{
232public:
236 KJSString(const QString& s);
244 KJSString(const char* s);
245};
246
252class KJSAPI_EXPORT KJSArray : public KJSObject
253{
254public:
258 KJSArray(KJSContext* ctx, int len = 0);
259};
260
266class KJSAPI_EXPORT KJSDate : public KJSObject
267{
268public:
272 KJSDate(KJSContext* ctx, const QDateTime& dt);
273};
274
280class KJSAPI_EXPORT KJSGlobalObject : public KJSObject
281{
282 friend class KJSPrototype;
283public:
288 KJSGlobalObject();
289
290private:
291 KJSGlobalObject(KJSObjectHandle* h) : KJSObject(h) { }
292};
293
294#endif
KJSArguments
A class representing a list of JavaScript arguments.
Definition: kjsarguments.h:37
KJSArray
A class representing a JavaScript array object.
Definition: kjsobject.h:253
KJSBoolean
A class representing a boolean JavaScript value.
Definition: kjsobject.h:203
KJSContext
A class representing a JavaScript execution context.
Definition: kjscontext.h:40
KJSDate
A class representing a JavaScript date object.
Definition: kjsobject.h:267
KJSGlobalObject
A class representing a global object of an execution environment.
Definition: kjsobject.h:281
KJSInterpreter
A class representing a JavaScript interpreter.
Definition: kjsinterpreter.h:83
KJSNull
A class representing a JavaScript null value.
Definition: kjsobject.h:175
KJSNumber
A class representing a JavaScript number value.
Definition: kjsobject.h:217
KJSObject
A class representing a JavaScript value.
Definition: kjsobject.h:49
KJSPrototype
A class representing a JavaScript prototype object.
Definition: kjsprototype.h:39
KJSString
A class representing a JavaScript string value.
Definition: kjsobject.h:231
KJSUndefined
A class representing an undefined JavaScript value.
Definition: kjsobject.h:189
kjsapi_export.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 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-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 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
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
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