void KstBindLegend::setTextColor(KJS::ExecState *exec, const KJS::Value& value) { QVariant cv = KJSEmbed::convertToVariant(exec, value); if (!cv.canCast(QVariant::Color)) { return createPropertyTypeError(exec); } KstViewLegendPtr d = makeLegend(_d); if (d) { KstWriteLocker rl(d); d->setForegroundColor(cv.toColor()); KstApp::inst()->paintAll(KstPainter::P_PAINT); } }
/** apply properties in the custom config widget to this */ bool KstViewLegend::readConfigWidget(QWidget *w) { KstViewLegendList legends; KstViewLegendPtr legendExtra; ViewLegendWidget *widget = dynamic_cast<ViewLegendWidget*>(w); if (!widget) { return false; } if (widget->_thisLegend->isChecked()) { legends += this; } else if (widget->_thisWindow->isChecked()) { legends = topLevelParent()->findChildrenType<KstViewLegend>(true); } else { legends = globalLegendList(); } // apply the curve list, but only to this legend! KstBaseCurveList allCurves = kstObjectSubList<KstDataObject, KstBaseCurve>(KST::dataObjectList); _curves.clear(); for (unsigned i = 0; i < widget->DisplayedCurveList->count(); i++) { KstBaseCurveList::Iterator it = allCurves.findTag(widget->DisplayedCurveList->text(i)); if (it != allCurves.end()) { _curves.append(*it); } } for (uint i = 0; i < legends.size(); i++) { legendExtra = legends[i]; legendExtra->setFontSize(widget->_fontSize->value()); legendExtra->setForegroundColor(widget->_fontColor->color()); legendExtra->setFontName(widget->_font->currentFont().toString()); legendExtra->setTitle(widget->_title->text()); legendExtra->setTransparent(widget->_transparent->isChecked()); legendExtra->setBorderWidth(widget->_border->value()); legendExtra->setBorderColor(widget->_boxColors->color()); legendExtra->setBackgroundColor(widget->_boxColors->color()); legendExtra->setLegendMargin(widget->_margin->value()); legendExtra->setVertical(widget->_vertical->isChecked()); legendExtra->setTrackContents(widget->TrackContents->isChecked()); } setDirty(); return true; }