void DataSourceControlWidget::initiazeStyleWidgets() { disconnectStyleWidgets(); auto graphStyle = mDataSource->graphStyle(); auto pen = graphStyle->pen(); ui->lineWidthDoubleSpinBox->setValue(pen.widthF()); for (auto i = 0; i != lineStyleMap.size(); i++) if (std::get<0>(lineStyleMap[i]) == pen.style()) { ui->lineStyleComboBox->setCurrentIndex(i); break; } auto interpolation = graphStyle->lineInterpolation(); for (auto i = 0; i != lineInterpolationMap.size(); i++) if (std::get<0>(lineInterpolationMap[i]) == interpolation) { ui->lineInterpolationComboBox->setCurrentIndex(i); break; } auto scatter = graphStyle->scatterStyle(); ui->scatterSizeDoubleSpinBox->setValue(scatter.size()); ui->scatterDecimationSpinBox->setValue(scatter.decimation()); for (auto i = 0; i != scatterShapeMap.size(); i++) if (std::get<0>(scatterShapeMap[i]) == scatter.shape()) { ui->scatterShapeComboBox->setCurrentIndex(i); break; } ui->isColorFixedCheckBox->setChecked(graphStyle->isColorFixed()); ui->lineColorWidget->setColor(graphStyle->lineColor()); ui->lineColorWidget->setEnabled(ui->isColorFixedCheckBox->isChecked()); connectStyleWidgets(); }
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bool Datalogger::updateChild(Object* child) { DataloggerCalibration* dataloggerCalibrationChild = DataloggerCalibration::Cast(child); if ( dataloggerCalibrationChild != NULL ) { DataloggerCalibration* dataloggerCalibrationElement = dataloggerCalibration(dataloggerCalibrationChild->index()); if ( dataloggerCalibrationElement != NULL ) { *dataloggerCalibrationElement = *dataloggerCalibrationChild; return true; } return false; } Decimation* decimationChild = Decimation::Cast(child); if ( decimationChild != NULL ) { Decimation* decimationElement = decimation(decimationChild->index()); if ( decimationElement != NULL ) { *decimationElement = *decimationChild; return true; } return false; } return false; }
int G2CmosDecodeDM24 (G2CmosRaw * in, G2CmosDM24 * out) { int i; memset(out,0,sizeof(G2CmosDM24)); switch(in->len) { case 0x100: case 0xcc: break; default: return -1; } DecodeDM24Time (&in->cmos[0], &out->rtc); out->sysid = G2uint32 (&in->cmos[16]); out->serial = G2uint32 (&in->cmos[20]); out->pwm2 = G2uint32 (&in->cmos[24]); for (i=0;i<8;++i) { out->channels[i]=in->cmos[28+i]; } for (i = 0; i < 8; ++i) { out->tx_bauds[i] = BaudRate (in->cmos[36 + i] & 0xf, G2uint16(&in->cmos[(i & 3)+124])); out->rx_bauds[i] = BaudRate (in->cmos[36 + i] >> 4, G2uint16(&in->cmos[(i & 3)+124])); } out->aux_channels = G2uint16 (&in->cmos[44]); for (i = 0; i < 4; ++i) { out->masses[i] = in->cmos[48 + i]; } out->orientation = G2uint32 (&in->cmos[52]); out->reboots = G2uint16 (&in->cmos[56]); DecodeDM24Time (&in->cmos[58], &out->lastboot); for (i = 0; i < 4; ++i) { out->decimations[i] = decimation (in->cmos[68 + i]); out->samplerates[i] = in->cmos[72 + i]; } /* BUG! FIXME: - DM24MKIII doesn't set decimations */ { int bad=0; for (i = 1; i < 4; ++i) { if (out->decimations[i] != (out->samplerates[i-1] / out->samplerates[i])) bad++; } if (bad) { int sr=2000; for (i=0;i<4;++i) { out->decimations[i]=sr/out->samplerates[i]; sr=out->samplerates[i]; } } } out->instrument_type=G2uint16(&in->cmos[76]); for (i = 0; i < 3; ++i) { out->stc[i] = in->cmos[78 + (i*2)]; out->ltc[i] = in->cmos[84 + (i*2)]; out->ratio[i] = in->cmos[90 + (i*2)]; out->stc[i+3] = in->cmos[78 + 1+(i*2)]; out->ltc[i+3] = in->cmos[84 + 1+(i*2)]; out->ratio[i+3] = in->cmos[90 + 1+(i*2)]; } /*7+8 hide here... out->stc[3 + i] = in->cmos[146 + i]; out->ltc[3 + i] = in->cmos[148 + i]; out->ratio[3 + i] = in->cmos[150 + i]; */ out->trigger_filter = in->cmos[96]; out->filter_tap = in->cmos[98]; for (i = 0; i < 4; ++i) { out->triggered_channels[i] = in->cmos[100 + i]; out->triggers[i] = in->cmos[104 + i]; } out->pretrig = in->cmos[108]; out->posttrig = in->cmos[110]; out->flash_file_size = in->cmos[114]; out->flash_mode = in->cmos[116]; out->sync_src = G2uint16 (&in->cmos[118]); out->heartbeat = G2uint16 (&in->cmos[120]); out->acknak_wait = in->cmos[122]; out->stopbits = in->cmos[123]; out->once = in->cmos[162]; out->split = in->cmos[164]; out->gps_duty = G2uint16 (&in->cmos[198]); if (in->len<248) { out->auto_center = 255; } else { i = in->cmos[248]; if (i == (0xff & (~in->cmos[249]))) { out->auto_center = i; } else { out->auto_center = 255; } } return 0; }
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> bool Datalogger::removeDecimation(const DecimationIndex& i) { Decimation* object = decimation(i); if ( object == NULL ) return false; return remove(object); }