Ignore:
Timestamp:
Dec 4, 2010, 11:42:38 PM (14 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:
e9be39
Parents:
8f3f40
git-author:
Frederik Heber <heber@…> (11/08/10 12:15:08)
git-committer:
Frederik Heber <heber@…> (12/04/10 23:42:38)
Message:

Placed TxMenu::LeaveAction implementation and declaration into its own module.

  • TxMenu now only contains forward declaration
Location:
src/UIElements/Menu/TextMenu
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Menu/TextMenu/TextMenu.hpp

    r8f3f40 rf0f9a6  
    1919#include "Actions/ActionRegistry.hpp"
    2020#include "Actions/ActionTraits.hpp"
    21 #include "Menu/TextMenu/TxMenu.hpp"
     21#include "Menu/TextMenu/TxMenuLeaveAction.hpp"
    2222#include "Menu/TextMenu/ActionMenuItem.hpp"
    2323#include "Menu/TextMenu/SeperatorItem.hpp"
  • src/UIElements/Menu/TextMenu/TxMenu.cpp

    r8f3f40 rf0f9a6  
    2424#include <iostream>
    2525#include <cmath>
    26 #include "Actions/Action.hpp"
    27 #include "Actions/ActionTraits.hpp"
    2826#include "Menu/TextMenu/TxMenu.hpp"
    2927#include "Menu/TextMenu/MenuItem.hpp"
    30 #include "Helpers/Assert.hpp"
    3128
    3229
     
    161158}
    162159
    163 /****************************** Contained Actions ****************/
    164 
    165 /** Constructor for class TxMenu::LeaveAction.
    166  * \param _menu pointer to the containing TxMenu
    167  * \param &LeaveActionTrait ActionTraits for this Action
    168  */
    169 TxMenu::LeaveAction::LeaveAction(TxMenu* const _menu, const ActionTraits & LeaveActionTrait) :
    170   Action(LeaveActionTrait, true),
    171   menu(_menu)
    172 {}
    173 
    174 /** Destructor for class TxMenu::LeaveAction.
    175  *
    176  */
    177 TxMenu::LeaveAction::~LeaveAction(){}
    178 
    179 /** We can't undo the leave action.
    180  * \return false
    181  */
    182 bool TxMenu::LeaveAction::canUndo(){
    183   return false;
    184 }
    185 
    186 /** We should never undo the leave action.
    187  * \return false
    188  */
    189 bool TxMenu::LeaveAction::shouldUndo(){
    190   return false;
    191 }
    192 
    193 /** Internal function to obtain parameters from a storage.
    194  * We do not use this one as we don't need any parameters.
    195  */
    196 void TxMenu::LeaveAction::getParametersfromValueStorage()
    197 {}
    198 
    199 /** Internal function to construct the dialog.
    200  * We do not need this function as there is no dialog to construct.
    201  */
    202 Dialog* TxMenu::LeaveAction::fillDialog(Dialog *dialog){
    203   ASSERT(dialog,"No Dialog given when filling action dialog");
    204   return dialog;
    205 }
    206 
    207 /** Calls TxMenu::doQuit() on the stored menu reference.
    208  * \return ActionState pointer with success
    209  */
    210 Action::state_ptr TxMenu::LeaveAction::performCall(){
    211   menu->doQuit();
    212   return Action::success;
    213 }
    214 
    215 /** Implementation of undo function for an Action.
    216  * We do not use this functionality.
    217  * \return ActionState pointer with failure
    218  */
    219 Action::state_ptr TxMenu::LeaveAction::performUndo(Action::state_ptr){
    220   ASSERT(0,"Cannot undo leaving a menu");
    221   return Action::failure;
    222 }
    223 
    224 /** Implementation of redo function for an Action.
    225  * We do not use this functionality.
    226  * \return ActionState pointer with failure
    227  */
    228 Action::state_ptr TxMenu::LeaveAction::performRedo(Action::state_ptr){
    229   ASSERT(0,"Cannot redo leaving a menu");
    230   return Action::failure;
    231 }
  • src/UIElements/Menu/TextMenu/TxMenu.hpp

    r8f3f40 rf0f9a6  
    1414
    1515#include "Menu/Menu.hpp"
    16 #include "Actions/Action.hpp"
    17 #include "Actions/ActionTraits.hpp"
    1816#include "defs.hpp"
    1917
     
    3836{
    3937public:
    40   /** This specific action is used to leave a submenu and return to an upper one.
    41    * It differs from other Action's (and thus cannot be put into the usual
    42    * structure) that we have to store the reference to the menu it belongs to.
    43    * There, we call the doQuit() member function on performCall().
    44    */
    45   class LeaveAction : public Action {
    46   public:
    47     LeaveAction(TxMenu* const, const ActionTraits &_trait);
    48     virtual ~LeaveAction();
    49 
    50     bool canUndo();
    51     bool shouldUndo();
    52 
    53   protected:
    54     virtual Dialog* fillDialog(Dialog *dialog);
    55   private:
    56     virtual void getParametersfromValueStorage();
    57     virtual Action::state_ptr performCall();
    58     virtual Action::state_ptr performUndo(Action::state_ptr);
    59     virtual Action::state_ptr performRedo(Action::state_ptr);
    60 
    61     TxMenu* const menu;
    62   };
     38  class LeaveAction;
    6339
    6440  TxMenu(std::ostream& _outputter, const std::string _title, char _spacer=STD_MENU_TITLE_SPACER,int _length=STD_MENU_LENGTH);
Note: See TracChangeset for help on using the changeset viewer.