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

kjsembed

variant_binding.h File Reference

#include <QtCore/QVariant>
#include <kdemacros.h>
#include <kjs/object.h>
#include <kjs/interpreter.h>
#include "static_binding.h"

Go to the source code of this file.

Classes

class  KJSEmbed::VariantBinding
 QVariant based binding. More...
class  KJSEmbed::VariantFactory

Namespaces

namespace  KJSEmbed

Defines

#define END_VARIANT_METHOD
#define KJSO_VARIANT_SIMPLE_BINDING_CTOR(NAME, JSNAME, TYPE, BASENAME)
#define START_VARIANT_METHOD(METHODNAME, TYPE)

Functions

QList< QVariant > KJSEMBED_EXPORT KJSEmbed::convertArrayToList (KJS::ExecState *exec, KJS::JSValue *value)
QMap< QString, QVariant >
KJSEMBED_EXPORT 
KJSEmbed::convertArrayToMap (KJS::ExecState *exec, KJS::JSValue *value)
QStringList KJSEMBED_EXPORT KJSEmbed::convertArrayToStringList (KJS::ExecState *exec, KJS::JSValue *value)
KJSEMBED_EXPORT KJS::JSValue * KJSEmbed::convertToValue (KJS::ExecState *exec, const QVariant &value)
QVariant KJSEMBED_EXPORT KJSEmbed::convertToVariant (KJS::ExecState *exec, KJS::JSValue *value)
template<typename T >
KJS::JSValue * KJSEmbed::createVariant (KJS::ExecState *exec, const KJS::UString &className, const T &value)
template<typename T >
T KJSEmbed::extractVariant (KJS::ExecState *exec, const KJS::List &args, int idx, const T &defaultValue=T())
template<typename T >
T KJSEmbed::extractVariant (KJS::ExecState *exec, KJS::JSValue *arg, const T &defaultValue)
QVariant KJSEMBED_EXPORT KJSEmbed::extractVariant (KJS::ExecState *exec, KJS::JSValue *value)

Define Documentation

#define END_VARIANT_METHOD
Value:
imp->setValue(qVariantFromValue(value)); \
        } \
        else \
        {\
            KJS::throwError(exec, KJS::GeneralError, "We have a problem baby");\
        }\
        return result; \
}

End a variant method started by START_VARIANT_METHOD.

Definition at line 56 of file variant_binding.h.

#define KJSO_VARIANT_SIMPLE_BINDING_CTOR ( NAME,
JSNAME,
TYPE,
BASENAME   ) 
Value:
NAME::NAME(KJS::ExecState *exec, const char* typeName ) \
      : BASENAME( exec, typeName )                    \
    { \
      StaticBinding::publish( exec, this, NAME::methods() ); \
    } \
    NAME::NAME(KJS::ExecState *exec, const TYPE & value) \
      : BASENAME( exec, QVariant::fromValue(value))                          \
    { \
      StaticBinding::publish( exec, this, NAME::methods() ); \
    }

Definition at line 66 of file variant_binding.h.

#define START_VARIANT_METHOD ( METHODNAME,
TYPE   ) 
Value:
KJS::JSValue *METHODNAME( KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args ) \
{ \
        Q_UNUSED(exec);\
        Q_UNUSED(self);\
        Q_UNUSED(args);\
        KJS::JSValue *result = KJS::jsNull(); \
        KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp<KJSEmbed::VariantBinding>(exec, self ); \
        if( imp ) \
        { \
                TYPE value = imp->value<TYPE>();

A simple variant syle method.

This will extract the QVariant, cast it to the native type and place it in "value". Any data that should be returned from this method should be placed into "result";

Definition at line 42 of file variant_binding.h.

kjsembed

Skip menu "kjsembed"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members

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