Changeset 483 in PSPA


Ignore:
Timestamp:
Jan 21, 2014, 5:13:05 PM (10 years ago)
Author:
garnier
Message:

Correction d'un bug. La suppression d'un

élément est désormais effective

Location:
Interface_Web/trunk/pspaWT
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • Interface_Web/trunk/pspaWT/History

    r481 r483  
    55     PSPA - Plateforme de simulation en physique des accélérateurs
    66     =========================================================
     7
     821 Janvier 2014 : Laurent Garnier
     9- sectionToExecute : Ajout des méthodes
     10  o bool isInside(abstractElement*);
     11  o void removeElement(abstractElement*)
     12- sector : Ajout de la méthode :
     13  o void removeElement(abstractElement* currentElement);
     14- GWt_elementLigneFaisceau : Suppression de la méthode :
     15  o addElement(GWt_abstractElement* elem)
     16- GWt_ligneFaisceau : Suppression de la méthode :
     17  o GWt_abstractElement* addElement(nomdElements::typedElement eType);
     18- GWt_ligneFaisceau::removeElement() : Correction d'un bug. La suppression d'un
     19  élément est désormais effective.
    720
    82108 Janvier 2014 : Laurent Garnier
  • Interface_Web/trunk/pspaWT/sources/controler/include/sectionToExecute.h

    r482 r483  
    7070  void setFirstElement(int);
    7171 
     72  bool isInside(abstractElement*);
     73  void removeElement(abstractElement*);
     74 
    7275  private :
    7376
  • Interface_Web/trunk/pspaWT/sources/controler/include/sector.h

    r474 r483  
    9191  void clearSectionToExecute(int a);
    9292
     93  void removeElement(abstractElement* currentElement);
     94
    9395  inline sectorParameters getSectorParameters() {
    9496    return sectorParam_;
  • Interface_Web/trunk/pspaWT/sources/controler/src/sectionToExecute.cc

    r480 r483  
    153153  }
    154154}
     155
     156
     157bool sectionToExecute::isInside(abstractElement* previousElement) {
     158  for (unsigned int a=0; a< elements_.size(); a++) {
     159    if (elements_[a] == previousElement ) {
     160      return true;
     161    }
     162  }
     163  return false;
     164}
     165
     166
     167void sectionToExecute::removeElement(abstractElement* previousElement){
     168  std::vector<abstractElement*>::iterator it;
     169  for (it = elements_.begin(); it < elements_.end(); it++) {
     170    if (*it == previousElement ) {
     171      elements_.erase(it);
     172      return;
     173    }
     174  }
     175}
  • Interface_Web/trunk/pspaWT/sources/controler/src/sector.cc

    r476 r483  
    107107}
    108108
     109void sector::removeElement(abstractElement* currentElement) {
     110  if (currentElement == NULL) return;
     111 
     112  for (unsigned int i=0; i<sectionToExecute_.size(); i++) {
     113    sectionToExecute* section = sectionToExecute_[i];
     114   
     115    if (section->isInside(currentElement)) {
     116      section->removeElement(currentElement);
     117    }
     118  }
     119}
     120
     121
    109122void sector::clearSectionToExecute()
    110123{
  • Interface_Web/trunk/pspaWT/sources/userInterface/include/GWt_elementLigneFaisceau.h

    r469 r483  
    3434   
    3535    ~GWt_elementLigneFaisceau();
    36     void addElement(GWt_abstractElement* elem);
    3736   
    3837    inline WText* getElementName() {
  • Interface_Web/trunk/pspaWT/sources/userInterface/include/GWt_ligneFaisceau.h

    r481 r483  
    4343     */
    4444    GWt_abstractElement* addElement(nomdElements::typedElement eType, GWt_dropZoneLigneFaisceau* dropContainer);
    45     GWt_abstractElement* addElement(nomdElements::typedElement eType);
    4645   
    4746    void removeElement(GWt_abstractElement*);
  • Interface_Web/trunk/pspaWT/sources/userInterface/src/GWt_elementLigneFaisceau.cc

    r469 r483  
    201201    //    removeDropZone();
    202202  }
    203 }
    204 
    205 void GWt_elementLigneFaisceau::addElement(GWt_abstractElement* elem)
    206 {
    207   clear();
    208   GWt_abstractElement_deprecated_ = elem;
    209   addWidget(GWt_abstractElement_deprecated_);
    210   if (static_cast <WContainerWidget*> (parent())) {
    211     WContainerWidget* wc = static_cast <WContainerWidget*> (parent());
    212     WBoxLayout* layout = ((WBoxLayout*)(wc->layout()));
    213     layout->setStretchFactor(this,0);
    214   }
    215    
    216   firstTimeInsertMessage_ = NULL;
    217   dropZoneLeft_ = NULL;
    218203}
    219204
  • Interface_Web/trunk/pspaWT/sources/userInterface/src/GWt_ligneFaisceau.cc

    r481 r483  
    4545
    4646
    47 GWt_abstractElement* GWt_ligneFaisceau::addElement(nomdElements::typedElement eType){
    48   return addElement(eType,NULL);
    49 }
    50 
    5147GWt_abstractElement* GWt_ligneFaisceau::addElement(nomdElements::typedElement eType, GWt_dropZoneLigneFaisceau* dropContainer )
    5248{
    5349 
    54  
    5550  GWt_abstractElement* UIabstractElement = NULL;
    5651 
    5752  // Add this element to the DataManager
    58 
    59   // create a new abstractElement
    60     // FIXME : To be move in an abstractFactory in the controler !!
    61     abstractElement* currentElement = NULL;
    62     switch (  eType ) {
    63       case nomdElements::RFgun :
    64         currentElement = new elementRfgun();
    65         break;
    66       case nomdElements::drift :
    67         currentElement = new elementDrift();
    68         break;
    69       case nomdElements::cell  :
    70         currentElement = new elementCell();
    71         break;
    72       case nomdElements::bend  :
    73         currentElement = new elementBend();
    74         break;
    75       case nomdElements::soleno  :
    76         currentElement = new elementSoleno();
    77         break;
    78       case nomdElements::beam  :
    79         currentElement = new elementBeam();
    80         break;
    81       case nomdElements::fit  :
    82         currentElement = new elementFit();
    83         break;
    84       case nomdElements::mpole  :
    85         currentElement = new elementMultipole();
    86         break;
    87       case nomdElements::snapshot :
    88       {
    89         // FIXME : Snapshot a gérér
    90 /*        int incr = dataManager_->getPspaApplication()->getExtensionFile();
    91         incr++;
    92         dataManager_->getPspaApplication()->setExtensionFile(incr);
    93 */
    94         currentElement = new elementSnapshot();
    95         break;
    96       }
    97     }
    98 
    99    
    100     // look for the previous element
    101     abstractElement* previousElement = NULL;
    102    
    103     for (int a=0; a< ligneFaisceauLayout_->count(); a++) {
    104       GWt_elementLigneFaisceau* elem = static_cast <GWt_elementLigneFaisceau*> (ligneFaisceauLayout_->itemAt(a)->widget ());
    105       if (elem) {
    106         if (elem->getDropZoneRight() == dropContainer) {
    107           previousElement = elem->getGWt_AbstractElement()->getAbstractElement();
    108         }
    109       }
    110     }
    111 
    112     getUISector()->getSectorControler()->addElementAfter(currentElement,previousElement );
     53  // look for the previous element
     54  abstractElement* previousElement = NULL;
     55 
     56  for (int a=0; a< ligneFaisceauLayout_->count(); a++) {
     57    GWt_elementLigneFaisceau* elem = static_cast <GWt_elementLigneFaisceau*> (ligneFaisceauLayout_->itemAt(a)->widget ());
     58    if (elem) {
     59      if (elem->getDropZoneRight() == dropContainer) {
     60        previousElement = elem->getGWt_AbstractElement()->getAbstractElement();
     61      }
     62    }
     63  }
     64 
     65  getUISector()->getSectorControler()->addElementAfter(eType,previousElement );
    11366 
    11467  buildBeamLineWidget();
     
    215168    return;
    216169 
     170  getUISector()->getSectorControler()->removeElement(GWt_abstractElement->getAbstractElement());
     171 
     172  buildBeamLineWidget();
     173  getUISector()->getExecuteWidget()->displayFromControler();
     174/*
    217175  // remove Widget
    218176  // - GWt_abstractElement is an element of the GWt_elementLigneFaisceau_
     
    238196    manageLineFaisceauLayout_deprecated();
    239197  }
     198*/
    240199}
    241200
Note: See TracChangeset for help on using the changeset viewer.