本文整理汇总了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);
}
示例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;
}