KJS::Value KstBindEllipse::borderColor(KJS::ExecState *exec) const { KstViewEllipsePtr d = makeEllipse(_d); if (d) { KstReadLocker rl(d); return KJSEmbed::convertToValue(exec, d->borderColor()); } return KJSEmbed::convertToValue(exec, QColor()); }
KJS::Value KstBindEllipse::borderWidth(KJS::ExecState *exec) const { Q_UNUSED(exec) KstViewEllipsePtr d = makeEllipse(_d); if (d) { KstReadLocker rl(d); return KJS::Number(d->borderWidth()); } return KJS::Number(0); }
KstGfxEllipseMouseHandler::KstGfxEllipseMouseHandler() : KstGfxMouseHandler() { // initial default settings before any sticky settings KstViewEllipsePtr defaultEllipse = new KstViewEllipse; defaultEllipse->setBorderWidth(2); defaultEllipse->setBorderColor(Qt::black); defaultEllipse->setForegroundColor(Qt::white); _defaultObject = KstViewObjectPtr(defaultEllipse); }
void KstBindEllipse::setBorderWidth(KJS::ExecState *exec, const KJS::Value& value) { unsigned w = 0; if (value.type() != KJS::NumberType || !value.toUInt32(w)) { KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError); exec->setException(eobj); return; } KstViewEllipsePtr d = makeEllipse(_d); if (d) { KstWriteLocker wl(d); d->setBorderWidth(w); KstApp::inst()->paintAll(KstPainter::P_PAINT); } }
void KstBindEllipse::setBorderColor(KJS::ExecState *exec, const KJS::Value& value) { QVariant cv = KJSEmbed::convertToVariant(exec, value); if (!cv.canCast(QVariant::Color)) { KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError); exec->setException(eobj); return; } KstViewEllipsePtr d = makeEllipse(_d); if (d) { KstWriteLocker rl(d); d->setBorderColor(cv.toColor()); KstApp::inst()->paintAll(KstPainter::P_PAINT); } }
KJS::Object KstBindEllipse::construct(KJS::ExecState *exec, const KJS::List& args) { if (args.size() != 1) { KJS::Object eobj = KJS::Error::create(exec, KJS::SyntaxError); exec->setException(eobj); return KJS::Object(); } KstViewObjectPtr view = extractViewObject(exec, args[0]); if (!view) { KstViewWindow *w = extractWindow(exec, args[0]); if (w) { view = w->view(); } else { KJS::Object eobj = KJS::Error::create(exec, KJS::TypeError); exec->setException(eobj); return KJS::Object(); } } KstViewEllipsePtr b = new KstViewEllipse; view->appendChild(b.data()); KstApp::inst()->paintAll(KstPainter::P_PAINT); return KJS::Object(new KstBindEllipse(exec, b)); }
KstBindEllipse::KstBindEllipse(KJS::ExecState *exec, KstViewEllipsePtr d, const char *name) : KstBindViewObject(exec, d.data(), name ? name : "Ellipse") { KJS::Object o(this); addBindings(exec, o); }