[Kst] branches/work/kst/portto4/kst/src

Barth Netterfield netterfield at astro.utoronto.ca
Wed Oct 10 14:03:51 UTC 2012


Oh - and also don't purge curves and vectors used as plot markers.

On Wed, Oct 10, 2012 at 9:37 AM, Barth Netterfield <
netterfield at astro.utoronto.ca> wrote:

> SVN commit 1320033 by netterfield:
>
> Don't purge vectors only used in labels.
>
> Remove some dead code.
>
>
>  M  +17 -2     libkstapp/datamanager.cpp
>  M  +3 -0      libkstapp/labelrenderer.cpp
>  M  +0 -17     libkstmath/curve.cpp
>  M  +0 -3      libkstmath/curve.h
>  M  +0 -19     libkstmath/image.cpp
>  M  +0 -3      libkstmath/image.h
>  M  +0 -6      libkstmath/relation.h
>
>
> --- branches/work/kst/portto4/kst/src/libkstapp/datamanager.cpp
> #1320032:1320033
> @@ -405,6 +405,9 @@
>    }
>  }
>
> +// search through all the objects to see what is a dependency of anything
> shown.
> +// FIXME: this is very fragile - objects use objects in all sorts of ways,
> +// all which have to be listed here.
>  void DataManager::setUsedFlags() {
>    _doc->objectStore()->clearUsedFlags();
>
> @@ -417,17 +420,29 @@
>            relation->setUsed(true);
>          }
>        }
> +      if (plot->xAxis()->axisPlotMarkers().isCurveSource()) {
> +        plot->xAxis()->axisPlotMarkers().curve()->setUsed(true);
>      }
> +      if (plot->yAxis()->axisPlotMarkers().isCurveSource()) {
> +        plot->yAxis()->axisPlotMarkers().curve()->setUsed(true);
>    }
> +      if (plot->xAxis()->axisPlotMarkers().isVectorSource()) {
> +        plot->xAxis()->axisPlotMarkers().vector()->setUsed(true);
> +      }
> +      if (plot->yAxis()->axisPlotMarkers().isVectorSource()) {
> +        plot->yAxis()->axisPlotMarkers().vector()->setUsed(true);
> +      }
> +    }
> +  }
>
> -  // TODO: for each primitive used in an unhidden label mark 'used' - O(N)
>    QList<LabelItem*> labels = ViewItem::getItems<LabelItem>();
>    foreach (LabelItem * label, labels) {
> +    if (label->_labelRc) {
>      foreach (Primitive* primitive, label->_labelRc->_refObjects) {
>        primitive->setUsed(true);
>      }
> -    //qDebug() << "label " << label->Name() << "dependencies: " <<
> label->_labelRc->_refObjects.size();
>    }
> +  }
>
>    // for each primitive used by a relation mark 'used' - O(N)
>    ObjectList<Relation> relationList =
> _doc->objectStore()->getObjects<Relation>();
> --- branches/work/kst/portto4/kst/src/libkstapp/labelrenderer.cpp
> #1320032:1320033
> @@ -140,6 +140,9 @@
>        Kst::VectorPtr vp =
> Kst::kst_cast<Kst::Vector>(store->retrieveObject(fi->text));
>        if (vp) {
>          if (!fi->expression.isEmpty()) {
> +          if (cache) {
> +            rc.addObject(vp);
> +          }
>            // Parse and evaluate as an equation
>            bool ok = false;
>            // FIXME: make more efficient: cache the parsed equation
> --- branches/work/kst/portto4/kst/src/libkstmath/curve.cpp #1320032:1320033
> @@ -1506,23 +1506,6 @@
>  }
>
>
> -DataObjectPtr Curve::providerDataObject() const {
> -  DataObjectPtr provider = 0L;
> -  // FIXME: fix this.. I don't know what's going on here
> -#if 0
> -  vectorList.lock().readLock();
> -  VectorPtr vp = *vectorList.findTag(yVTag().tag());  // FIXME: should
> use full tag
> -  vectorList.lock().unlock();
> -  if (vp) {
> -    vp->readLock();
> -    provider = kst_cast<DataObject>(vp->provider());
> -    vp->unlock();
> -  }
> -#endif
> -  return provider;
> -}
> -
> -
>  double Curve::distanceToPoint(double xpos, double dx, double ypos) const {
>  // find the y distance between the curve and a point. return 1.0E300 if
> this distance is undefined. i don't want to use -1 because it will make the
> code which uses this function messy.
>    VectorPtr xv = *_inputVectors.find(XVECTOR);
> --- branches/work/kst/portto4/kst/src/libkstmath/curve.h #1320032:1320033
> @@ -153,9 +153,6 @@
>      // see KstRelation::distanceToPoint
>      virtual double distanceToPoint(double xpos, double dx, double ypos)
> const;
>
> -    // see KstRelation::providerDataObject
> -    virtual DataObjectPtr providerDataObject() const;
> -
>      virtual QString descriptionTip() const;
>
>      // labels for plots
> --- branches/work/kst/portto4/kst/src/libkstmath/image.cpp #1320032:1320033
> @@ -397,25 +397,6 @@
>    }
>  }
>
> -
> -DataObjectPtr Image::providerDataObject() const {
> -  DataObjectPtr provider = 0L;
> -  // FIXME: fix this.. I don't know what's going on here
> -#if 0
> -  matrixList.lock().readLock();
> -  MatrixPtr mp = *matrixList.findTag(matrixTag());
> -  matrixList.lock().unlock();
> -  DataObjectPtr provider = 0L;
> -  if (mp) {
> -    mp->readLock();
> -    provider = kst_cast<DataObject>(mp->provider());
> -    mp->unlock();
> -  }
> -#endif
> -  return provider;
> -}
> -
> -
>  double Image::distanceToPoint(double xpos, double dx, double ypos) const {
>    Q_UNUSED(dx)
>    // dx is not relevant for double clicks on images - clicks must be
> inside the image
> --- branches/work/kst/portto4/kst/src/libkstmath/image.h #1320032:1320033
> @@ -100,9 +100,6 @@
>
>      virtual RelationPtr makeDuplicate() const;
>
> -    // see KstRelation::providerDataObject
> -    virtual DataObjectPtr providerDataObject() const;
> -
>      // see KstRelation::distanceToPoint
>      virtual double distanceToPoint(double xpos, double dx, double ypos)
> const;
>
> --- branches/work/kst/portto4/kst/src/libkstmath/relation.h
> #1320032:1320033
> @@ -114,12 +114,6 @@
>
>      virtual bool uses(ObjectPtr p) const;
>
> -    // this returns the data object providing the data for this basecurve.
> -    // E.g. for VCurves, it returns the data object providing the y vector
> -    // E.g. for Images, it returns the data object providing the matrix
> -    // Null is returned if no provider exists
> -    virtual DataObjectPtr providerDataObject() const = 0;
> -
>      // return closest distance to the given point
>      // images always return a rating >= 5
>      virtual double distanceToPoint(double xpos, double dx, double ypos)
> const = 0;
> _______________________________________________
> Kst mailing list
> Kst at kde.org
> https://mail.kde.org/mailman/listinfo/kst
>



-- 
C. Barth Netterfield
University of Toronto
416-845-0946
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kst/attachments/20121010/de201699/attachment-0001.html>


More information about the Kst mailing list