future::Folder * AbstractAspect::folder() { if(inherits("future::Folder")) return static_cast<future::Folder *>(this); AbstractAspect * parent_aspect = parentAspect(); while(parent_aspect && !parent_aspect->inherits("future::Folder")) parent_aspect = parent_aspect->parentAspect(); return static_cast<future::Folder *>(parent_aspect); }
bool AbstractAspect::isDescendantOf(AbstractAspect *other) { if(other == this) return true; AbstractAspect * parent_aspect = parentAspect(); while(parent_aspect) { if(parent_aspect == other) return true; parent_aspect = parent_aspect->parentAspect(); } return false; }
/*! Update datasheet for corresponding curve-point, it is called every time whenever there is any change in position of curve-point or its error-bar so keep it undo unaware no need to create extra entry in undo stack */ void DatapickerCurve::updateData(const DatapickerPoint* point) { Q_D(DatapickerCurve); Datapicker* datapicker = dynamic_cast<Datapicker*>(parentAspect()); if (!datapicker) return; int row = indexOfChild<DatapickerPoint>(point, AbstractAspect::IncludeHidden); QVector3D data = datapicker->mapSceneToLogical(point->position()); if(d->posXColumn) d->posXColumn->setValueAt(row, data.x()); if(d->posYColumn) d->posYColumn->setValueAt(row, data.y()); if(d->posZColumn) d->posZColumn->setValueAt(row, data.y()); if (d->plusDeltaXColumn) { data = datapicker->mapSceneLengthToLogical(QPointF(point->plusDeltaXPos().x(), 0)); d->plusDeltaXColumn->setValueAt(row, qAbs(data.x())); } if (d->minusDeltaXColumn) { data = datapicker->mapSceneLengthToLogical(QPointF(point->minusDeltaXPos().x(), 0)); d->minusDeltaXColumn->setValueAt(row, qAbs(data.x())); } if (d->plusDeltaYColumn) { data = datapicker->mapSceneLengthToLogical(QPointF(0, point->plusDeltaYPos().y())); d->plusDeltaYColumn->setValueAt(row, qAbs(data.y())); } if (d->minusDeltaYColumn) { data = datapicker->mapSceneLengthToLogical(QPointF(0, point->minusDeltaYPos().y())); d->minusDeltaYColumn->setValueAt(row, qAbs(data.y())); } }
void DatapickerImage::setPrinting(bool on) const { QList<DatapickerPoint*> childPoints = parentAspect()->children<DatapickerPoint>(AbstractAspect::Recursive | AbstractAspect::IncludeHidden); foreach(DatapickerPoint* point, childPoints) point->setPrinting(on); }