Ignore:
Timestamp:
Jun 21, 2013, 10:16:56 AM (11 years ago)
Author:
lemeur
Message:

definition des compatibilites des elements dans les software

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Interface_Web/trunk/pspaWT/sources/userInterface/src/GWt_softwarePanel.cc

    r413 r418  
    329329 
    330330  for (int a = 0; a< sections_.size(); a++)
    331   {
    332     string debString = sections_[a]->getFirstElementCurrentText().toUTF8();
    333     string finString = sections_[a]->getLastElementCurrentText().toUTF8();
    334    
    335     int debut = pspa_->getBeamLine()->getAbstractElementIndexFromLabel(debString)+1; // FIXME : Should NOT be +1
    336     int fin = pspa_->getBeamLine()->getAbstractElementIndexFromLabel(finString)+1; // FIXME : Should NOT be +1
    337    
    338     nomDeLogiciel prog = nomDeLogiciel ( sections_[a]->getSoftwareCurrentText().toUTF8());
    339     dtmanage_->addSectionToExecute(pspa_->getBeamLine()->getAbstractElement(debut),
    340                                    debut,
    341                                    pspa_->getBeamLine()->getAbstractElement(fin),
    342                                    fin,
    343                                    dtmanage_->createSoftwareConnexion(prog));
    344    
    345     diagnosticErrors = "";
    346     diagnosticWarnings = "";
    347 
    348     // check sections
    349     for (int i=debut-1; i<fin; i++) {
    350       if (pspa_->getBeamLine()) {
    351         if (pspa_->getBeamLine()->getAbstractElement(i)) {
    352           trivaluedBool tb = pspa_->getBeamLine()->getAbstractElement(i)->setSoftware(prog.getString());
    353           if (tb  == TBoolError ) {
    354             // j'insiste pour remettre le nom generique de l'element refuse (glm / 30/03/2013)
    355             diagnosticErrors += pspa_->getBeamLine()->getAbstractElement(i)->getNomdElement().getElementName() + " is not allowed with "+ prog.getString()+"<br /> ";
    356 
    357             caMarche = false;
    358 
    359             // intialize thissoftware
    360             pspa_->getBeamLine()->getAbstractElement(i)->setSoftware(nomDeLogiciel::unknownSoftware);
    361 
    362           } else if ( tb == TBoolIgnore ) {
    363             diagnosticWarnings += pspa_->getBeamLine()->getAbstractElement(i)->getLabel() + " will be ignored by  "+ prog.getString()+"<br /> ";
    364            
    365 
    366           }
    367           pspa_->getBeamLine()->update(i);
    368         }
     331    {
     332      string debString = sections_[a]->getFirstElementCurrentText().toUTF8();
     333      string finString = sections_[a]->getLastElementCurrentText().toUTF8();
     334   
     335      // int debut = pspa_->getBeamLine()->getAbstractElementIndexFromLabel(debString)+1; // FIXME : Should NOT be +1
     336      // int fin = pspa_->getBeamLine()->getAbstractElementIndexFromLabel(finString)+1; // FIXME : Should NOT be +1
     337
     338      int debut = pspa_->getBeamLine()->getAbstractElementNumeroFromLabel(debString);
     339      int fin = pspa_->getBeamLine()->getAbstractElementNumeroFromLabel(finString);
     340   
     341      nomDeLogiciel prog = nomDeLogiciel ( sections_[a]->getSoftwareCurrentText().toUTF8());
     342      abstractSoftware* softToExec = dtmanage_->createSoftwareConnexion(prog);
     343      dtmanage_->addSectionToExecute(pspa_->getBeamLine()->getAbstractElement(debut),
     344                                     debut,
     345                                     pspa_->getBeamLine()->getAbstractElement(fin),
     346                                     fin,
     347                                     softToExec);
     348   
     349      diagnosticErrors = "";
     350      diagnosticWarnings = "";
     351
     352      // check sections
     353      for (int i=debut-1; i<fin; i++) {
     354        if (pspa_->getBeamLine()) {
     355          if (pspa_->getBeamLine()->getAbstractElement(i)) {
     356            //         trivaluedBool tb = pspa_->getBeamLine()->getAbstractElement(i)->setSoftware(prog.getString());
     357
     358
     359            trivaluedBool tb = softToExec->doAcceptElement(pspa_->getBeamLine()->getAbstractElement(i)->getNomdElement().getElementType() );
     360
     361            if (tb  == TBoolOk ) {
     362              pspa_->getBeamLine()->getAbstractElement(i)->setSoftware(softToExec);
     363            } else {
     364              pspa_->getBeamLine()->getAbstractElement(i)->setSoftware( NULL );
     365
     366              if ( tb == TBoolIgnore ) {
     367                diagnosticWarnings += pspa_->getBeamLine()->getAbstractElement(i)->getLabel() + " will be ignored by  "+ prog.getString()+"<br /> ";           
     368              } else {
     369                // j'insiste pour remettre le nom generique de l'element refuse (glm / 30/03/2013)
     370                diagnosticErrors += pspa_->getBeamLine()->getAbstractElement(i)->getNomdElement().getExpandedName() + " is not allowed with "+ prog.getString()+"<br /> ";
     371                caMarche = false;
     372              }
     373            }
     374            pspa_->getBeamLine()->update(i);
     375          }
     376        }
    369377      }
    370     }
    371     // set errors and warnings
    372     sections_[a]->setErrors(diagnosticErrors);
    373     sections_[a]->setWarnings(diagnosticWarnings);
    374   }
     378      // set errors and warnings
     379      sections_[a]->setErrors(diagnosticErrors);
     380      sections_[a]->setWarnings(diagnosticWarnings);
     381    }
    375382   
    376383  return caMarche;
Note: See TracChangeset for help on using the changeset viewer.