Changeset 0c8056 for src/Actions


Ignore:
Timestamp:
Sep 19, 2013, 8:23:52 PM (12 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:
40ec38
Parents:
a6ceab
git-author:
Frederik Heber <heber@…> (08/16/13 12:56:15)
git-committer:
Frederik Heber <heber@…> (09/19/13 20:23:52)
Message:

Actions now get ptr to ActionRegistry in cstor.

  • this is the last of the externally present getActionRegistry() calls.
  • also changed: Calculation, ErrorAction, ManipulateAtomsProcess, MakroAction, MethodAction, Process, Reaction. Some of these had default of doRegister but are only used with false. We removed any default value in header if set to true. However, this will cause default behavior of false (as Action has default NULL for ActionRegistry ptr).
  • purged some unnecessary ActionRegistry includes.
Location:
src/Actions
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/Action.cpp

    ra6ceab r0c8056  
    4141#include "Actions/Action.hpp"
    4242#include "Actions/ActionExceptions.hpp"
    43 #include "Actions/ActionQueue.hpp"
    4443#include "Actions/ActionHistory.hpp"
     44#include "Actions/ActionRegistry.hpp"
    4545#include "Actions/OptionRegistry.hpp"
    4646#include "Actions/OptionTrait.hpp"
     
    7575Action::state_ptr Action::failure;
    7676
    77 Action::Action(const ActionTrait &_Traits, bool _doRegister) :
    78     Traits(_Traits)
     77Action::Action(const ActionTrait &_Traits, ActionRegistry * const _AR) :
     78    Traits(_Traits),
     79    AR(_AR)
    7980{
    8081  // register with ActionRegistry
    81   if(_doRegister){
    82     ActionQueue::getInstance().getActionRegistry().registerInstance(this);
     82  if(AR != NULL) {
     83    AR->registerInstance(this);
    8384  }
    8485
     
    128129{
    129130  // unregister us if still registered
    130   if(ActionQueue::getInstance().isActionKnownByName(getName()))
    131     if (ActionQueue::getInstance().getActionByName(getName()) == this)
    132       ActionQueue::getInstance().getActionRegistry().unregisterInstance(this);
     131  if (AR != NULL)
     132    AR->unregisterInstance(this);
    133133
    134134  for (ActionTrait::options_const_iterator optioniter = Traits.getBeginIter();
  • src/Actions/Action.hpp

    ra6ceab r0c8056  
    2828
    2929namespace MoleCuilder {
     30  class ActionRegistry;
    3031  class ActionState;
    3132  class ActionSequence;
     
    101102   *
    102103   * \param Traits information class to this action
    103    * \param _doRegister whether to register with ActionRegistry
    104    */
    105   Action(const ActionTrait &_Traits, bool _doRegister=true);
     104   * \param _AR pointer to ActionRegistry to register, NULL - do not register
     105   */
     106  Action(const ActionTrait &_Traits, ActionRegistry * const _AR = NULL);
    106107  virtual ~Action();
    107108
     
    167168  const ActionTrait Traits;
    168169
     170  /** Action is registered with an ActionRegistry and stores its pointer internally.
     171   *
     172   */
     173  ActionRegistry* const AR;
     174
    169175protected:
    170176  /** Removes the static entities Action::success and Action::failure.
  • src/Actions/Action_impl_pre.hpp

    ra6ceab r0c8056  
    187187
    188188
    189 #include "Actions/ActionRegistry.hpp"
    190189//#include "Actions/ActionTraits.hpp"
    191190#include "UIElements/Dialog.hpp"
     
    235234// =========== constructor ===========
    236235ACTION::ACTION () :
    237   Action(ActionTraits< ACTION >(), false)
     236  Action(ActionTraits< ACTION >(), NULL)
    238237{}
    239238
  • src/Actions/Action_impl_python.hpp

    ra6ceab r0c8056  
    101101
    102102#include "Actions/Action.hpp"
    103 #include "Actions/ActionRegistry.hpp"
    104103
    105104namespace MoleCuilder {
  • src/Actions/AtomsCalculation_impl.hpp

    ra6ceab r0c8056  
    2222template<typename T>
    2323AtomsCalculation<T>::AtomsCalculation(boost::function<T(atom*)> _op,const ActionTrait &_trait,AtomDescriptor _descr) :
    24   Calculation<std::vector<T> >(0,_trait,false),
     24  Calculation<std::vector<T> >(0,_trait,NULL),
    2525  descr(_descr),
    2626  op(_op)
  • src/Actions/Calculation.hpp

    ra6ceab r0c8056  
    1414#endif
    1515
    16 
    1716#include "Actions/Process.hpp"
    1817
    1918namespace MoleCuilder {
     19
     20class ActionRegistry;
    2021
    2122/**
     
    2930{
    3031public:
    31   Calculation(int _maxSteps, const ActionTrait &_trait, bool _doRegister=true);
     32  Calculation(int _maxSteps, const ActionTrait &_trait, ActionRegistry * const _AR);
    3233  virtual ~Calculation();
    3334
  • src/Actions/Calculation_impl.hpp

    ra6ceab r0c8056  
    2222
    2323template<typename T>
    24 Calculation<T>::Calculation(int _maxSteps, const ActionTrait &_trait, bool _doRegister) :
    25   Process(_maxSteps,_trait,_doRegister),
     24Calculation<T>::Calculation(int _maxSteps, const ActionTrait &_trait, ActionRegistry * const _AR) :
     25  Process(_maxSteps,_trait,_AR),
    2626  result(0),
    2727  done(false)
  • src/Actions/CommandAction/HelpRedistributeAction.cpp

    ra6ceab r0c8056  
    3838#include <string>
    3939
    40 #include "Actions/ActionRegistry.hpp"
    4140#include "Actions/ActionTrait.hpp"
    42 #include "Actions/OptionRegistry.hpp"
    4341#include "Actions/OptionTrait.hpp"
    4442#include "CodePatterns/Log.hpp"
  • src/Actions/ErrorAction.cpp

    ra6ceab r0c8056  
    4444using namespace MoleCuilder;
    4545
    46 ErrorAction::ErrorAction(const ActionTrait &_trait,const char * _errorMsg,bool _doRegister) :
    47 Action(_trait,_doRegister),
     46ErrorAction::ErrorAction(const ActionTrait &_trait,const char * _errorMsg, ActionRegistry * const _AR) :
     47Action(_trait,_AR),
    4848errorMsg(_errorMsg)
    4949{
  • src/Actions/ErrorAction.hpp

    ra6ceab r0c8056  
    2323{
    2424public:
    25   ErrorAction(const ActionTrait &_trait,const char * _errorMsg,bool _doRegister=true);
     25  ErrorAction(const ActionTrait &_trait,const char * _errorMsg, ActionRegistry * const _AR);
    2626  virtual ~ErrorAction();
    2727
  • src/Actions/MakroAction.cpp

    ra6ceab r0c8056  
    4141#include "Actions/Action.hpp"
    4242#include "Actions/ActionExceptions.hpp"
     43#include "Actions/ActionRegistry.hpp"
    4344#include "Actions/ActionSequence.hpp"
    4445#include "CodePatterns/Assert.hpp"
     
    6061};
    6162
    62 MakroAction::MakroAction(const ActionTrait &_trait,ActionSequence& _actions,bool _doRegister) :
    63 Action(_trait,_doRegister),
     63MakroAction::MakroAction(const ActionTrait &_trait,ActionSequence& _actions, ActionRegistry * const _AR) :
     64Action(_trait,_AR),
    6465actions(_actions)
    6566{
  • src/Actions/MakroAction.hpp

    ra6ceab r0c8056  
    3131{
    3232public:
    33   MakroAction(const ActionTrait &_trait,ActionSequence& _actions,bool _doRegister=true);
     33  MakroAction(const ActionTrait &_trait,ActionSequence& _actions, ActionRegistry * const _AR=NULL);
    3434  virtual ~MakroAction();
    3535
  • src/Actions/MakroAction_impl_pre.hpp

    ra6ceab r0c8056  
    235235// =========== constructor ===========
    236236ACTION::ACTION () :
    237   MakroAction(ActionTraits< ACTION >(), actions, false)
     237  MakroAction(ActionTraits< ACTION >(), actions, NULL)
    238238{}
    239239
  • src/Actions/ManipulateAtomsProcess.cpp

    ra6ceab r0c8056  
    4848    AtomDescriptor _descr,
    4949    const ActionTrait &_trait,
    50     bool _doRegister) :
    51   Process(0,_trait,_doRegister),
     50    ActionRegistry * const _AR) :
     51  Process(0,_trait,_AR),
    5252  descr(_descr),
    5353  operation(_operation)
  • src/Actions/ManipulateAtomsProcess.hpp

    ra6ceab r0c8056  
    2525namespace MoleCuilder {
    2626
     27class ActionRegistry;
     28
    2729class ManipulateAtomsProcess : public Process
    2830{
    2931public:
    30   ManipulateAtomsProcess(boost::function<void(atom*)> _operation, AtomDescriptor descr,const ActionTrait &_trait,bool _doRegister=true);
     32  ManipulateAtomsProcess(boost::function<void(atom*)> _operation, AtomDescriptor descr,const ActionTrait &_trait,ActionRegistry * const _AR);
    3133  virtual ~ManipulateAtomsProcess();
    3234
  • src/Actions/MethodAction.cpp

    ra6ceab r0c8056  
    4444using namespace MoleCuilder;
    4545
    46 MethodAction::MethodAction(const ActionTrait &_trait,boost::function<void()> _executeMethod,bool _doRegister) :
    47    Action(_trait,_doRegister),
     46MethodAction::MethodAction(const ActionTrait &_trait,boost::function<void()> _executeMethod,ActionRegistry * const _AR) :
     47   Action(_trait,_AR),
    4848executeMethod(_executeMethod)
    4949{
  • src/Actions/MethodAction.hpp

    ra6ceab r0c8056  
    2121namespace MoleCuilder {
    2222
     23class ActionRegistry;
     24
    2325/**
    2426 * Wrapper class that allows the construction of Actions from any kind of Method
     
    2729{
    2830public:
    29   MethodAction(const ActionTrait &_trait,boost::function<void()> _executeMethod,bool _doRegister=true);
     31  MethodAction(const ActionTrait &_trait,boost::function<void()> _executeMethod,ActionRegistry * const _AR);
    3032  virtual ~MethodAction();
    3133  virtual bool canUndo();
  • src/Actions/Process.cpp

    ra6ceab r0c8056  
    4141using namespace MoleCuilder;
    4242
    43 Process::Process(int _maxSteps, const ActionTrait &_trait, bool _doRegister) :
    44   Action(_trait,_doRegister),
     43Process::Process(int _maxSteps, const ActionTrait &_trait, ActionRegistry * const _AR) :
     44  Action(_trait,_AR),
    4545  Observable("Process"),
    4646  maxSteps(_maxSteps),
  • src/Actions/Process.hpp

    ra6ceab r0c8056  
    2828namespace MoleCuilder {
    2929
     30class ActionRegistry;
     31
    3032/**
    3133 * A Process is an Action that might take some time and therefore has special
     
    4951{
    5052public:
    51   Process(int _maxSteps, const ActionTrait &_trait, bool _doRegister=true);
     53  Process(int _maxSteps, const ActionTrait &_trait, ActionRegistry * const _AR);
    5254  virtual ~Process();
    5355
  • src/Actions/Reaction.hpp

    ra6ceab r0c8056  
    3030{
    3131public:
    32   Reaction(const ActionTrait &_trait, bool _doRegister=true);
     32  Reaction(const ActionTrait &_trait, ActionRegistry * const _AR=NULL);
    3333  virtual ~Reaction();
    3434
  • src/Actions/Reaction_impl.hpp

    ra6ceab r0c8056  
    2323
    2424template<typename T>
    25 Reaction<T>::Reaction(const ActionTrait &_trait, bool _doRegister) :
    26   Action(_trait,_doRegister),
     25Reaction<T>::Reaction(const ActionTrait &_trait, ActionRegistry * const _AR) :
     26  Action(_trait,_AR),
    2727  result(0),
    2828  done(false)
  • src/Actions/Reaction_impl_pre.hpp

    ra6ceab r0c8056  
    163163// =========== constructor ===========
    164164REACTION::REACTION () :
    165   Reaction< RETURNTYPE >(ActionTraits< REACTION >(), false)
     165  Reaction< RETURNTYPE >(ActionTraits< REACTION >(), NULL)
    166166{}
    167167
  • src/Actions/unittests/ActionSequenceUnitTest.cpp

    ra6ceab r0c8056  
    6363public:
    6464  canUndoActionStub(const ActionTrait &_trait):
    65     Action(_trait,false){}
     65    Action(_trait,NULL){}
    6666  virtual ~canUndoActionStub(){}
    6767
     
    9292public:
    9393  cannotUndoActionStub(const ActionTrait &_trait) :
    94     Action(_trait,false){}
     94    Action(_trait,NULL){}
    9595  virtual ~cannotUndoActionStub(){}
    9696
     
    121121public:
    122122  wasCalledActionStub(const ActionTrait &_trait) :
    123       Action(_trait,false),
     123      Action(_trait,NULL),
    124124      called(false)
    125125  {}
     
    278278
    279279  ActionTrait MakroTrait("Test MakroAction");
    280   MakroAction act(MakroTrait,*sequence,false);
     280  MakroAction act(MakroTrait,*sequence,NULL);
    281281
    282282  act.call();
Note: See TracChangeset for help on using the changeset viewer.