Exemplo n.º 1
0
void RingBufferForm::scanTicks()
{
    DataPump* datapump = g_sm->dataPump();
    if (!datapump) {
        return;
    }

    ui->tableWidget->clearContents();
    ui->tableWidget->setRowCount(0);

    RingBuffer* rb = datapump->getRingBuffer(id_);

    int head = rb->head();
    if (head < 0) {
        return;
    }

    for (int i = 0; i < rb->count() / 2; i++) {
        void* p = rb->get(head);
        if (p == nullptr) {
            return;
        }

        onGotTick(p);
        head -= 1;
        if (head == -1) {
            head += rb->count();
        }
    }
}
Exemplo n.º 2
0
void TickForm::onUpdateTick()
{
    for (int i = 0; i < table_row_.size(); i++) {
        QString id = table_row_.key(i);
        void* curTick = g_sm->ctpMgr()->getLatestTick(id);
        void* preTick = g_sm->ctpMgr()->getPreLatestTick(id);
        if (curTick) {
            onGotTick(curTick, preTick);
        }
    }
}