- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/UIElements/CommandLineUI/CommandLineWindow.cpp
r77b2d7 r326bbe 6 6 */ 7 7 8 #include "Helpers/MemDebug.hpp" 9 8 10 #include <boost/bind.hpp> 9 11 … … 11 13 #include "CommandLineUI/CommandLineStatusIndicator.hpp" 12 14 15 #include "Actions/Action.hpp" 16 #include "Actions/MapOfActions.hpp" 13 17 #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 52 19 #include "CommandLineParser.hpp" 53 20 … … 60 27 { 61 28 // 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(); 70 30 71 31 // Add status indicators etc... … … 79 39 80 40 void CommandLineWindow::display() { 41 //cout << ActionRegistry::getInstance(); 42 81 43 // go through all possible actions 82 44 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; 85 48 ActionRegistry::getInstance().getActionByName(*CommandRunner)->call(); 49 } else { 50 cout << "absent." << endl; 51 } 86 52 } 87 53 } 88 54 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.