int ByteConverter::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QObject::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0:
            decChanged((*reinterpret_cast< const QString(*)>(_a[1])));
            break;
        case 1:
            hexChanged((*reinterpret_cast< const QString(*)>(_a[1])));
            break;
        case 2:
            binChanged((*reinterpret_cast< const QString(*)>(_a[1])));
            break;
        case 3:
            setDec((*reinterpret_cast< const QString(*)>(_a[1])));
            break;
        case 4:
            setHex((*reinterpret_cast< const QString(*)>(_a[1])));
            break;
        case 5:
            setBin((*reinterpret_cast< const QString(*)>(_a[1])));
            break;
        default:
            ;
        }
        _id -= 6;
    }
    return _id;
}
//
// When user selects a different data series
//
void
HistogramWindow::seriesChanged()
{
    // series changed so tell power hist
    powerHist->setSeries(static_cast<RideFile::SeriesType>(seriesCombo->itemData(seriesCombo->currentIndex()).toInt()));
    powerHist->setDelta(getDelta());
    powerHist->setDigits(getDigits());

    // now update the slider stepper and linedit
    setBinEditors();

    // set an initial bin width value
    setBin(getDelta());

    // replot
    stale = true;
    updateChart();
}
void
HistogramWindow::treeSelectionTimeout()
{
    // new metric chosen, so set up all the bin width, line edit
    // delta, precision etc
    powerHist->setSeries(RideFile::none);
    powerHist->setDelta(getDelta());
    powerHist->setDigits(getDigits());

    // now update the slider stepper and linedit
    setBinEditors();

    // initial value -- but only if need to
    double minbinw = getDelta();
    double maxbinw = getDelta() * 100;
    double current = binWidthLineEdit->text().toDouble();
    if (current < minbinw || current > maxbinw) setBin(getDelta());

    // replot
    updateChart();
}
void
HistogramWindow::setrBinWidthFromLineEdit()
{
    if (bactive) return;
    setBin(rBinEdit->text().toDouble());
}
void
HistogramWindow::setrBinWidthFromSlider()
{
    if (bactive) return;
    setBin(rBinSlider->value() * getDelta());
}