Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/AtomAction/ChangeElementAction.cpp

    r112b09 r54b953  
    66 */
    77
    8 #include "Helpers/MemDebug.hpp"
    9 
    108#include "Actions/AtomAction/ChangeElementAction.hpp"
    11 #include "CommandLineParser.hpp"
    129#include "atom.hpp"
    1310#include "log.hpp"
     
    3633Action::state_ptr AtomChangeElementAction::performCall() {
    3734  Dialog *dialog = UIFactory::getInstance().makeDialog();
    38   int Z = -1;
    3935  atom *first = NULL;
    40   element *elemental = NULL;
     36  std::vector<element *> elements;
    4137
    42   dialog->queryElement(NAME, (const element **) &elemental, MapOfActions::getInstance().getDescription(NAME));
    43   dialog->queryAtom("atom-by-id", &first, MapOfActions::getInstance().getDescription("atom-by-id"));
     38  dialog->queryAtom(NAME, &first, MapOfActions::getInstance().getDescription(NAME));
     39  dialog->queryElement("element", &elements, MapOfActions::getInstance().getDescription("element"));
    4440
    4541  if(dialog->display()) {
    4642    delete dialog;
    47     DoLog(1) && (Log() << Verbose(1) << "Changing atom " << *first << " to element " << elemental << "." << endl);
    48     if (elemental != NULL) {
    49       first->type = elemental;
     43    ASSERT(elements.size() == 1, "Unequal to one element specified when changing an atom's element");
     44    ASSERT(first != NULL, "No valid atom specified");
     45    DoLog(1) && (Log() << Verbose(1) << "Changing atom " << *first << " to element " << elements.at(0) << "." << endl);
     46    if (elements.at(0) != NULL) {
     47      first->type = elements.at(0);
    5048      return Action::success;
    5149    } else
Note: See TracChangeset for help on using the changeset viewer.