Ignore:
Timestamp:
Jan 2, 2014, 10:15:24 PM (10 years ago)
Author:
garnier
Message:

prise en charge de la restauration dun fichier de sauvegarde

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Interface_Web/trunk/pspaWT/sources/controler/src/sector.cc

    r472 r474  
    1111#include "sectionToExecute.h"
    1212#include "dataManager.h"
     13#include "elementDrift.h"
     14#include "elementRfgun.h"
     15#include "elementCell.h"
     16#include "elementSoleno.h"
     17#include "elementBend.h"
     18#include "elementBeam.h"
     19#include "elementFit.h"
     20#include "elementSnapshot.h"
     21#include "elementMultipole.h"
    1322
    1423sector::sector(dataManager* data, std::string name):
     
    2736}
    2837
     38abstractElement* sector::addElementAfter(nomdElements::typedElement eType ,abstractElement* previousElement){
     39
     40  // create a new abstractElement
     41  // FIXME : To be move in an abstractFactory in the controler !!
     42  abstractElement* currentElement = NULL;
     43  switch (  eType ) {
     44    case nomdElements::RFgun :
     45      currentElement = new elementRfgun();
     46      break;
     47    case nomdElements::drift :
     48      currentElement = new elementDrift();
     49      break;
     50    case nomdElements::cell  :
     51      currentElement = new elementCell();
     52      break;
     53    case nomdElements::bend  :
     54      currentElement = new elementBend();
     55      break;
     56    case nomdElements::soleno  :
     57      currentElement = new elementSoleno();
     58      break;
     59    case nomdElements::beam  :
     60      currentElement = new elementBeam();
     61      break;
     62    case nomdElements::fit  :
     63      currentElement = new elementFit();
     64      break;
     65    case nomdElements::mpole  :
     66      currentElement = new elementMultipole();
     67      break;
     68    case nomdElements::snapshot :
     69    {
     70      // FIXME : Snapshot a gérér
     71      /*        int incr = dataManager_->getPspaApplication()->getExtensionFile();
     72       incr++;
     73       dataManager_->getPspaApplication()->setExtensionFile(incr);
     74       */
     75      currentElement = new elementSnapshot();
     76      break;
     77    }
     78  }
     79  if (!currentElement) {
     80    return NULL;
     81  }
     82  addElementAfter(currentElement,previousElement);
     83  return currentElement;
     84 
     85}
     86
     87
    2988void sector::addElementAfter(abstractElement* currentElement ,abstractElement* previousElement){
    3089// if the previous element is NULL, it will try to add at the beginning of the first section
     
    3291  if (previousElement == NULL) {
    3392    if (sectionToExecute_.size() == 0) {
    34       sectionToExecute_.push_back(new sectionToExecute(currentElement,NULL,dataManager_));
     93      sectionToExecute_.push_back(new sectionToExecute(currentElement,NULL,dataManager_,this));
    3594    } else {
    3695        sectionToExecute* section = sectionToExecute_.front();
Note: See TracChangeset for help on using the changeset viewer.