当前位置: 首页>>代码示例>>C++>>正文


C++ TimerInfoPtr::type方法代码示例

本文整理汇总了C++中TimerInfoPtr::type方法的典型用法代码示例。如果您正苦于以下问题:C++ TimerInfoPtr::type方法的具体用法?C++ TimerInfoPtr::type怎么用?C++ TimerInfoPtr::type使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TimerInfoPtr的用法示例。


在下文中一共展示了TimerInfoPtr::type方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: postSignalActivate

void TimerModel::postSignalActivate(QObject *caller, int methodIndex)
{
    QHash<QObject *, TimerInfoPtr>::iterator it = m_currentSignals.find(caller);
    if (it == m_currentSignals.end()) {
        // Ok, likely a GammaRay timer
        // cout << "TimerModel::postSignalActivate(): Unable to find timer "
        // << (void*)caller << " (" << caller->objectName().toStdString() << ")!" << endl;
        return;
    }

    const TimerInfoPtr timerInfo = *it;
    Q_ASSERT(timerInfo);

    if (!(timerInfo->type() == TimerInfo::QTimerType && methodIndex == m_timeoutIndex)
        && !(timerInfo->type() == TimerInfo::QQmlTimerType
             && methodIndex == m_qmlTimerTriggeredIndex))
        return;

    m_currentSignals.erase(it);

    if (!timerInfo->timerObject()) {
        // timer got killed in a slot
        return;
    }

    Q_ASSERT(caller == timerInfo->timerObject());

    if (!timerInfo->functionCallTimer()->active()) {
        cout << "TimerModel::postSignalActivate(): Timer not active: "
             << (void *)caller << " (" << caller->objectName().toStdString() << ")!" << endl;
        return;
    }

    TimerInfo::TimeoutEvent event;
    event.timeStamp = QTime::currentTime();
    event.executionTime = timerInfo->functionCallTimer()->stop();
    timerInfo->addEvent(event);
    const int row = rowFor(timerInfo->timerObject());
    emitTimerObjectChanged(row);
}
开发者ID:xhaakon,项目名称:GammaRay,代码行数:40,代码来源:timermodel.cpp

示例2: findOrCreateQTimerTimerInfo

TimerInfoPtr TimerModel::findOrCreateQTimerTimerInfo(QObject *timer)
{
    if (!timer)
        return TimerInfoPtr();

    QVariant timerInfoVariant = timer->property(timerInfoPropertyName);
    if (!timerInfoVariant.isValid()) {
        const TimerInfoPtr info = TimerInfoPtr(new TimerInfo(timer));
        if (m_qmlTimerTriggeredIndex < 0 && info->type() == TimerInfo::QQmlTimerType)
            m_qmlTimerTriggeredIndex = timer->metaObject()->indexOfMethod("triggered()");
        timerInfoVariant.setValue(info);
        if (timer->thread() == QThread::currentThread()) // ### FIXME: we shouldn't use setProperty() in the first place...
            timer->setProperty(timerInfoPropertyName, timerInfoVariant);
    }

    const TimerInfoPtr timerInfo = timerInfoVariant.value<TimerInfoPtr>();
    Q_ASSERT(timerInfo->timerObject() == timer);
    return timerInfo;
}
开发者ID:xhaakon,项目名称:GammaRay,代码行数:19,代码来源:timermodel.cpp


注:本文中的TimerInfoPtr::type方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。