Ignore:
Timestamp:
Apr 29, 2014, 12:42:43 PM (11 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:
f47e00b
Parents:
ec7511
git-author:
Frederik Heber <heber@…> (02/04/14 20:32:08)
git-committer:
Frederik Heber <heber@…> (04/29/14 12:42:43)
Message:

FIX: MolecularDynamicsAction now prepares normally not inside performCall().

  • added protected ActionSequence::removeAction() and pass-thru in MakroAction.
  • added MakroAction::fillOwnDialog(): We did not cleanly implement the MakroAction's dialogs before. We need to populate queries from the sequeence of Actions and from the MakroAction itself (e.g. for loop count). For the latter, we need another new function for this.
  • MolecularDynamicsAction removes output action from sequence if not desired.
  • removed (another) fillAllDialog from MakroAction::performCall(). This has been the source of doubly occuring dialogs (and dialog becoming ever larger on multiple calls).
  • MolecularDynamicsAction::prepare() also just uses ActionRegistry whose ref is passed as parameter and does not (directly) access ActionQueue.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/MakroAction.cpp

    rec7511 r237f93  
    8787}
    8888
     89bool MakroAction::removeAction(const std::string &name)
     90{
     91  actions.removeAction(name);
     92}
     93
     94Dialog* MakroAction::fillOwnDialog(Dialog *dialog) {
     95  return dialog;
     96}
     97
    8998Dialog* MakroAction::fillDialog(Dialog *dialog) {
     99  dialog = fillOwnDialog(dialog);
    90100  return actions.fillAllDialogs(dialog);
    91101}
    92102
    93103ActionState::ptr MakroAction::performCall(){
    94   {
    95     // create and run our dialog and also of all members of the sequence
    96     Dialog* dialog = actions.fillAllDialogs(createDialog());
    97     if (dialog->hasQueries()) {
    98       if (!dialog->display())
    99         // dialog error or aborted -> throw exception
    100         throw ActionFailureException() << ActionNameString(getName());
    101     }
    102     delete(dialog);
    103   }
     104//  {
     105//    // create and run our dialog and also of all members of the sequence
     106//    Dialog* dialog = actions.fillAllDialogs(createDialog());
     107//    if (dialog->hasQueries()) {
     108//      if (!dialog->display())
     109//        // dialog error or aborted -> throw exception
     110//        throw ActionFailureException() << ActionNameString(getName());
     111//    }
     112//    delete(dialog);
     113//  }
    104114  ActionSequence::stateSet states = actions.callAll(true);
    105115  return ActionState::ptr(new MakroActionState(states));
Note: See TracChangeset for help on using the changeset viewer.