Exemplo n.º 1
0
void    ChartsTimeGraph::graphDataRemoved( QDateTime d, QVariant v )
{
//    qDebug() << "CPP removed(): d=" << d << "  v=" << v;
    if ( _lineSeries1 != nullptr && _graphData != nullptr ) {
        _lineSeries1->remove( d.toMSecsSinceEpoch(), v.toDouble() );
        updateTimeAxis( _lineSeries1 );
        updateValueAxis( _lineSeries1 );
    }
}
Exemplo n.º 2
0
void
GroupControl::setTimezone(QmcTime::Packet *packet, char *tz)
{
    console->post(PmChart::DebugProtocol, "GroupControl::setTimezone %s", tz);

    useTZ(QString(tz));

    if (isActive(packet))
	updateTimeAxis();
}
Exemplo n.º 3
0
void    ChartsTimeGraph::graphDataAppended( )
{
//    qDebug() << "CPP appended(): graphData=" << _graphData << "  lineSeries1=" << _lineSeries1;
    if ( _lineSeries1 != nullptr && _graphData != nullptr ) {
        qint64  lastTime    = _graphData->getLastTime();
        qreal   lastValue   = _graphData->getLastValue();
        if ( lastTime >= 0 ) {
            _lineSeries1->append( lastTime, lastValue );
            updateTimeAxis( _lineSeries1 );
            updateValueAxis( _lineSeries1 );    // FIXME: Optimize: do not change axis.first
        }
    }
}
Exemplo n.º 4
0
void    ChartsTimeGraph::graphDataUpdated( )
{
//    qDebug() << "CPP updated(): graphData=" << _graphData << "  lineSeries1=" << _lineSeries1;
    if ( _graphData != nullptr &&
         _lineSeries1 != nullptr ) {
        updateTimeAxis( _lineSeries1 );
        updateValueAxis( _lineSeries1 );
        _lineSeries1->clear();
        auto keyValueIter = _graphData->getMap().begin();
        while ( keyValueIter != _graphData->getMap().end() ) {
            _lineSeries1->append( keyValueIter.key(), keyValueIter.value() );
            keyValueIter++;
        }
    }
}
Exemplo n.º 5
0
void    ChartsTimeGraph::graphDataInserted( QDateTime d, QVariant v )
{
//    qDebug() << "CPP inserted(): d=" << d.toMSecsSinceEpoch() << "  v=" << v;
    if ( _lineSeries1 != nullptr ) {
        QVector<QPointF> points = _lineSeries1->pointsVector();
        auto point = std::lower_bound( points.begin(), points.end(), QPointF( d.toMSecsSinceEpoch(), 0. ),
                                       [&](QPointF l, QPointF r) -> bool {
                                            return l.x() < r.x();
                                        } );
        if ( point != points.end() ) {
            int pointIndex = point - points.begin();
            if ( pointIndex >= 0 && pointIndex < points.size() )
                _lineSeries1->insert( pointIndex, QPointF( d.toMSecsSinceEpoch(), v.toReal() ) );
            else {  // Error or unknown behaviour
                graphDataUpdated();
                return;
            }
        } else
            _lineSeries1->append( d.toMSecsSinceEpoch(), v.toReal() );
        updateTimeAxis( _lineSeries1 );
        updateValueAxis( _lineSeries1 );
    }
}
Exemplo n.º 6
0
//
// Drive all updates into each gadget (refresh the display)
//
void
GroupControl::refreshGadgets(bool active)
{
#if DESPERATE
    for (int s = 0; s < my.samples; s++)
	console->post(PmChart::DebugProtocol,
		"GroupControl::refreshGadgets: timeData[%2d] is %.2f (%s)",
		s, my.timeData[s], timeString(my.timeData[s]));
    console->post(PmChart::DebugProtocol,
		"GroupControl::refreshGadgets: state=%s", timeState());
#endif

    for (int i = 0; i < gadgetCount(); i++) {
	my.gadgetsList.at(i)->updateValues(my.timeState != BackwardState,
					active, my.samples, my.visible,
					my.timeData[my.visible - 1],
					my.timeData[0],
					my.realDelta);
    }
    if (active) {
	updateTimeButton();
	updateTimeAxis();
    }
}