Changeset b59da6 for src/Actions


Ignore:
Timestamp:
Dec 4, 2010, 11:33:47 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:
0af7ef
Parents:
5813ac
git-author:
Frederik Heber <heber@…> (11/08/10 09:36:45)
git-committer:
Frederik Heber <heber@…> (12/04/10 23:33:47)
Message:

Refactoring of Menu structure for Qt and Text UI done.

  • Menu is now the initialising class for the menu structure.
  • MenuInterface contains virtual declarations of all functions that Menu needs to call.
  • TextMenu and QtMenu are templated classes which contain both Menu and MenuInterface and implement the virtual functions.
  • class TxMenu and its ...MenuItems contain most of the old Menu code for the text-based system. Most of the stuff, such as triggers, are now hidden internally.
  • in ..MainWindow() we basically just construct the desired Menu and call init at the correct time.
Location:
src/Actions
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/ActionRegistry.cpp

    r5813ac rb59da6  
    5252}
    5353
     54/** Returns the last present action position in the requested menu.
     55 * \param &token token of the menu
     56 * \return last used position
     57 */
     58int ActionRegistry::getLastPosition(const std::string &token) const
     59{
     60  int position = 0;
     61  for (const_iterator iter = getBeginIter();
     62      iter != getEndIter();
     63      ++iter) {
     64    const std::string &MenuName = (iter->second)->Traits.getMenuName();
     65    const int &MenuPosition = (iter->second)->Traits.getMenuPosition();
     66    if ((MenuName == token) && (position < MenuPosition))
     67      position = MenuPosition;
     68  }
     69  return position;
     70}
     71
     72
    5473CONSTRUCT_SINGLETON(ActionRegistry)
    5574CONSTRUCT_REGISTRY(Action)
  • src/Actions/ActionRegistry.hpp

    r5813ac rb59da6  
    3131  Action* getActionByName(const std::string name);
    3232  bool isActionPresentByName(const std::string name) const;
     33  int getLastPosition(const std::string &MenuName) const;
    3334
    3435private:
  • src/Actions/ActionTraits.cpp

    r5813ac rb59da6  
    4646      _Traits.hasDefaultValue() ? _Traits.getDefaultValue() : "",
    4747      _Traits.hasShortForm() ? _Traits.getShortForm() : ""
    48   )
     48  ),
     49  MenuTitle(_Traits.MenuTitle),
     50  MenuPosition(_Traits.MenuPosition)
    4951{
    50   MenuTitle = _Traits.MenuTitle;
    51   MenuPosition = _Traits.MenuPosition;
    5252  for (options_const_iterator iter = _Traits.Options.begin(); iter != _Traits.Options.end(); ++iter) {
    5353    Options.insert(
     
    6565 * \param &_Traits source OptionTrait class to copy
    6666 */
    67 ActionTraits::ActionTraits(const OptionTrait &_Traits) :
    68   OptionTrait(_Traits)
     67ActionTraits::ActionTraits(const OptionTrait &_Traits, const std::string _MenuTitle, const int _MenuPosition) :
     68  OptionTrait(_Traits),
     69  MenuTitle(_MenuTitle),
     70  MenuPosition(_MenuPosition)
    6971{
    7072  //std::cout << "ActionTraits::ActionTraits(OptionTrait &) with " << getName() << ", type " << getTypeName() << " and description " << getDescription() << std::endl;
     
    9496 * \return ActionTraits::MenuPosition as std::string
    9597 */
    96 const int ActionTraits::getMenuPosition() const
     98int ActionTraits::getMenuPosition() const
    9799{
    98100  return MenuPosition;
  • src/Actions/ActionTraits.hpp

    r5813ac rb59da6  
    3131public:
    3232  ActionTraits(const ActionTraits &_Traits);
    33   ActionTraits(const OptionTrait &_Traits);
     33  ActionTraits(const OptionTrait &_Traits, const std::string _MenuTitle = "", const int _MenuPosition = 0);
    3434  explicit ActionTraits(const std::string &_token);
    3535  virtual ~ActionTraits();
     
    4040
    4141  const std::string& getMenuName() const;
    42   const int getMenuPosition() const;
     42  int getMenuPosition() const;
    4343
    4444  // getter for its options
Note: See TracChangeset for help on using the changeset viewer.