Hardware::Hardware(QObject *parent) : QObject(parent), m_parameterManager(new ParameterManager(this, this)) { qRegisterMetaType<Pantilt>("Pantilt"); connect(m_parameterManager, SIGNAL(parametersChanged()), SLOT(onParametersChanged())); for (int i=Hardware::EyeLaser; i<Hardware::__Trigger_Size__; i++) { Hardware::Trigger trigger = (Hardware::Trigger) i; m_triggers[trigger] = new TehTrigger(trigger, this); } }
void CParameterObject::parametersChanged() { std::list<paramPair>::iterator it = parameterObjects->begin(); for (;it != parameterObjects->end(); it ++) { string prefix = (*it).second; for (int i = 0; i < getNumParameters(); i++) { string paramName = getParameterName(i); double value = getParameter(paramName); if (prefix == paramName.substr(0, prefix.length())) { paramName = paramName.substr(prefix.length()); if ((*it).first->getParameterIndex(paramName) >= 0 && fabs((*it).first->getParameter(paramName) - value) > 0.00001) { (*it).first->setParameter(paramName, value); } } } } onParametersChanged(); }