Ignore:
Timestamp:
May 8, 2010, 9:59:27 PM (16 years ago)
Author:
Frederik Heber <heber@…>
Children:
48b5fd
Parents:
e04838
Message:

removed menuPopulaters from MainWindow.

  • menuPopulaters is too specific to TextUIFactory.
  • for CommandLineUIFactory a different structure was needed.
  • the shift of struct menuPopulaters inside of class MainWindow makes it superflous.

Signed-off-by: Frederik Heber <heber@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/UIElements/TextWindow.cpp

    re04838 r495a53  
    3939#include "UIElements/TextStatusIndicator.hpp"
    4040#include "Actions/MethodAction.hpp"
     41#include "Actions/MoleculeAction/ChangeNameAction.hpp"
    4142#include "Actions/ErrorAction.hpp"
    4243#include "Actions/ActionRegistry.hpp"
     
    4950
    5051// TODO: see what code can be moved to a base class for Graphic and Text Windows
    51 TextWindow::TextWindow(menuPopulaters populaters)
     52TextWindow::TextWindow()
    5253{
    5354  MoleculeListClass *molecules = World::getInstance().getMolecules();
     
    106107  // call all functions used to build the submenus
    107108
    108   populaters.MakeEditMoleculesMenu(editMoleculesMenu);
     109  populateEditMoleculesMenu(editMoleculesMenu);
    109110
    110111  Action *returnFromEditMoleculeAction = new TextMenu::LeaveAction(editMoleculesMenu);
     
    130131  main_menu->display();
    131132}
     133
     134void TextWindow::populateEditMoleculesMenu(Menu* editMoleculesMenu)
     135{
     136  MoleculeListClass *molecules = World::getInstance().getMolecules();
     137  periodentafel *periode = World::getInstance().getPeriode();
     138
     139  // build the EditMoleculesMenu
     140  Action *createMoleculeAction = new MethodAction("createMoleculeAction",boost::bind(&MoleculeListClass::createNewMolecule,molecules,periode));
     141  new ActionMenuItem('c',"create new molecule",editMoleculesMenu,createMoleculeAction);
     142
     143  Action *loadMoleculeAction = new MethodAction("loadMoleculeAction",boost::bind(&MoleculeListClass::loadFromXYZ,molecules,periode));
     144  new ActionMenuItem('l',"load molecule from xyz file",editMoleculesMenu,loadMoleculeAction);
     145
     146  Action *changeFilenameAction = new MoleculeChangeNameAction(molecules);
     147  new ActionMenuItem('n',"change molecule's name",editMoleculesMenu,changeFilenameAction);
     148
     149  Action *giveFilenameAction = new MethodAction("giveFilenameAction",boost::bind(&MoleculeListClass::setMoleculeFilename,molecules));
     150  new ActionMenuItem('N',"give molecules filename",editMoleculesMenu,giveFilenameAction);
     151
     152  Action *parseAtomsAction = new MethodAction("parseAtomsAction",boost::bind(&MoleculeListClass::parseXYZIntoMolecule,molecules));
     153  new ActionMenuItem('p',"parse atoms in xyz file into molecule",editMoleculesMenu,parseAtomsAction);
     154
     155  Action *eraseMoleculeAction = new MethodAction("eraseMoleculeAction",boost::bind(&MoleculeListClass::eraseMolecule,molecules));
     156  new ActionMenuItem('r',"remove a molecule",editMoleculesMenu,eraseMoleculeAction);
     157
     158}
Note: See TracChangeset for help on using the changeset viewer.