Changeset 92c52f


Ignore:
Timestamp:
Aug 10, 2010, 12:34:10 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:
7e37a3
Parents:
784708
Message:

Added undo/redo test to standard_options/1 (VerboseAction).

  • added Logger::getVerbosity(), errorLogger::getVerbosity() and getVerbosity() in Log.[ch]pp.
  • VerboseAction is more verbose :) about undo/redo.
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/Actions/CmdAction/VerboseAction.cpp

    r784708 r92c52f  
    2626class CommandLineVerboseState : public ActionState {
    2727public:
    28   CommandLineVerboseState(int _verbosity) :
    29     verbosity(_verbosity)
     28  CommandLineVerboseState(const int _oldverbosity, const int _newverbosity) :
     29    oldverbosity(_oldverbosity),
     30    newverbosity(_newverbosity)
    3031  {}
    31   int verbosity;
     32  int oldverbosity;
     33  int newverbosity;
    3234};
    3335
     
    5658
    5759Action::state_ptr CommandLineVerboseAction::performCall() {
    58   int verbosity = 2;
     60  int oldverbosity = getVerbosity();
     61  int newverbosity = 2;
    5962
    60   ValueStorage::getInstance().queryCurrentValue(NAME, verbosity);
     63  ValueStorage::getInstance().queryCurrentValue(NAME, newverbosity);
    6164
    62   setVerbosity(verbosity);
    63   DoLog(0) && (Log() << Verbose(0) << "Setting verbosity to " << verbosity << "." << endl);
    64   return Action::success;
     65  if (oldverbosity != newverbosity) {
     66    CommandLineVerboseState *UndoState = new CommandLineVerboseState(oldverbosity, newverbosity);
     67    setVerbosity(newverbosity);
     68    DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << oldverbosity << " to " << newverbosity << "." << endl);
     69    return Action::state_ptr(UndoState);
     70  } else {
     71    DoLog(0) && (Log() << Verbose(0) << "Verbosity remains unchanged at " << oldverbosity << "." << endl);
     72    return Action::failure;
     73  }
    6574}
    6675
     
    6877  CommandLineVerboseState *state = assert_cast<CommandLineVerboseState*>(_state.get());
    6978
    70   int verbosity = 2;
    71   ValueStorage::getInstance().queryCurrentValue(NAME, verbosity);
     79  DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << state->newverbosity << " to " << state->oldverbosity << "." << endl);
     80  setVerbosity(state->oldverbosity);
    7281
    73   setVerbosity(state->verbosity);
    74   return Action::state_ptr(new CommandLineVerboseState(verbosity));
     82  return Action::state_ptr(_state);
    7583}
    7684
    7785Action::state_ptr CommandLineVerboseAction::performRedo(Action::state_ptr _state){
    78   return performUndo(_state);
     86  CommandLineVerboseState *state = assert_cast<CommandLineVerboseState*>(_state.get());
     87
     88  DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << state->oldverbosity << " to " << state->newverbosity << "." << endl);
     89  setVerbosity(state->newverbosity);
     90
     91  return Action::state_ptr(_state);
    7992}
    8093
  • TabularUnified src/Helpers/Log.cpp

    r784708 r92c52f  
    1818void setVerbosity(int verbosityLevel) {
    1919  logger::getInstance().setVerbosity(verbosityLevel);
     20}
     21
     22/**
     23 * Gets verbosity for the error logger and the standard logger.
     24 *
     25 * \param int verbosity level
     26 */
     27int getVerbosity() {
     28  return logger::getInstance().getVerbosity();
    2029}
    2130
  • TabularUnified src/Helpers/Log.hpp

    r784708 r92c52f  
    1515class errorLogger & eLog();
    1616void setVerbosity(int verbosityLevel);
     17int getVerbosity();
    1718bool DoLog(int verbose);
    1819bool DoeLog(int verbose);
  • TabularUnified src/Helpers/errorlogger.cpp

    r784708 r92c52f  
    4141void errorLogger::setVerbosity(int verbosityLevel) {
    4242  verbosity = verbosityLevel;
     43}
     44
     45/**
     46 * Gets the verbosity.
     47 *
     48 * \return verbosity level
     49 */
     50int errorLogger::getVerbosity()
     51{
     52  return verbosity;
    4353}
    4454
  • TabularUnified src/Helpers/errorlogger.hpp

    r784708 r92c52f  
    2525  static bool DoOutput();
    2626  static void setVerbosity(int verbosityLevel);
     27  static int getVerbosity();
    2728
    2829protected:
  • TabularUnified src/Helpers/logger.cpp

    r784708 r92c52f  
    4444
    4545/**
     46 * Gets the verbosity.
     47 *
     48 * \return verbosity level
     49 */
     50int logger::getVerbosity()
     51{
     52  return verbosity;
     53}
     54
     55/**
    4656 * Operator for the Binary(arg) call.
    4757 * Constructs temporary a Verbose class object, wherein the Binary is stored.
  • TabularUnified src/Helpers/logger.hpp

    r784708 r92c52f  
    2525  static bool DoOutput();
    2626  static void setVerbosity(int verbosityLevel);
     27  static int getVerbosity();
    2728
    2829protected:
  • TabularUnified tests/regression/testsuite-standard_options.at

    r784708 r92c52f  
    55AT_CHECK([pwd],[ignore],[ignore])
    66AT_CHECK([../../molecuilder -v 1], 0, [stdout], [ignore])
    7 AT_CHECK([fgrep olecuilder stdout], 0, [ignore], [ignore])
     7AT_CHECK([grep "Setting verbosity from .* to 1" stdout], 0, [ignore], [ignore])
     8AT_CLEANUP
     9AT_SETUP([Standard Options - verbosity with Undo/Redo])
     10AT_KEYWORDS([options])
     11AT_CHECK([../../molecuilder -v 1 --undo], 0, [stdout], [ignore])
     12AT_CHECK([grep "Setting verbosity from 1 to .*" stdout], 0, [ignore], [ignore])
     13AT_CHECK([../../molecuilder -v 1 --undo --redo], 0, [stdout], [ignore])
     14AT_CHECK([grep "Setting verbosity from .* to 1" stdout], 0, [ignore], [ignore])
    815AT_CLEANUP
    916
Note: See TracChangeset for help on using the changeset viewer.