UI bug for digitizerPlanel. when in All setting page, if a specific channel is focused, refresh setting now properly update the settings for that channel
This commit is contained in:
parent
ce9d2d3063
commit
e9562fb4b1
|
@ -2820,84 +2820,89 @@ void DigiSettingsPanel::UpdatePanelFromMemory(bool onlyStatus){
|
||||||
|
|
||||||
ReadTriggerMap();
|
ReadTriggerMap();
|
||||||
|
|
||||||
if( cbChPick[ID]->currentData().toInt() >= 0 ) return;
|
// if( cbChPick[ID]->currentData().toInt() >= 0 ) {
|
||||||
|
// cbChPick[ID]->setCurrentIndex(-1);
|
||||||
|
// cbChPick[ID]->setCurrentText("All");
|
||||||
|
// }
|
||||||
|
|
||||||
SyncComboBox(cbbOnOff , -1);
|
int chIndex = cbChPick[ID]->currentData().toInt();
|
||||||
SyncSpinBox(spbDCOffset , -1);
|
|
||||||
SyncSpinBox(spbThreshold , -1);
|
|
||||||
SyncComboBox(cbbParity , -1);
|
|
||||||
SyncSpinBox(spbRecordLength , -1);
|
|
||||||
SyncSpinBox(spbPreTrigger , -1);
|
|
||||||
|
|
||||||
SyncComboBox(cbbWaveSource, -1);
|
SyncComboBox(cbbOnOff , chIndex);
|
||||||
SyncComboBox(cbbWaveRes, -1);
|
SyncSpinBox(spbDCOffset , chIndex);
|
||||||
SyncComboBox(cbbWaveSave, -1);
|
SyncSpinBox(spbThreshold , chIndex);
|
||||||
|
SyncComboBox(cbbParity , chIndex);
|
||||||
|
SyncSpinBox(spbRecordLength , chIndex);
|
||||||
|
SyncSpinBox(spbPreTrigger , chIndex);
|
||||||
|
|
||||||
SyncComboBox(cbbAnaProbe0, -1);
|
SyncComboBox(cbbWaveSource, chIndex);
|
||||||
SyncComboBox(cbbAnaProbe1, -1);
|
SyncComboBox(cbbWaveRes, chIndex);
|
||||||
SyncComboBox(cbbDigProbe0, -1);
|
SyncComboBox(cbbWaveSave, chIndex);
|
||||||
SyncComboBox(cbbDigProbe1, -1);
|
|
||||||
SyncComboBox(cbbDigProbe2, -1);
|
|
||||||
SyncComboBox(cbbDigProbe3, -1);
|
|
||||||
|
|
||||||
SyncComboBox(cbbEventSelector, -1);
|
SyncComboBox(cbbAnaProbe0, chIndex);
|
||||||
SyncComboBox(cbbWaveSelector , -1);
|
SyncComboBox(cbbAnaProbe1, chIndex);
|
||||||
SyncSpinBox(spbEnergySkimHigh, -1);
|
SyncComboBox(cbbDigProbe0, chIndex);
|
||||||
SyncSpinBox(spbEnergySkimLow , -1);
|
SyncComboBox(cbbDigProbe1, chIndex);
|
||||||
|
SyncComboBox(cbbDigProbe2, chIndex);
|
||||||
|
SyncComboBox(cbbDigProbe3, chIndex);
|
||||||
|
|
||||||
SyncComboBox(cbbEvtTrigger , -1);
|
SyncComboBox(cbbEventSelector, chIndex);
|
||||||
SyncComboBox(cbbWaveTrigger , -1);
|
SyncComboBox(cbbWaveSelector , chIndex);
|
||||||
SyncComboBox(cbbChVetoSrc , -1);
|
SyncSpinBox(spbEnergySkimHigh, chIndex);
|
||||||
SyncComboBox(cbbCoinMask , -1);
|
SyncSpinBox(spbEnergySkimLow , chIndex);
|
||||||
SyncComboBox(cbbAntiCoinMask , -1);
|
|
||||||
SyncSpinBox(spbCoinLength , -1);
|
SyncComboBox(cbbEvtTrigger , chIndex);
|
||||||
SyncSpinBox(spbADCVetoWidth , -1);
|
SyncComboBox(cbbWaveTrigger , chIndex);
|
||||||
|
SyncComboBox(cbbChVetoSrc , chIndex);
|
||||||
|
SyncComboBox(cbbCoinMask , chIndex);
|
||||||
|
SyncComboBox(cbbAntiCoinMask , chIndex);
|
||||||
|
SyncSpinBox(spbCoinLength , chIndex);
|
||||||
|
SyncSpinBox(spbADCVetoWidth , chIndex);
|
||||||
|
|
||||||
if( digi[ID]->GetFPGAType() == DPPType::PHA){
|
if( digi[ID]->GetFPGAType() == DPPType::PHA){
|
||||||
SyncSpinBox(spbInputRiseTime , -1);
|
SyncSpinBox(spbInputRiseTime , chIndex);
|
||||||
SyncSpinBox(spbTriggerGuard , -1);
|
SyncSpinBox(spbTriggerGuard , chIndex);
|
||||||
SyncComboBox(cbbLowFilter , -1);
|
SyncComboBox(cbbLowFilter , chIndex);
|
||||||
|
|
||||||
SyncSpinBox(spbTrapRiseTime , -1);
|
SyncSpinBox(spbTrapRiseTime , chIndex);
|
||||||
SyncSpinBox(spbTrapFlatTop , -1);
|
SyncSpinBox(spbTrapFlatTop , chIndex);
|
||||||
SyncSpinBox(spbTrapPoleZero , -1);
|
SyncSpinBox(spbTrapPoleZero , chIndex);
|
||||||
|
|
||||||
SyncSpinBox(spbPeaking , -1);
|
SyncSpinBox(spbPeaking , chIndex);
|
||||||
SyncSpinBox(spbBaselineGuard , -1);
|
SyncSpinBox(spbBaselineGuard , chIndex);
|
||||||
SyncSpinBox(spbPileupGuard , -1);
|
SyncSpinBox(spbPileupGuard , chIndex);
|
||||||
|
|
||||||
SyncComboBox(cbbBaselineAvg , -1);
|
SyncComboBox(cbbBaselineAvg , chIndex);
|
||||||
SyncComboBox(cbbPeakingAvg , -1);
|
SyncComboBox(cbbPeakingAvg , chIndex);
|
||||||
SyncSpinBox(spbFineGain , -1);
|
SyncSpinBox(spbFineGain , chIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
if( digi[ID]->GetFPGAType() == DPPType::PSD){
|
if( digi[ID]->GetFPGAType() == DPPType::PSD){
|
||||||
|
|
||||||
|
|
||||||
SyncComboBox(cbbADCInputBaselineAvg , -1);
|
SyncComboBox(cbbADCInputBaselineAvg , chIndex);
|
||||||
SyncSpinBox(spbAbsBaseline , -1);
|
SyncSpinBox(spbAbsBaseline , chIndex);
|
||||||
SyncSpinBox(spbADCInputBaselineGuard, -1);
|
SyncSpinBox(spbADCInputBaselineGuard, chIndex);
|
||||||
|
|
||||||
SyncComboBox(cbbTriggerFilter , -1);
|
SyncComboBox(cbbTriggerFilter , chIndex);
|
||||||
SyncComboBox(cbbTriggerHysteresis , -1);
|
SyncComboBox(cbbTriggerHysteresis , chIndex);
|
||||||
SyncSpinBox(spbCFDDelay , -1);
|
SyncSpinBox(spbCFDDelay , chIndex);
|
||||||
SyncSpinBox(spbCFDFraction , -1);
|
SyncSpinBox(spbCFDFraction , chIndex);
|
||||||
SyncComboBox(cbbSmoothingFactor , -1);
|
SyncComboBox(cbbSmoothingFactor , chIndex);
|
||||||
SyncComboBox(cbbChargeSmooting , -1);
|
SyncComboBox(cbbChargeSmooting , chIndex);
|
||||||
SyncComboBox(cbbTimeFilterSmoothing , -1);
|
SyncComboBox(cbbTimeFilterSmoothing , chIndex);
|
||||||
SyncSpinBox(spbTimeFilterReTriggerGuard, -1);
|
SyncSpinBox(spbTimeFilterReTriggerGuard, chIndex);
|
||||||
SyncSpinBox(spbPileupGap , -1);
|
SyncSpinBox(spbPileupGap , chIndex);
|
||||||
|
|
||||||
SyncSpinBox(spbGateLong , -1);
|
SyncSpinBox(spbGateLong , chIndex);
|
||||||
SyncSpinBox(spbGateShort , -1);
|
SyncSpinBox(spbGateShort , chIndex);
|
||||||
SyncSpinBox(spbGateOffset , -1);
|
SyncSpinBox(spbGateOffset , chIndex);
|
||||||
SyncSpinBox(spbLongChargeIntergratorPedestal , -1);
|
SyncSpinBox(spbLongChargeIntergratorPedestal , chIndex);
|
||||||
SyncSpinBox(spbShortChargeIntergratorPedestal, -1);
|
SyncSpinBox(spbShortChargeIntergratorPedestal, chIndex);
|
||||||
SyncComboBox(cbbEnergyGain , -1);
|
SyncComboBox(cbbEnergyGain , chIndex);
|
||||||
|
|
||||||
SyncSpinBox(spbNeutronThreshold , -1);
|
SyncSpinBox(spbNeutronThreshold , chIndex);
|
||||||
SyncComboBox(cbbEventNeutronReject, -1);
|
SyncComboBox(cbbEventNeutronReject, chIndex);
|
||||||
SyncComboBox(cbbWaveNeutronReject , -1);
|
SyncComboBox(cbbWaveNeutronReject , chIndex);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3090,20 +3095,26 @@ void DigiSettingsPanel::SyncComboBox(RComboBox *(&cbb)[][MaxNumberOfChannel + 1]
|
||||||
for( int i = 0; i < nCh; i++) cbb[ID][i]->setCurrentIndex(index);
|
for( int i = 0; i < nCh; i++) cbb[ID][i]->setCurrentIndex(index);
|
||||||
enableSignalSlot = true;
|
enableSignalSlot = true;
|
||||||
}else{
|
}else{
|
||||||
//check is all ComboBox has same index;
|
if( ch == -1 ) {
|
||||||
int count = 1;
|
//check is all ComboBox has same index;
|
||||||
const int index = cbb[ID][0]->currentIndex();
|
int count = 1;
|
||||||
for( int i = 1; i < nCh; i ++){
|
const int index = cbb[ID][0]->currentIndex();
|
||||||
if( cbb[ID][i]->currentIndex() == index ) count++;
|
for( int i = 1; i < nCh; i ++){
|
||||||
}
|
if( cbb[ID][i]->currentIndex() == index ) count++;
|
||||||
|
}
|
||||||
|
|
||||||
enableSignalSlot = false;
|
enableSignalSlot = false;
|
||||||
if( count != nCh ){
|
if( count != nCh ){
|
||||||
cbb[ID][nCh]->setCurrentText("");
|
cbb[ID][nCh]->setCurrentText("");
|
||||||
|
}else{
|
||||||
|
cbb[ID][nCh]->setCurrentIndex(index);
|
||||||
|
}
|
||||||
|
enableSignalSlot = true;
|
||||||
}else{
|
}else{
|
||||||
cbb[ID][nCh]->setCurrentIndex(index);
|
enableSignalSlot = false;
|
||||||
|
cbb[ID][nCh]->setCurrentIndex(cbb[ID][ch]->currentIndex());
|
||||||
|
enableSignalSlot = true;
|
||||||
}
|
}
|
||||||
enableSignalSlot = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3112,28 +3123,37 @@ void DigiSettingsPanel::SyncSpinBox(RSpinBox *(&spb)[][MaxNumberOfChannel+1], in
|
||||||
|
|
||||||
const int nCh = digi[ID]->GetNChannels();
|
const int nCh = digi[ID]->GetNChannels();
|
||||||
|
|
||||||
if( ch == nCh ){
|
if( ch == nCh ){ // set all channels to same value
|
||||||
const int value = spb[ID][nCh]->value();
|
const int value = spb[ID][nCh]->value();
|
||||||
if( spb[ID][nCh]->value() == -999 ) return;
|
if( spb[ID][nCh]->value() == -999 ) return;
|
||||||
enableSignalSlot = false;
|
enableSignalSlot = false;
|
||||||
for( int i = 0; i < nCh; i++) spb[ID][i]->setValue(value);
|
for( int i = 0; i < nCh; i++) spb[ID][i]->setValue(value);
|
||||||
enableSignalSlot = true;
|
enableSignalSlot = true;
|
||||||
}else{
|
}else{
|
||||||
//check is all ComboBox has same index;
|
if( ch == -1 ) {
|
||||||
int count = 1;
|
//check is all ComboBox has same index;
|
||||||
const int value = spb[ID][0]->value();
|
int count = 1;
|
||||||
for( int i = 1; i < nCh; i ++){
|
const int value = spb[ID][0]->value();
|
||||||
if( spb[ID][i]->value() == value ) count++;
|
for( int i = 1; i < nCh; i ++){
|
||||||
|
if( spb[ID][i]->value() == value ) count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
//printf("%d =? %d \n", count, nCh);
|
||||||
|
enableSignalSlot = false;
|
||||||
|
if( count != nCh ){
|
||||||
|
spb[ID][nCh]->setValue(-1);
|
||||||
|
}else{
|
||||||
|
spb[ID][nCh]->setValue(value);
|
||||||
|
}
|
||||||
|
enableSignalSlot = true;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
enableSignalSlot = false;
|
||||||
|
spb[ID][nCh]->setValue(spb[ID][ch]->value());
|
||||||
|
enableSignalSlot = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//printf("%d =? %d \n", count, nCh);
|
spb[ID][nCh]->setStyleSheet("");
|
||||||
enableSignalSlot = false;
|
|
||||||
if( count != nCh ){
|
|
||||||
spb[ID][nCh]->setValue(-1);
|
|
||||||
}else{
|
|
||||||
spb[ID][nCh]->setValue(value);
|
|
||||||
}
|
|
||||||
enableSignalSlot = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3170,6 +3190,7 @@ void DigiSettingsPanel::FillComboBoxValueFromMemory(RComboBox *&cbb, const Reg p
|
||||||
}else{
|
}else{
|
||||||
//printf("%s %s\n", para.GetPara().c_str(), result.toStdString().c_str());
|
//printf("%s %s\n", para.GetPara().c_str(), result.toStdString().c_str());
|
||||||
}
|
}
|
||||||
|
cbb->setStyleSheet("");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DigiSettingsPanel::FillSpinBoxValueFromMemory(RSpinBox *&spb, const Reg para, int ch_index){
|
void DigiSettingsPanel::FillSpinBoxValueFromMemory(RSpinBox *&spb, const Reg para, int ch_index){
|
||||||
|
@ -3181,6 +3202,7 @@ void DigiSettingsPanel::FillSpinBoxValueFromMemory(RSpinBox *&spb, const Reg par
|
||||||
}else{
|
}else{
|
||||||
spb->setValue(result.toDouble());
|
spb->setValue(result.toDouble());
|
||||||
}
|
}
|
||||||
|
spb->setStyleSheet("");
|
||||||
}
|
}
|
||||||
|
|
||||||
void DigiSettingsPanel::ReadBoardSetting(int cbIndex){
|
void DigiSettingsPanel::ReadBoardSetting(int cbIndex){
|
||||||
|
|
Loading…
Reference in New Issue
Block a user