Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/CommandLineUI/CommandLineWindow.cpp

    r77b2d7 r326bbe  
    66 */
    77
     8#include "Helpers/MemDebug.hpp"
     9
    810#include <boost/bind.hpp>
    911
     
    1113#include "CommandLineUI/CommandLineStatusIndicator.hpp"
    1214
     15#include "Actions/Action.hpp"
     16#include "Actions/MapOfActions.hpp"
    1317#include "Actions/ActionRegistry.hpp"
    14 #include "Actions/AnalysisAction/MolecularVolumeAction.hpp"
    15 #include "Actions/AnalysisAction/PairCorrelationAction.hpp"
    16 #include "Actions/AnalysisAction/PrincipalAxisSystemAction.hpp"
    17 #include "Actions/AtomAction/AddAction.hpp"
    18 #include "Actions/AtomAction/ChangeElementAction.hpp"
    19 #include "Actions/AtomAction/RemoveAction.hpp"
    20 #include "Actions/CmdAction/BondLengthTableAction.hpp"
    21 #include "Actions/CmdAction/ElementDbAction.hpp"
    22 #include "Actions/CmdAction/FastParsingAction.hpp"
    23 #include "Actions/CmdAction/HelpAction.hpp"
    24 #include "Actions/CmdAction/VerboseAction.hpp"
    25 #include "Actions/CmdAction/VersionAction.hpp"
    26 #include "Actions/FragmentationAction/DepthFirstSearchAction.hpp"
    27 #include "Actions/FragmentationAction/SubgraphDissectionAction.hpp"
    28 #include "Actions/FragmentationAction/FragmentationAction.hpp"
    29 #include "Actions/MoleculeAction/BondFileAction.hpp"
    30 #include "Actions/MoleculeAction/ChangeNameAction.hpp"
    31 #include "Actions/MoleculeAction/FillWithMoleculeAction.hpp"
    32 #include "Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.hpp"
    33 #include "Actions/MoleculeAction/SaveAdjacencyAction.hpp"
    34 #include "Actions/MoleculeAction/SaveBondsAction.hpp"
    35 #include "Actions/MoleculeAction/SaveTemperatureAction.hpp"
    36 #include "Actions/MoleculeAction/TranslateAction.hpp"
    37 #include "Actions/MoleculeAction/VerletIntegrationAction.hpp"
    38 #include "Actions/ParserAction/LoadXyzAction.hpp"
    39 #include "Actions/ParserAction/SaveXyzAction.hpp"
    40 #include "Actions/TesselationAction/ConvexEnvelopeAction.hpp"
    41 #include "Actions/TesselationAction/NonConvexEnvelopeAction.hpp"
    42 #include "Actions/WorldAction/AddEmptyBoundaryAction.hpp"
    43 #include "Actions/WorldAction/BoundInBoxAction.hpp"
    44 #include "Actions/WorldAction/CenterInBoxAction.hpp"
    45 #include "Actions/WorldAction/CenterOnEdgeAction.hpp"
    46 #include "Actions/WorldAction/ChangeBoxAction.hpp"
    47 #include "Actions/WorldAction/RemoveSphereOfAtomsAction.hpp"
    48 #include "Actions/WorldAction/RepeatBoxAction.hpp"
    49 #include "Actions/WorldAction/ScaleBoxAction.hpp"
    50 #include "Actions/WorldAction/SetDefaultNameAction.hpp"
    51 #include "Actions/WorldAction/SetGaussianBasisAction.hpp"
     18
    5219#include "CommandLineParser.hpp"
    5320
     
    6027{
    6128  // create and register all command line callable actions
    62   populateAnalysisActions();
    63   populateAtomActions();
    64   populateCmdActions();
    65   populateFragmentationActions();
    66   populateMoleculeActions();
    67   populateParserActions();
    68   populateTesselationActions();
    69   populateWorldActions();
     29  MapOfActions::getInstance().populateActions();
    7030
    7131  // Add status indicators etc...
     
    7939
    8040void CommandLineWindow::display() {
     41  //cout << ActionRegistry::getInstance();
     42
    8143  // go through all possible actions
    8244  for (std::list<std::string>::iterator CommandRunner = CommandLineParser::getInstance().SequenceOfActions.begin(); CommandRunner != CommandLineParser::getInstance().SequenceOfActions.end(); ++CommandRunner) {
    83     cout << "Checking presence of " << *CommandRunner << endl;
    84     if (ActionRegistry::getInstance().isActionByNamePresent(*CommandRunner))
     45    cout << "Checking presence of " << *CommandRunner << ": ";
     46    if (ActionRegistry::getInstance().isActionByNamePresent(*CommandRunner)) {
     47      cout << "calling " << *CommandRunner << endl;
    8548      ActionRegistry::getInstance().getActionByName(*CommandRunner)->call();
     49    } else {
     50      cout << "absent." << endl;
     51    }
    8652  }
    8753}
    8854
    89 void CommandLineWindow::populateAnalysisActions()
    90 {
    91   new AnalysisMolecularVolumeAction();
    92   new AnalysisPairCorrelationAction();
    93   new AnalysisPrincipalAxisSystemAction();
    94 }
    95 
    96 void CommandLineWindow::populateAtomActions()
    97 {
    98   new AtomAddAction();
    99   new AtomChangeElementAction();
    100   new AtomRemoveAction();
    101 }
    102 
    103 void CommandLineWindow::populateCmdActions()
    104 {
    105   new CommandLineBondLengthTableAction();
    106   new CommandLineElementDbAction();
    107   new CommandLineFastParsingAction();
    108   new CommandLineHelpAction();
    109   new CommandLineVerboseAction();
    110   new CommandLineVersionAction();
    111 }
    112 
    113 void CommandLineWindow::populateFragmentationActions()
    114 {
    115   new FragmentationDepthFirstSearchAction();
    116   new FragmentationFragmentationAction();
    117   new FragmentationSubgraphDissectionAction();
    118 }
    119 
    120 void CommandLineWindow::populateMoleculeActions()
    121 {
    122   new MoleculeBondFileAction();
    123   new MoleculeChangeNameAction();
    124   new MoleculeFillWithMoleculeAction();
    125   new MoleculeLinearInterpolationofTrajectoriesAction();
    126   new MoleculeSaveAdjacencyAction();
    127   new MoleculeSaveBondsAction();
    128   new MoleculeSaveTemperatureAction();
    129   new MoleculeTranslateAction();
    130   new MoleculeVerletIntegrationAction();
    131 }
    132 
    133 void CommandLineWindow::populateParserActions()
    134 {
    135   new ParserLoadXyzAction();
    136   new ParserSaveXyzAction();
    137 }
    138 
    139 void CommandLineWindow::populateTesselationActions()
    140 {
    141   new TesselationConvexEnvelopeAction();
    142   new TesselationNonConvexEnvelopeAction();
    143 }
    144 
    145 void CommandLineWindow::populateWorldActions()
    146 {
    147   new WorldAddEmptyBoundaryAction();
    148   new WorldBoundInBoxAction();
    149   new WorldCenterInBoxAction();
    150   new WorldCenterOnEdgeAction();
    151   new WorldChangeBoxAction();
    152   new WorldRemoveSphereOfAtomsAction();
    153   new WorldRepeatBoxAction();
    154   new WorldScaleBoxAction();
    155   new WorldSetDefaultNameAction();
    156   new WorldSetGaussianBasisAction();
    157 }
Note: See TracChangeset for help on using the changeset viewer.