void DataRange::countFromEndChanged() { if (countFromEnd()) { setReadToEnd(false); } _start->setEnabled(!countFromEnd()); _startUnits->setEnabled(!countFromEnd()); }
void DataRange::countFromEndChanged() { if (countFromEnd()) { setReadToEnd(false); } updateFields(None); }
void DataRange::setWidgetDefaults() { //FIXME Do we need a V->readLock() here? dialogDefaults().setValue("vector/range", range()); dialogDefaults().setValue("vector/start", start()); dialogDefaults().setValue("vector/countFromEnd", countFromEnd()); dialogDefaults().setValue("vector/readToEnd", readToEnd()); dialogDefaults().setValue("vector/skip", skip()); dialogDefaults().setValue("vector/doSkip", doSkip()); dialogDefaults().setValue("vector/doAve", doFilter()); dialogDefaults().setValue("vector/rangeUnits", rangeUnits()); dialogDefaults().setValue("vector/startUnits", rangeUnits()); }
void DataRange::updateFields(ControlField cf) { bool enable_last = (_rangeUnits->currentIndex() == _startUnits->currentIndex()); enable_last &= !readToEnd(); enable_last &= !countFromEnd(); _last->setEnabled(enable_last); _lastLabel->setEnabled(enable_last); _start->setEnabled(!countFromEnd()); _startLabel->setEnabled(!countFromEnd()); _startUnits->setEnabled(!countFromEnd()); _range->setEnabled(!readToEnd()); _rangeLabel->setEnabled(!readToEnd()); _rangeUnits->setEnabled(!readToEnd()); if ((cf!=None) && (cf != _controlField1)) { _controlField0 = _controlField1; _controlField1 = cf; } // don't do anything if it wouldn't make sense to. if (readToEnd() || countFromEnd()) { return; } if (startUnits() != (rangeUnits())) { return; } if ((_controlField0 != Start) && (_controlField1 != Start)) { _start->setText(QString::number(last() - range() + 1, 'g', 12)); } else if ((_controlField0 != Last) && (_controlField1 != Last)) { _last->setText(QString::number(start() + range() - 1, 'g', 12)); } else if ((_controlField0 != Range) && (_controlField1 != Range)) { _range->setText(QString::number(last() - start() + 1, 'g', 12)); } }