Example #1
0
void KstBindLegend::setVertical(KJS::ExecState *exec, const KJS::Value& value) {
  if (value.type() != KJS::BooleanType) {
    return createPropertyTypeError(exec);
  }
  KstViewLegendPtr d = makeLegend(_d);
  if (d) {
    KstWriteLocker wl(d);
    d->setVertical(value.toBoolean(exec));
    KstApp::inst()->paintAll(KstPainter::P_PAINT);
  }
}
Example #2
0
/** 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;
}