Ignore:
Timestamp:
May 15, 2010, 5:56:57 PM (15 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
99fcaf, f941b1
Parents:
498c519
git-author:
Frederik Heber <heber@…> (05/14/10 20:14:27)
git-committer:
Frederik Heber <heber@…> (05/15/10 17:56:57)
Message:

Added all commands defined in ParseCommandLineOptions() as Actions.

  • Actions are not yet used, except verbose, version and help.
  • Files are present and included in Makefile.am
  • not unit tests written so far
  • no action has been tested so far (except for MapOfActions)
  • structure introduced to to transition from ParseCommandLineOptions to actions.
  • program name and config file are fixed arguments.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/CommandLineWindow.cpp

    r498c519 r97ebf8  
    1212
    1313#include "Actions/ActionRegistry.hpp"
     14#include "Actions/AnalysisAction/PairCorrelationAction.hpp"
     15#include "Actions/AnalysisAction/PairCorrelationToPointAction.hpp"
     16#include "Actions/AnalysisAction/PairCorrelationToSurfaceAction.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"
    1423#include "Actions/CmdAction/HelpAction.hpp"
     24#include "Actions/CmdAction/VerboseAction.hpp"
    1525#include "Actions/CmdAction/VersionAction.hpp"
     26#include "Actions/FragmentationAction/DepthFirstSearchAction.hpp"
     27#include "Actions/FragmentationAction/SubgraphDissectionAction.hpp"
     28#include "Actions/MoleculeAction/BondFileAction.hpp"
     29#include "Actions/MoleculeAction/ChangeNameAction.hpp"
     30#include "Actions/MoleculeAction/FillWithMoleculeAction.hpp"
     31#include "Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.hpp"
     32#include "Actions/MoleculeAction/SaveAdjacencyAction.hpp"
     33#include "Actions/MoleculeAction/SaveBondsAction.hpp"
     34#include "Actions/MoleculeAction/SaveTemperatureAction.hpp"
     35#include "Actions/MoleculeAction/VerletIntegrationAction.hpp"
    1636#include "Actions/ParserAction/LoadXyzAction.hpp"
    1737#include "Actions/ParserAction/SaveXyzAction.hpp"
     38#include "Actions/TesselationAction/ConvexEnvelopeAction.hpp"
     39#include "Actions/TesselationAction/NonConvexEnvelopeAction.hpp"
     40#include "Actions/WorldAction/AddEmptyBoundaryAction.hpp"
     41#include "Actions/WorldAction/BoundInBoxAction.hpp"
     42#include "Actions/WorldAction/CenterInBoxAction.hpp"
     43#include "Actions/WorldAction/CenterOnEdgeAction.hpp"
     44#include "Actions/WorldAction/ChangeBoxAction.hpp"
     45#include "Actions/WorldAction/RemoveSphereOfAtomsAction.hpp"
     46#include "Actions/WorldAction/RepeatBoxAction.hpp"
     47#include "Actions/WorldAction/ScaleBoxAction.hpp"
     48#include "Actions/WorldAction/SetDefaultNameAction.hpp"
     49#include "Actions/WorldAction/SetGaussianBasisAction.hpp"
    1850#include "CommandLineParser.hpp"
    1951
     
    2658{
    2759  // create and register all command line callable actions
     60  populateAnalysisActions();
    2861  populateAtomActions();
    2962  populateCmdActions();
     
    3265  populateParserActions();
    3366  populateTesselationActions();
     67  populateWorldActions();
    3468
    3569  // Add status indicators etc...
     
    3973CommandLineWindow::~CommandLineWindow()
    4074{
     75  // go through all possible actions
     76  for(std::map<const std::string,Action*>::iterator ActionRunner = ActionRegistry::getInstance().getBeginIter(); ActionRegistry::getInstance().getBeginIter() != ActionRegistry::getInstance().getEndIter(); ActionRunner = ActionRegistry::getInstance().getBeginIter()) {
     77    ActionRegistry::getInstance().unregisterAction(ActionRunner->second);
     78    delete(ActionRunner->second);
     79  }
     80
    4181  delete statusIndicator;
    4282}
     
    5292}
    5393
     94void CommandLineWindow::populateAnalysisActions()
     95{
     96  new AnalysisPairCorrelationAction();
     97  new AnalysisPairCorrelationToPointAction();
     98  new AnalysisPairCorrelationToSurfaceAction();
     99}
     100
    54101void CommandLineWindow::populateAtomActions()
    55102{
     103  new AtomAddAction();
     104  new AtomChangeElementAction();
     105  new AtomRemoveAction();
    56106}
    57107
    58108void CommandLineWindow::populateCmdActions()
    59109{
     110  new CommandLineBondLengthTableAction();
     111  new CommandLineElementDbAction();
     112  new CommandLineFastParsingAction();
    60113  new CommandLineHelpAction();
     114  new CommandLineVerboseAction();
    61115  new CommandLineVersionAction();
    62116}
     
    64118void CommandLineWindow::populateFragmentationActions()
    65119{
     120  new FragmentationDepthFirstSearchAction();
    66121}
    67122
    68123void CommandLineWindow::populateMoleculeActions()
    69124{
     125  new MoleculeBondFileAction();
     126  new MoleculeChangeNameAction();
     127  new MoleculeFillWithMoleculeAction();
     128  new MoleculeLinearInterpolationofTrajectoriesAction();
     129  new MoleculeSaveAdjacencyAction();
     130  new MoleculeSaveBondsAction();
     131  new MoleculeSaveTemperatureAction();
     132  new MoleculeVerletIntegrationAction();
    70133}
    71134
     
    78141void CommandLineWindow::populateTesselationActions()
    79142{
     143  new TesselationConvexEnvelopeAction();
     144  new TesselationNonConvexEnvelopeAction();
    80145}
    81146
     147void CommandLineWindow::populateWorldActions()
     148{
     149  new WorldAddEmptyBoundaryAction();
     150  new WorldBoundInBoxAction();
     151  new WorldCenterInBoxAction();
     152  new WorldCenterOnEdgeAction();
     153  new WorldChangeBoxAction();
     154  new WorldRemoveSphereOfAtomsAction();
     155  new WorldRepeatBoxAction();
     156  new WorldScaleBoxAction();
     157  new WorldSetDefaultNameAction();
     158  new WorldSetGaussianBasisAction();
     159}
Note: See TracChangeset for help on using the changeset viewer.