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

KJS-API

kjsobject.h

Go to the documentation of this file.
00001 /*
00002  *  This file is part of the KDE libraries
00003  *  Copyright (C) 2008 Harri Porten (porten@kde.org)
00004  *
00005  *  This library is free software; you can redistribute it and/or
00006  *  modify it under the terms of the GNU Library General Public
00007  *  License as published by the Free Software Foundation; either
00008  *  version 2 of the License, or (at your option) any later version.
00009  *
00010  *  This library is distributed in the hope that it will be useful,
00011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  *  Library General Public License for more details.
00014  *
00015  *  You should have received a copy of the GNU Library General Public License
00016  *  along with this library; see the file COPYING.LIB.  If not, write to
00017  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018  *  Boston, MA 02110-1301, USA.
00019  *
00020  */
00021 
00022 #ifndef KJSOBJECT_H
00023 #define KJSOBJECT_H
00024 
00025 #include "kjsapi_export.h"
00026 #include <QtCore/QString>
00027 
00028 class QDateTime;
00029 class KJSContext;
00030 class KJSNull;
00031 class KJSUndefined;
00032 class KJSBoolean;
00033 class KJSNumber;
00034 class KJSString;
00035 class KJSArray;
00036 class KJSDate;
00037 class KJSArguments;
00038 class KJSInterpreter;
00039 class KJSObjectHandle;
00040 class KJSCustomProperty;
00041 class KJSCustomFunction;
00042 
00048 class KJSAPI_EXPORT KJSObject
00049 {
00050     friend class KJSNull;
00051     friend class KJSUndefined;
00052     friend class KJSBoolean;
00053     friend class KJSNumber;
00054     friend class KJSString;
00055     friend class KJSArray;
00056     friend class KJSDate;
00057     friend class KJSGlobalObject;
00058     friend class KJSPrototype;
00059     friend class KJSContext;
00060     friend class KJSArguments;
00061     friend class KJSInterpreter;
00062     friend class KJSCustomProperty;
00063     friend class KJSCustomFunction;
00064 public:
00068     KJSObject();
00072     KJSObject(const KJSObject& o);
00076     KJSObject& operator=(const KJSObject& o);
00080     ~KJSObject();
00084     bool isUndefined() const;
00088     bool isNull() const;
00092     bool isBoolean() const;
00096     bool isNumber() const;
00100     bool isString() const;
00104     bool isObject() const;
00105 
00110     bool toBoolean(KJSContext* ctx);
00115     double toNumber(KJSContext* ctx);
00121     int toInt32(KJSContext* ctx);
00126     QString toString(KJSContext* ctx);
00131     KJSObject property(KJSContext* ctx, const QString& name);
00136     void setProperty(KJSContext* ctx, const QString& name,
00137                      const KJSObject& value);
00141     void setProperty(KJSContext* ctx, const QString& name, bool value);
00145     void setProperty(KJSContext* ctx, const QString& name, double value);
00149     void setProperty(KJSContext* ctx, const QString& name, int value);
00153     void setProperty(KJSContext* ctx, const QString& name,
00154                      const QString &value);
00160     void setProperty(KJSContext* ctx, const QString& name,
00161                      const char* value);
00162 
00163 
00164 private:
00165     KJSObject(KJSObjectHandle* h) : hnd(h) { }
00166     KJSObjectHandle* hnd;
00167 };
00168 
00174 class KJSAPI_EXPORT KJSNull : public KJSObject
00175 {
00176 public:
00180     KJSNull();
00181 };
00182 
00188 class KJSAPI_EXPORT KJSUndefined : public KJSObject
00189 {
00190 public:
00194     KJSUndefined();
00195 };
00196 
00202 class KJSAPI_EXPORT KJSBoolean : public KJSObject
00203 {
00204 public:
00208     KJSBoolean(bool b);
00209 };
00210 
00216 class KJSAPI_EXPORT KJSNumber : public KJSObject
00217 {
00218 public:
00222     KJSNumber(double d);
00223 };
00224 
00230 class KJSAPI_EXPORT KJSString : public KJSObject
00231 {
00232 public:
00236     KJSString(const QString& s);
00244     KJSString(const char* s);
00245 };
00246 
00252 class KJSAPI_EXPORT KJSArray : public KJSObject
00253 {
00254 public:
00258     KJSArray(KJSContext* ctx, int len = 0);
00259 };
00260 
00266 class KJSAPI_EXPORT KJSDate : public KJSObject
00267 {
00268 public:
00272     KJSDate(KJSContext* ctx, const QDateTime& dt);
00273 };
00274 
00280 class KJSAPI_EXPORT KJSGlobalObject : public KJSObject
00281 {
00282     friend class KJSPrototype;
00283 public:
00288     KJSGlobalObject();
00289 
00290 private:
00291     KJSGlobalObject(KJSObjectHandle* h) : KJSObject(h) { }
00292 };
00293 
00294 #endif

KJS-API

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

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal