File indexing completed on 2024-12-01 09:54:42
0001 #include "QBrush_bind.h" 0002 #include <QBrush> 0003 #include <value_binding.h> 0004 #include <object_binding.h> 0005 0006 using namespace KJSEmbed; 0007 0008 // Temp - for building 0009 class QColorBinding 0010 { 0011 public: static const KJS::ClassInfo info; 0012 }; 0013 class QPixmapBinding 0014 { 0015 public: static const KJS::ClassInfo info; 0016 }; 0017 class QGradientBinding 0018 { 0019 public: static const KJS::ClassInfo info; 0020 }; 0021 0022 const KJS::ClassInfo QColorBinding::info = { "QColor", &VariantBinding::info, nullptr, nullptr }; 0023 const KJS::ClassInfo QPixmapBinding::info = { "QPixmap", &VariantBinding::info, nullptr, nullptr }; 0024 const KJS::ClassInfo QGradientBinding::info = { "QGradient", &ObjectBinding::info, nullptr, nullptr }; 0025 0026 const KJS::ClassInfo QBrushBinding::info = { "QBrush", &VariantBinding::info, nullptr, nullptr }; 0027 QBrushBinding::QBrushBinding(KJS::ExecState *exec, const QBrush &value) 0028 : VariantBinding(exec, value) 0029 { 0030 StaticBinding::publish(exec, this, QBrushData::methods()); 0031 StaticBinding::publish(exec, this, VariantFactory::methods()); 0032 } 0033 0034 namespace QBrushNS 0035 { 0036 // style 0037 KJS::JSValue *style(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) 0038 { 0039 Q_UNUSED(args); 0040 KJS::JSValue *result = KJS::jsNull(); 0041 KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp<KJSEmbed::VariantBinding>(exec, self); 0042 if (!imp) { 0043 return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); 0044 } 0045 0046 QBrush value = imp->value<QBrush>(); 0047 if (args.size() == 0) { 0048 Qt::BrushStyle tmp = value.style(); 0049 result = KJS::jsNumber(tmp); 0050 imp->setValue(QVariant::fromValue(value)); 0051 return result; 0052 } 0053 0054 return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.style"); 0055 } 0056 0057 // setStyle 0058 KJS::JSValue *setStyle(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) 0059 { 0060 Q_UNUSED(args); 0061 KJS::JSValue *result = KJS::jsNull(); 0062 KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp<KJSEmbed::VariantBinding>(exec, self); 0063 if (!imp) { 0064 return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); 0065 } 0066 0067 QBrush value = imp->value<QBrush>(); 0068 if (args.size() == 1) { 0069 KJS::JSValue *value0 = args[0]; 0070 KJS::JSObject *object0 = value0->toObject(exec); 0071 if (object0 && object0->isNumber()) { 0072 Qt::BrushStyle arg0 = KJSEmbed::extractInteger<Qt::BrushStyle>(exec, args, 0); 0073 value.setStyle(arg0); 0074 imp->setValue(QVariant::fromValue(value)); 0075 return result; 0076 } 0077 } 0078 0079 return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.setStyle"); 0080 } 0081 0082 // texture 0083 KJS::JSValue *texture(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) 0084 { 0085 Q_UNUSED(args); 0086 KJS::JSValue *result = KJS::jsNull(); 0087 KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp<KJSEmbed::VariantBinding>(exec, self); 0088 if (!imp) { 0089 return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); 0090 } 0091 0092 QBrush value = imp->value<QBrush>(); 0093 if (args.size() == 0) { 0094 QPixmap tmp = value.texture(); 0095 result = KJSEmbed::createVariant(exec, "QPixmap", tmp); 0096 imp->setValue(QVariant::fromValue(value)); 0097 return result; 0098 } 0099 0100 return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.texture"); 0101 } 0102 0103 // setTexture 0104 KJS::JSValue *setTexture(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) 0105 { 0106 Q_UNUSED(args); 0107 KJS::JSValue *result = KJS::jsNull(); 0108 KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp<KJSEmbed::VariantBinding>(exec, self); 0109 if (!imp) { 0110 return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); 0111 } 0112 0113 QBrush value = imp->value<QBrush>(); 0114 if (args.size() == 1) { 0115 KJS::JSValue *value0 = args[0]; 0116 KJS::JSObject *object0 = value0->toObject(exec); 0117 if (object0 && object0->inherits(&QPixmapBinding::info)) { 0118 QPixmap pixmap = KJSEmbed::extractVariant<QPixmap>(exec, args, 0); 0119 value.setTexture(pixmap); 0120 imp->setValue(QVariant::fromValue(value)); 0121 return result; 0122 } 0123 } 0124 0125 return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.setTexture"); 0126 } 0127 0128 // color 0129 KJS::JSValue *color(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) 0130 { 0131 Q_UNUSED(args); 0132 KJS::JSValue *result = KJS::jsNull(); 0133 KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp<KJSEmbed::VariantBinding>(exec, self); 0134 if (!imp) { 0135 return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); 0136 } 0137 0138 QBrush value = imp->value<QBrush>(); 0139 if (args.size() == 0) { 0140 const QColor &tmp = value.color(); 0141 result = KJSEmbed::createVariant(exec, "QColor", tmp); 0142 imp->setValue(QVariant::fromValue(value)); 0143 return result; 0144 } 0145 0146 return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.color"); 0147 } 0148 0149 // setColor 0150 KJS::JSValue *setColor(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) 0151 { 0152 Q_UNUSED(args); 0153 KJS::JSValue *result = KJS::jsNull(); 0154 KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp<KJSEmbed::VariantBinding>(exec, self); 0155 if (!imp) { 0156 return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); 0157 } 0158 0159 QBrush value = imp->value<QBrush>(); 0160 if (args.size() == 1) { 0161 KJS::JSValue *value0 = args[0]; 0162 KJS::JSObject *object0 = value0->toObject(exec); 0163 if (object0 && object0->inherits(&QColorBinding::info)) { 0164 QColor color = KJSEmbed::extractVariant<QColor>(exec, args, 0); 0165 value.setColor(color); 0166 imp->setValue(QVariant::fromValue(value)); 0167 return result; 0168 } 0169 if (object0 && object0->isNumber()) { 0170 Qt::GlobalColor color = KJSEmbed::extractInteger<Qt::GlobalColor>(exec, args, 0); 0171 value.setColor(color); 0172 imp->setValue(QVariant::fromValue(value)); 0173 return result; 0174 } 0175 } 0176 0177 return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.setColor"); 0178 } 0179 0180 // gradient 0181 KJS::JSValue *gradient(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) 0182 { 0183 Q_UNUSED(args); 0184 KJS::JSValue *result = KJS::jsNull(); 0185 KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp<KJSEmbed::VariantBinding>(exec, self); 0186 if (!imp) { 0187 return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); 0188 } 0189 0190 QBrush value = imp->value<QBrush>(); 0191 if (args.size() == 0) { 0192 const QGradient *tmp = value.gradient(); 0193 result = KJSEmbed::createValue(exec, "const QGradient *", tmp); 0194 imp->setValue(QVariant::fromValue(value)); 0195 return result; 0196 } 0197 0198 return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.gradient"); 0199 } 0200 0201 // isOpaque 0202 KJS::JSValue *isOpaque(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) 0203 { 0204 Q_UNUSED(args); 0205 KJS::JSValue *result = KJS::jsNull(); 0206 KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp<KJSEmbed::VariantBinding>(exec, self); 0207 if (!imp) { 0208 return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); 0209 } 0210 0211 QBrush value = imp->value<QBrush>(); 0212 if (args.size() == 0) { 0213 bool tmp = value.isOpaque(); 0214 result = KJSEmbed::createVariant(exec, "bool", tmp); 0215 imp->setValue(QVariant::fromValue(value)); 0216 return result; 0217 } 0218 0219 return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.isOpaque"); 0220 } 0221 0222 } 0223 0224 const Enumerator KJSEmbed::QBrushData::p_enums[] = {{nullptr, 0 }}; 0225 0226 NO_STATICS(KJSEmbed::QBrushData) 0227 const Constructor KJSEmbed::QBrushData::p_constructor = 0228 {"QBrush", 0, KJS::DontDelete | KJS::ReadOnly, nullptr, &QBrushData::ctorMethod, p_statics, p_enums, KJSEmbed::QBrushData::p_methods }; 0229 KJS::JSObject *KJSEmbed::QBrushData::ctorMethod(KJS::ExecState *exec, const KJS::List &args) 0230 { 0231 if (args.size() == 0) { 0232 return new KJSEmbed::QBrushBinding(exec, QBrush()); 0233 } 0234 if (args.size() == 1) { 0235 KJS::JSValue *value0 = args[0]; 0236 KJS::JSObject *object0 = value0->toObject(exec); 0237 if (object0 && object0->isNumber()) { 0238 Qt::BrushStyle bs = KJSEmbed::extractInteger<Qt::BrushStyle>(exec, args, 0); 0239 return new KJSEmbed::QBrushBinding(exec, QBrush(bs)); 0240 } 0241 if (object0 && object0->inherits(&QPixmapBinding::info)) { 0242 QPixmap pixmap = KJSEmbed::extractVariant<QPixmap>(exec, args, 0); 0243 return new KJSEmbed::QBrushBinding(exec, QBrush(pixmap)); 0244 } 0245 if (object0 && object0->inherits(&QBrushBinding::info)) { 0246 QBrush brush = KJSEmbed::extractVariant<QBrush>(exec, args, 0); 0247 return new KJSEmbed::QBrushBinding(exec, QBrush(brush)); 0248 } 0249 if (object0 && object0->inherits(&QGradientBinding::info)) { 0250 QGradient gradient = KJSEmbed::extractValue<QGradient>(exec, args, 0); 0251 return new KJSEmbed::QBrushBinding(exec, QBrush(gradient)); 0252 } 0253 } 0254 if (args.size() == 2) { 0255 KJS::JSValue *value0 = args[0]; 0256 KJS::JSObject *object0 = value0->toObject(exec); 0257 KJS::JSValue *value1 = args[1]; 0258 KJS::JSObject *object1 = value1->toObject(exec); 0259 if (object0 && object0->inherits(&QColorBinding::info) && ((object1 && object1->isNumber()) || !object1)) { 0260 QColor color = KJSEmbed::extractVariant<QColor>(exec, args, 0); 0261 Qt::BrushStyle bs = KJSEmbed::extractInteger<Qt::BrushStyle>(exec, args, 1, Qt::SolidPattern); 0262 return new KJSEmbed::QBrushBinding(exec, QBrush(color, bs)); 0263 } 0264 if (object0 && object0->isNumber() && ((object1 && object1->isNumber()) || !object1)) { 0265 Qt::GlobalColor color = KJSEmbed::extractInteger<Qt::GlobalColor>(exec, args, 0); 0266 Qt::BrushStyle bs = KJSEmbed::extractInteger<Qt::BrushStyle>(exec, args, 1, Qt::SolidPattern); 0267 return new KJSEmbed::QBrushBinding(exec, QBrush(color, bs)); 0268 } 0269 if (object0 && object0->inherits(&QColorBinding::info) && object1 && object1->inherits(&QPixmapBinding::info)) { 0270 QColor color = KJSEmbed::extractVariant<QColor>(exec, args, 0); 0271 QPixmap pixmap = KJSEmbed::extractVariant<QPixmap>(exec, args, 1); 0272 return new KJSEmbed::QBrushBinding(exec, QBrush(color, pixmap)); 0273 } 0274 if (object0 && object0->isNumber() && object1 && object1->inherits(&QPixmapBinding::info)) { 0275 Qt::GlobalColor color = KJSEmbed::extractInteger<Qt::GlobalColor>(exec, args, 0); 0276 QPixmap pixmap = KJSEmbed::extractVariant<QPixmap>(exec, args, 1); 0277 return new KJSEmbed::QBrushBinding(exec, QBrush(color, pixmap)); 0278 } 0279 } 0280 return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush"); 0281 } 0282 0283 const Method KJSEmbed::QBrushData::p_methods[] = { 0284 { "style", 0, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::style }, 0285 { "setStyle", 1, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::setStyle }, 0286 { "texture", 0, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::texture }, 0287 { "setTexture", 1, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::setTexture }, 0288 { "color", 0, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::color }, 0289 { "setColor", 1, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::setColor }, 0290 { "gradient", 0, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::gradient }, 0291 { "isOpaque", 0, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::isOpaque }, 0292 {nullptr, 0, 0, nullptr } 0293 }; 0294