KJSEmbed Types
Introduction
KJSEmbed adds a number of custom types to those defined by ECMA in
addition to the objects themselves. These types are used to pass
complex datatypes between scripts and the C++ code that is hosting the
script. This document describes the representations used to pass
information in each direction.
It should be noted that currently only a single representation is
available to scripts accessing native types. Scripts should not rely
on this behaviour as the restriction may be removed in a future
release of KJSEmbed so this, though the current script API will
continue to be supported.
Fundamental Types
Numbers
- int -> Number
- uint -> Number
- float -> Number
- double -> Number
- Number -> int
- Number -> uint
- Number -> float
- Number -> double
Strings
- TTQString -> String
- TTQCString -> String
- const char * -> String
- String -> TQString
- String -> TQCString
- String -> const char *
Qt Object Types
TTQColor
Represents a color, possibly including an alpha channel.
- TTQColor -> '#rrggbb'
- '#rrggbb' -> TQColor
- '#rrggbbaa' -> TQColor
TTQPoint
Represents a point.
- TTQPoint -> [x,y]
- [x,y] -> TQPoint
- obj.x obj.y -> TQPoint
TTQSize
Represents a size.
- TTQSize -> [w,h]
- [w,h] -> TQSize
- obj.w obj.h -> TQSize
TTQRect
Represents a rectangle.
- TTQRect -> [x,y,w,h]
- [x,y,w,h] -> TQRect
- obj.x obj.y obj.w obj.h -> TQRect
TTQDate
Represents a date.
TTQTime
Represents a time.
TTQDateTime
Represents a date/time pair.
TTQKeySequence
Represents a sequence of keys, eg. it is used for accelerators.
TTQFont
Represents a font.
KDE Object Types
KURL
Represents a URL.