QString KST::suggestPluginName(const QString& pname, KstObjectTag vname) {
  QString tag;
  
  if (!vname.isValid()) {
    tag = pname;
  } else {
    tag = vname.tag() + "-" + pname;
  }
  return suggestDataObjectName(tag, 
                      i18n("Minimal abbreviation for 'pluGin'", "G"),
                      false);
}
Exemple #2
0
void KstDataSource::setTag(const KstObjectTag& in_tag) {
  if (in_tag == tag()) {
    return;
  }

  KstObject::setTag(in_tag);
  _numFramesScalar->setTag(KstObjectTag("frames", tag()));

  QHash<QString, KstString>::iterator it;
  
  for (it=_metaData.begin(); it != _metaData.end(); ++it) {
    KstObjectTag stag = it->tag();

    stag.setContext(tag().fullTag());
    it->setTag(stag);
  }
}
KstString::KstString(KstObjectTag in_tag, KstObject *provider, const QString& val, bool orphan)
: KstPrimitive(provider), _value(val), _orphan(orphan), _editable(false) {
  QString _tag = in_tag.tag();
  if (!in_tag.isValid()) {
    QString nt = i18n("Anonymous String %1");

    do {
      _tag = nt.arg(anonymousStringCounter++);
    } while (KstData::self()->vectorTagNameNotUniqueInternal(_tag));  // FIXME: why vector?
    KstObject::setTagName(KstObjectTag(_tag, in_tag.context()));
  } else {
    KstObject::setTagName(KST::suggestUniqueStringTag(in_tag));
  }

  KST::stringList.lock().writeLock();
  KST::stringList.append(this);
  KST::stringList.lock().unlock();
}
Exemple #4
0
/** Create the base scalar */
KstScalar::KstScalar(KstObjectTag in_tag, KstObject *provider, double val, bool orphan, bool displayable, bool editable)
: KstPrimitive(provider), _value(val), _orphan(orphan), _displayable(displayable), _editable(editable) {
  QString _tag = in_tag.tag();
  if (_tag.isEmpty()) {
    QString nt = QObject::tr("Anonymous Scalar %1");

    do {
      _tag = nt.arg(iAnonymousScalarCounter++);
    } while (KstData::self()->vectorTagNameNotUniqueInternal(_tag));  // FIXME: why vector?
    KstObject::setTag(KstObjectTag(_tag, in_tag.context()));
  } else {
    KstObject::setTag(KST::suggestUniqueScalarTag(in_tag));
  }


  KST::scalarList.lock().writeLock();
  KST::scalarList.append(this);
  KST::scalarList.lock().unlock();
}
KstObjectTag suggestUniqueTag(const KstObjectTag& baseTag, const KstObjectCollection<T>& coll) {
  int i = 0;
  KstObjectTag tag = baseTag;

  while (coll.tagExists(tag)) {
    tag.setTag((QString("%1-%2").arg(baseTag.tag()).arg(++i)));
  }

  return tag;
  /*
  QString name(baseTag.tag());

  while (coll.tagExists(name)) {
    name = QString("%1-%2").arg(baseTag.tag()).arg(++i);
  }

  return KstObjectTag(name, baseTag.context());
  */
}
/** Create a vector */
KstVector::KstVector(KstObjectTag in_tag, int size, KstObject *provider, bool isScalarList)
    : KstPrimitive(provider), _nsum(0), _scalars(isScalarList ? 0 : 11) {
    //kstdDebug() << "+++ CREATING VECTOR: " << (void*) this << endl;
    _editable = false;
    NumShifted = 0;
    NumNew = 0;
    _saveData = false;
    _isScalarList = isScalarList;

    _saveable = false;

    if (size <= 0) {
        size = INITSIZE;
    }

    if (!in_tag.isValid()) {
        QString nt = i18n("Anonymous Vector %1");

        do {
            KstObject::setTagName(KstObjectTag(nt.arg(anonymousVectorCounter++), in_tag.context()));
        } while (KstData::self()->vectorTagNameNotUnique(tagName(), false));
    } else {
        KstObject::setTagName(KST::suggestUniqueVectorTag(in_tag));
    }

    _v = static_cast<double*>(KST::malloc(size * sizeof(double)));
    if (!_v) { // Malloc failed
        _v = static_cast<double*>(KST::malloc(sizeof(double)));
        _size = 1;
    } else {
        _size = size;
    }
    _is_rising = false;

    createScalars();
    blank();

    KST::vectorList.lock().writeLock();
    KST::vectorList.append(this);
    KST::vectorList.lock().unlock();
}
Exemple #7
0
KstEquation::KstEquation(const QDomElement &e)
: KstDataObject(e) {
  QString in_tag, equation;

  int ns = -1;
  double x0 = 0.0, x1 = 1.0;
  KstObjectTag xvtag = KstObjectTag::invalidTag;
  bool haveVector = false;

  _doInterp = false;

  /* parse the DOM tree */
  QDomNode n = e.firstChild();
  while (!n.isNull()) {
    QDomElement e = n.toElement(); // try to convert the node to an element.
    if (!e.isNull()) { // the node was really an element.
      if (e.tagName() == "tag") {
        in_tag = e.text();
      } else if (e.tagName() == "equation") {
        equation = e.text();
      } else if (e.tagName() == "x0") {
        x0 = e.text().toDouble();
      } else if (e.tagName() == "x1") {
        x1 = e.text().toDouble();
      } else if (e.tagName() == "ns") {
        ns = e.text().toInt();
      } else if (e.tagName() == "xvtag") {
        xvtag = KstObjectTag::fromString(e.text());
      } else if (e.tagName() == "xvector") {
        _inputVectorLoadQueue.append(qMakePair(XINVECTOR, e.text()));
        haveVector = true;
      } else if (e.tagName() == "interpolate") {
        _doInterp = true;
      }
    }
    n = n.nextSibling();
  }

  if (!haveVector) {
    if (ns < 0) {
      ns = 2;
    }
    if (x0 == x1) {
      x1 = x0 + 2;
    }

    KstObjectTag vtag = KstObjectTag::invalidTag;
    if (!xvtag.isValid()) {
      vtag = KST::suggestUniqueVectorTag(KstObjectTag(QString("(%1..%2)").arg(x0).arg(x1), KstObjectTag::globalTagContext));
    } else {
      vtag = xvtag;
    }

    KstVectorPtr xvector = new KstSVector(x0, x1, ns, vtag);

    _doInterp = false;
    _xInVector = _inputVectors.insert(XINVECTOR, xvector);
  } else {
    _xInVector = _inputVectors.end();
  }
  commonConstructor(in_tag, equation);
}
QString KST::suggestVectorViewName( KstObjectTag vector_name ) {
  return suggestDataObjectName(vector_name.tag(), 
                      i18n("Minimal abbreviation for 'VectorView'", "V"),
                      true);
}
QString KST::suggestHistogramName( KstObjectTag vector_name ) {
  return suggestDataObjectName(vector_name.tag(), 
                      i18n("Minimal abbreviation for 'Histogram'", "H"),
                      true);
}
QString KST::suggestPSDName( KstObjectTag vector_name ) {
  return suggestDataObjectName(vector_name.tag(), 
                      i18n("Minimal abbreviation for 'Power spectrum'", "P"),
                      true);
}
/* been put on the list */
QString KST::suggestCurveName( KstObjectTag vector_name, bool add_c ) {
  return suggestDataObjectName(vector_name.displayString(), 
                      i18n("Minimal abbreviation for 'Curve'", "C"), 
                      add_c);
}
QString KST::suggestImageName(KstObjectTag matrix_name) {
  return suggestDataObjectName(matrix_name.tag(), 
                      i18n("Minimal abbreviation for 'Image'", "I"),
                      true);
}