kjsembed
variant_binding.h File Reference
#include <QtCore/QVariant>#include <kdemacros.h>#include <kjs/object.h>#include <kjs/interpreter.h>#include "static_binding.h"
Include dependency graph for variant_binding.h:

This graph shows which files directly or indirectly include this file:

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; \ }
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>();
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.
KDE 4.2 API Reference