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;
}
Beispiel #3
0
/*!
    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()));
	}
}
Beispiel #4
0
void DatapickerImage::setPrinting(bool on) const {
	QList<DatapickerPoint*> childPoints = parentAspect()->children<DatapickerPoint>(AbstractAspect::Recursive | AbstractAspect::IncludeHidden);
	foreach(DatapickerPoint* point, childPoints)
		point->setPrinting(on);
}