| 143 | |
| 144 | |
| 145 | void ViewerSettingsPanelCamera::dataChanged(){ |
| 146 | unsigned int max = std::max(0,int(m_numberFrames)); |
| 147 | unsigned int cur = std::min(max, m_currentFrame); |
| 148 | |
| 149 | ui.scanProgressSlider->setMaximum(max); |
| 150 | ui.scanProgressSlider->setMinimum(1); |
| 151 | |
| 152 | if(ui.playScanButton->isChecked()) { |
| 153 | ui.firstScanButton->setEnabled(false); |
| 154 | ui.nextScanButton->setEnabled(false); |
| 155 | ui.previousScanButton->setEnabled(false); |
| 156 | ui.lastScanButton->setEnabled(false); |
| 157 | } else { |
| 158 | if (m_currentFrame >= max){ |
| 159 | ui.nextScanButton->setEnabled(false); |
| 160 | ui.playScanButton->setEnabled(false); |
| 161 | ui.lastScanButton->setEnabled(false); |
| 162 | } else { |
| 163 | ui.nextScanButton->setEnabled(true); |
| 164 | ui.playScanButton->setEnabled(true); |
| 165 | ui.lastScanButton->setEnabled(true); |
| 166 | } |
| 167 | |
| 168 | if (m_currentFrame < 2){ |
| 169 | ui.firstScanButton->setEnabled(cur > 0); |
| 170 | ui.previousScanButton->setEnabled(false); |
| 171 | } else{ |
| 172 | ui.firstScanButton->setEnabled(true); |
| 173 | ui.previousScanButton->setEnabled(true); |
| 174 | } |
| 175 | |
| 176 | if (max > 1) { |
| 177 | ui.playScanButton->setEnabled(true); |
| 178 | } else { |
| 179 | ui.playScanButton->setEnabled(false); |
| 180 | } |
| 181 | } |
| 182 | |
| 183 | if(followRobotTrajectory() || ui.playScanButton->isChecked()) { |
| 184 | ui.cameraPathAdd->setEnabled(false); |
| 185 | ui.cameraPathRemove->setEnabled(false); |
| 186 | ui.cameraPathSave->setEnabled(false); |
| 187 | ui.cameraPathClear->setEnabled(false); |
| 188 | } else { |
| 189 | ui.cameraPathAdd->setEnabled(true); |
| 190 | ui.cameraPathRemove->setEnabled(m_numberFrames > 0); |
| 191 | ui.cameraPathSave->setEnabled(m_numberFrames > 0); |
| 192 | ui.cameraPathClear->setEnabled(m_numberFrames > 0); |
| 193 | } |
| 194 | |
| 195 | if(max > 0 && !ui.playScanButton->isChecked()) { |
| 196 | ui.scanProgressSlider->setEnabled(true); |
| 197 | } else { |
| 198 | ui.scanProgressSlider->setEnabled(false); |
| 199 | } |
| 200 | |
| 201 | ui.scanProgressSlider->setValue(cur); |
| 202 | ui.scanProgressLabel->setText(QString("%1/%2").arg(cur).arg(max)); |