void VESPERSBeamSelectorView::changeBeam(int id) { AMBeamlineActionItem *action = 0; switch(id){ case 0: action = VESPERSBeamline::vespers()->createBeamChangeAction(VESPERS::Pink); break; case 1: action = VESPERSBeamline::vespers()->createBeamChangeAction(VESPERS::TenPercent); break; case 2: action = VESPERSBeamline::vespers()->createBeamChangeAction(VESPERS::OnePointSixPercent); break; case 3: action = VESPERSBeamline::vespers()->createBeamChangeAction(VESPERS::Si); break; } if (!action) return; progressBar_->show(); connect(action, SIGNAL(finished()), this, SLOT(onBeamChangeCompleted())); connect(action, SIGNAL(progress(double,double)), this, SLOT(onProgressUpdate(double,double))); action->start(); }
void VESPERSBeamSelectorView::changeBeam(int id) { AMAction3 *action = 0; switch(id){ case 0: action = VESPERSBeamline::vespers()->createBeamChangeAction(VESPERS::Pink); break; case 1: action = VESPERSBeamline::vespers()->createBeamChangeAction(VESPERS::TenPercent); break; case 2: action = VESPERSBeamline::vespers()->createBeamChangeAction(VESPERS::OnePointSixPercent); break; case 3: action = VESPERSBeamline::vespers()->createBeamChangeAction(VESPERS::Si); break; } if (!action) return; progressBar_->setRange(0, 0); progressBar_->show(); connect(action, SIGNAL(cancelled()), this, SLOT(onBeamChangeCompleted())); connect(action, SIGNAL(failed()), this, SLOT(onBeamChangeCompleted())); connect(action, SIGNAL(succeeded()), this, SLOT(onBeamChangeCompleted())); connect(action, SIGNAL(cancelled()), action, SLOT(deleteLater())); connect(action, SIGNAL(failed()), action, SLOT(deleteLater())); connect(action, SIGNAL(succeeded()), action, SLOT(deleteLater())); action->start(); }