• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.14.38 API Reference
  • KDE Home
  • Contact Us
 

kjsembed

  • kjsembed
  • kjsembed
Classes | Namespaces | Macros | Functions
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
 
class  KJSEmbed::VariantFactory
 

Namespaces

namespace  KJSEmbed
 

Macros

#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)
 

Macro Definition Documentation

◆ END_VARIANT_METHOD

#define END_VARIANT_METHOD
Value:
imp->setValue(qVariantFromValue(value)); \
} \
else \
{\
KJS::throwError(exec, KJS::GeneralError, "We have a problem baby");\
}\
return result; \
}
result
END_VARIANT_METHOD result
Definition: color.cpp:85
value
QVariant value
Definition: settings.cpp:35

End a variant method started by START_VARIANT_METHOD.

Definition at line 56 of file variant_binding.h.

◆ KJSO_VARIANT_SIMPLE_BINDING_CTOR

#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.

◆ START_VARIANT_METHOD

#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>();
KJSEmbed::VariantBinding
QVariant based binding.
Definition: variant_binding.h:89
KJSEmbed::VariantBinding::value
T value() const
Extract the actual value from the wrapper.
Definition: variant_binding.h:112

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.

This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kjsembed

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

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal