00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "svg_binding.h"
00023
00024 #include <QtSvg/QSvgWidget>
00025 #include <QtCore/QDebug>
00026
00027 #include <kjs/object.h>
00028
00029 #include "qwidget_binding.h"
00030 #include "static_binding.h"
00031 #include "kjseglobal.h"
00032
00033 using namespace KJSEmbed;
00034
00035 namespace SvgRendererNS {
00036 START_QOBJECT_METHOD( animationDuration, QSvgRenderer )
00037 result = KJS::jsNumber(object->animationDuration());
00038 END_QOBJECT_METHOD
00039
00040 START_QOBJECT_METHOD( defaultSize, QSvgRenderer )
00041 result = KJSEmbed::createVariant(exec, "QSize", object->defaultSize() );
00042 END_QOBJECT_METHOD
00043
00044 START_QOBJECT_METHOD( isValid, QSvgRenderer )
00045 result = KJS::jsBoolean(object->isValid());
00046 END_QOBJECT_METHOD
00047
00048 START_QOBJECT_METHOD( animated, QSvgRenderer )
00049 result = KJS::jsBoolean(object->animated());
00050 END_QOBJECT_METHOD
00051 }
00052
00053 START_METHOD_LUT( SvgRenderer )
00054 {"animationDuration", 0, KJS::DontDelete|KJS::ReadOnly, &SvgRendererNS::animationDuration},
00055 {"defaultSize", 0, KJS::DontDelete|KJS::ReadOnly, &SvgRendererNS::defaultSize},
00056 {"isValid", 0, KJS::DontDelete|KJS::ReadOnly, &SvgRendererNS::isValid},
00057 {"animated", 0, KJS::DontDelete|KJS::ReadOnly, &SvgRendererNS::animated}
00058 END_METHOD_LUT
00059
00060 NO_ENUMS( SvgRenderer )
00061 NO_STATICS( SvgRenderer )
00062
00063 KJSO_SIMPLE_BINDING_CTOR( SvgRenderer, QSvgRenderer, QObjectBinding )
00064 KJSO_QOBJECT_BIND( SvgRenderer, QSvgRenderer )
00065
00066 KJSO_START_CTOR( SvgRenderer, QSvgRenderer, 0 )
00067 QSvgRenderer *renderer = 0;
00068 if( args.size() == 1 )
00069 {
00070 QObject *arg0 = KJSEmbed::extractObject<QObject>(exec, args, 0, 0);
00071 renderer = new QSvgRenderer(arg0);
00072 }
00073 else if( args.size() == 2 )
00074 {
00075 QString arg0 = KJSEmbed::extractVariant<QString>(exec, args, 0 );
00076 QObject *arg1 = KJSEmbed::extractObject<QObject>(exec, args, 1, 0);
00077 renderer = new QSvgRenderer(arg0,arg1);
00078 }
00079 else
00080 {
00081 renderer = new QSvgRenderer();
00082 }
00083
00084 KJS::JSObject *rendererObject = new SvgRenderer( exec, renderer );
00085 return rendererObject;
00086 KJSO_END_CTOR
00087
00088 namespace SvgWidgetNS
00089 {
00090 START_QOBJECT_METHOD( renderer, QSvgWidget )
00091 result = KJSEmbed::createQObject( exec, object->renderer(), ObjectBinding::QObjOwned );
00092 END_QOBJECT_METHOD
00093 }
00094
00095 START_METHOD_LUT( SvgWidget )
00096 {"renderer", 0, KJS::DontDelete|KJS::ReadOnly, &SvgWidgetNS::renderer}
00097 END_METHOD_LUT
00098
00099 NO_ENUMS( SvgWidget )
00100 NO_STATICS( SvgWidget )
00101
00102 KJSO_SIMPLE_BINDING_CTOR( SvgWidget, QSvgWidget, QWidgetBinding )
00103 KJSO_QOBJECT_BIND( SvgWidget, QSvgWidget )
00104
00105 KJSO_START_CTOR( SvgWidget, QSvgWidget, 0 )
00106 QSvgWidget *widget = 0;
00107 if( args.size() == 1 )
00108 {
00109 QWidget *arg0 = KJSEmbed::extractObject<QWidget>(exec, args, 0, 0);
00110 widget = new QSvgWidget(arg0);
00111 }
00112 else if( args.size() == 2 )
00113 {
00114 QString arg0 = KJSEmbed::extractVariant<QString>(exec, args, 0 );
00115 QWidget *arg1 = KJSEmbed::extractObject<QWidget>(exec, args, 1, 0);
00116 widget = new QSvgWidget(arg0,arg1);
00117 }
00118 else
00119 {
00120 widget = new QSvgWidget();
00121 }
00122
00123 KJS::JSObject *rendererObject = new SvgWidget( exec, widget );
00124 return rendererObject;
00125 KJSO_END_CTOR
00126
00127