fCurrentDEName = detElem->GetDEName();
fNameDECombo = new TGComboBox(hframe, kDEName);
- UpdateNameView();
+ UpdateNameView(kTRUE);
fNameDECombo->Resize(160, 20);
fNameDECombo->Select(0);
fNameDECombo->Associate(this);
fEcanvas->GetCanvas()->cd();
fEcanvas->GetCanvas()->SetEditable(kTRUE);
+ fNameDECombo->Select(fDEOccurrence[fCurrentDetElem]);
+ TGLBEntry* entry = fNameDECombo->GetSelectedEntry();
+ entry->SetBackgroundColor(0xDDDDDD);
+
if (AliMpDEManager::GetStationType(fCurrentDetElem) == AliMp::kStation345 ) {
DrawSlat("PMCI");
{
case kChamberCombo:
UpdateComboDE();
- UpdateNameView();
+ UpdateNameView(kTRUE);
break;
case kDECombo:
AliMpDetElement* detElem = AliMpDEManager::GetDetElement(fCurrentDEName);
- Int_t Idx = AliMpDEManager::GetChamberId(detElem->GetId());
- fChamberCombo->Select(Idx);
+ Int_t idx = AliMpDEManager::GetChamberId(detElem->GetId());
+ fChamberCombo->Select(idx);
UpdateComboDE();
- Idx = detElem->GetId() % 100;
- fDECombo->Select(Idx);
+ idx = detElem->GetId() % 100;
+ fDECombo->Select(idx);
fCurrentDetElem = fDEComboIdx[fDECombo->GetSelected()];
}
//__________________________________________________________
-void AliMpDEVisu::UpdateNameView()
+void AliMpDEVisu::UpdateNameView(Bool_t firstTime)
{
/// update DE name in respect to selected DE id.
fCurrentDEName = detElem->GetDEName();
- Int_t entry = fNameDECombo->GetNumberOfEntries();
- if (fDEOccurrence[fCurrentDetElem] == -1) {
- fNameDECombo->AddEntry(fCurrentDEName.Data(), entry);
- fNameDEComboIdx[entry] = fCurrentDEName;
- fDEOccurrence[fCurrentDetElem] = entry;
+ if (firstTime) {
+ AliMpDEIterator it;
+
+ fNameDECombo->RemoveAll();
+
+ for ( it.First(fChamberCombo->GetSelected()); !it.IsDone(); it.Next() ) {
+
+ Int_t detElemId = it.CurrentDE()->GetId();
+ TString deName = it.CurrentDE()->GetDEName();
+
+ Int_t idx = fNameDECombo->GetNumberOfEntries();
+ fNameDECombo->AddEntry(deName.Data(), idx);
+ fNameDEComboIdx[idx] = deName;
+ fDEOccurrence[detElemId] = idx;
+ }
}
fNameDECombo->Select(fDEOccurrence[fCurrentDetElem]);