|
|
|
// -*- c++ -*-
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright (C) 2001-2002, Richard J. Moore <rich@kde.org>
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Library General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Library General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Library General Public License
|
|
|
|
* along with this library; see the file COPYING.LIB. If not, write to
|
|
|
|
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
|
|
* Boston, MA 02110-1301, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef KJSEMBEDJSBINDING_H
|
|
|
|
#define KJSEMBEDJSBINDING_H
|
|
|
|
#include "global.h"
|
|
|
|
#include <tqstring.h>
|
|
|
|
#include <tqvariant.h>
|
|
|
|
#include <tqwidget.h>
|
|
|
|
|
|
|
|
#include <kjs/interpreter.h>
|
|
|
|
#include <kjs/object.h>
|
|
|
|
#include <kjs/types.h>
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Implement TQString-KJS::UString conversion methods. These methods are declared
|
|
|
|
* by KJS, but libkjs doesn't actually contain their implementations.
|
|
|
|
*
|
|
|
|
* @version $Id$
|
|
|
|
*/
|
|
|
|
namespace KJS {
|
|
|
|
|
|
|
|
inline UString::UString( const TTQString &d )
|
|
|
|
{
|
|
|
|
uint len = d.length();
|
|
|
|
UChar *dat = new UChar[len];
|
|
|
|
memcpy( dat, d.unicode(), len * sizeof(UChar) );
|
|
|
|
rep = UString::Rep::create(dat, len);
|
|
|
|
}
|
|
|
|
|
|
|
|
inline TTQString UString::qstring() const
|
|
|
|
{
|
|
|
|
return TTQString((TTQChar*) data(), size());
|
|
|
|
}
|
|
|
|
|
|
|
|
inline TTQConstString UString::qconststring() const
|
|
|
|
{
|
|
|
|
return TTQConstString((TTQChar*) data(), size());
|
|
|
|
}
|
|
|
|
|
|
|
|
inline TTQString Identifier::qstring() const
|
|
|
|
{
|
|
|
|
return TTQString((TTQChar*) data(), size());
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace KJSEmbed {
|
|
|
|
class JSObjectProxy;
|
|
|
|
class JSOpaqueProxy;
|
|
|
|
|
|
|
|
enum JavaScriptArrayType { None, List, Map };
|
|
|
|
|
|
|
|
KJSEMBED_EXPORT JavaScriptArrayType checkArray( KJS::ExecState *exec, const KJS::Value &val );
|
|
|
|
|
|
|
|
/** Converts a TTQVariant to the closest possible KJS::Value. */
|
|
|
|
KJSEMBED_EXPORT KJS::Value convertToValue( KJS::ExecState *exec, const TTQVariant &val);
|
|
|
|
|
|
|
|
/** Converts a KJS::Value to the closest possible TTQVariant. */
|
|
|
|
KJSEMBED_EXPORT TTQVariant convertToVariant( KJS::ExecState *exec, const KJS::Value &v );
|
|
|
|
|
|
|
|
/** Returns HTML that documents the specified object. */
|
|
|
|
KJSEMBED_EXPORT TTQString dumpObject( KJS::ExecState *exec, KJS::Object &obj );
|
|
|
|
|
|
|
|
/** Returns HTML that documents the TTQObject facilities of the specified object. */
|
|
|
|
KJSEMBED_EXPORT TTQString dumpTQObject( KJS::ExecState *exec, KJS::Object &obj );
|
|
|
|
|
|
|
|
/** Returns a TTQStringList that contains all possible properties,
|
|
|
|
* methods and slots for use with a completion object
|
|
|
|
*/
|
|
|
|
KJSEMBED_EXPORT TTQStringList dumpCompletion( KJS::ExecState *exec, KJS::Object &obj);
|
|
|
|
|
|
|
|
KJSEMBED_EXPORT TTQPen extractTQPen(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQFont extractTQFont(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQBrush extractTQBrush(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQPalette extractTQPalette(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQPixmap extractTQPixmap( KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQImage extractTQImage( KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQString extractTQString( KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT int extractInt( KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQColor extractTQColor(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQSize extractTQSize(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT bool extractBool(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT double extractDouble(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT uint extractUInt(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQStringList extractTQStringList(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
|
|
|
|
KJSEMBED_EXPORT TTQDateTime extractTQDateTime(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQDate extractTQDate(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQTime extractTQTime(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQRect extractTQRect(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQPoint extractTQPoint(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
|
|
|
|
KJSEMBED_EXPORT TTQFont extractTQFont(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
KJSEMBED_EXPORT TTQStrList extractTQStrList(KJS::ExecState *exec, const KJS::List &args, int idx);
|
|
|
|
|
|
|
|
KJSEMBED_EXPORT TTQObject *extractTQObject( KJS::ExecState *exec, const KJS::List &args, int idx );
|
|
|
|
KJSEMBED_EXPORT TTQWidget *extractTQWidget( KJS::ExecState *exec, const KJS::List &args, int idx );
|
|
|
|
|
|
|
|
KJSEMBED_EXPORT JSOpaqueProxy *extractOpaqueProxy( KJS::ExecState *exec, const KJS::List &args, int idx );
|
|
|
|
|
|
|
|
// Helpers for Variant conversions....
|
|
|
|
KJSEMBED_EXPORT TTQStrList convertArrayToStrList( KJS::ExecState *exec, const KJS::Value &value);
|
|
|
|
KJSEMBED_EXPORT TTQStringList convertArrayToStringList( KJS::ExecState *exec, const KJS::Value &value);
|
|
|
|
KJSEMBED_EXPORT TTQDateTime convertDateToDateTime(KJS::ExecState *exec, const KJS::Value &value);
|
|
|
|
KJSEMBED_EXPORT TTQValueList<TTQVariant> convertArrayToList( KJS::ExecState *exec, const KJS::Value &value );
|
|
|
|
KJSEMBED_EXPORT TTQMap<TTQString, TTQVariant> convertArrayToMap( KJS::ExecState *exec, const KJS::Value &value );
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This will throw an exception with the error string.
|
|
|
|
* @returns An error object.
|
|
|
|
*/
|
|
|
|
KJS::Object throwError( KJS::ExecState *exec, const TTQString &error, KJS::ErrorType type = KJS::GeneralError );
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // KJSEMBEDJSBINDING_H
|
|
|
|
|
|
|
|
// Local Variables:
|
|
|
|
// c-basic-offset: 4
|
|
|
|
// End:
|