Main Page | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | File Members

jsbinding.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 
00003 /*
00004  *  Copyright (C) 2001-2002, Richard J. Moore <rich@kde.org>
00005  *
00006  *  This library is free software; you can redistribute it and/or
00007  *  modify it under the terms of the GNU Library General Public
00008  *  License as published by the Free Software Foundation; either
00009  *  version 2 of the License, or (at your option) any later version.
00010  *
00011  *  This library is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  *  Library General Public License for more details.
00015  *
00016  *  You should have received a copy of the GNU Library General Public License
00017  *  along with this library; see the file COPYING.LIB.  If not, write to
00018  *  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00019  *  Boston, MA 02111-1307, USA.
00020  */
00021 
00022 #ifndef KJSEMBEDJSBINDING_H
00023 #define KJSEMBEDJSBINDING_H
00024 
00025 #include <qstring.h>
00026 #include <qvariant.h>
00027 
00028 #include <kjs/interpreter.h>
00029 #include <kjs/object.h>
00030 #include <kjs/types.h>
00031 
00038 namespace KJS {
00039 
00040     inline UString::UString( const QString &d )
00041     {
00042         uint len = d.length();
00043         UChar *dat = new UChar[len];
00044         memcpy( dat, d.unicode(), len * sizeof(UChar) );
00045         rep = UString::Rep::create(dat, len);
00046     }
00047 
00048     inline QString UString::qstring() const
00049     {
00050         return QString((QChar*) data(), size());
00051     }
00052 
00053     inline QConstString UString::qconststring() const
00054     {
00055         return QConstString((QChar*) data(), size());
00056     }
00057 
00058     inline QString Identifier::qstring() const
00059     {
00060         return QString((QChar*) data(), size());
00061     }
00062 
00063 }
00064 
00065 namespace KJSEmbed {
00066     class JSObjectProxy;
00067 
00069     KJS::Value convertToValue( KJS::ExecState *exec, const QVariant &val);
00070 
00072     QVariant convertToVariant( KJS::ExecState *exec, const KJS::Value &v );
00073 
00075     QString dumpObject( KJS::ExecState *exec, KJS::Object &obj );
00076 
00078     QString dumpQObject( KJS::ExecState *exec, KJS::Object &obj );
00079     
00083     QStringList dumpCompletion( KJS::ExecState *exec, KJS::Object &obj);
00084     
00085     QPen extractQPen(KJS::ExecState *exec, const KJS::List &args, int idx);
00086     QFont extractQFont(KJS::ExecState *exec, const KJS::List &args, int idx);
00087     QBrush extractQBrush(KJS::ExecState *exec, const KJS::List &args, int idx);
00088     QPixmap extractQPixmap( KJS::ExecState *exec, const KJS::List &args, int idx);
00089     QImage extractQImage( KJS::ExecState *exec, const KJS::List &args, int idx);
00090     QString extractQString( KJS::ExecState *exec, const KJS::List &args, int idx);
00091     int extractInt( KJS::ExecState *exec, const KJS::List &args, int idx);
00092     QColor extractQColor(KJS::ExecState *exec, const KJS::List &args, int idx);
00093     QSize extractQSize(KJS::ExecState *exec, const KJS::List &args, int idx);
00094     bool extractBool(KJS::ExecState *exec, const KJS::List &args, int idx);
00095     double extractDouble(KJS::ExecState *exec, const KJS::List &args, int idx);
00096     uint extractUInt(KJS::ExecState *exec, const KJS::List &args, int idx);
00097     QStringList extractQStringList(KJS::ExecState *exec, const KJS::List &args, int idx);
00098     
00099     QDateTime extractQDateTime(KJS::ExecState *exec, const KJS::List &args, int idx);
00100     QDate extractQDate(KJS::ExecState *exec, const KJS::List &args, int idx);
00101     QTime extractQTime(KJS::ExecState *exec, const KJS::List &args, int idx);
00102     QRect extractQRect(KJS::ExecState *exec, const KJS::List &args, int idx);
00103     
00104     QFont extractQFont(KJS::ExecState *exec, const KJS::List &args, int idx);
00105     QStrList extractQStrList(KJS::ExecState *exec, const KJS::List &args, int idx);
00106     
00107     // Helpers for Variant conversions....
00108     QStrList convertArrayToStrList( KJS::ExecState *exec, const KJS::Value &value);
00109     QStringList convertArrayToStringList( KJS::ExecState *exec, const KJS::Value &value);
00110     QDateTime convertDateToDateTime(KJS::ExecState *exec, const KJS::Value &value);
00111 }
00112 
00113 #endif // KJSEMBEDJSBINDING_H
00114 
00115 // Local Variables:
00116 // c-basic-offset: 4
00117 // End:

Generated on Sat May 29 03:13:07 2004 for KJSEmbed by doxygen 1.3.2