Changeset 589112 for src/UIElements/Menu/MenuDescription.cpp
- Timestamp:
- Dec 5, 2010, 12:18:31 AM (15 years ago)
- 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, Candidate_v1.7.0, Candidate_v1.7.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:
- 6e06bd
- Parents:
- 5d4b73 (diff), a01144 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - File:
-
- 1 edited
-
src/UIElements/Menu/MenuDescription.cpp (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/UIElements/Menu/MenuDescription.cpp
r5d4b73 r589112 13 13 */ 14 14 15 // include config.h 16 #ifdef HAVE_CONFIG_H 17 #include <config.h> 18 #endif 19 20 #include "Helpers/MemDebug.hpp" 21 15 22 #include <iostream> 16 23 #include <map> 17 24 #include <string> 18 25 19 #include "Actions/ActionRegistry.hpp"26 //#include "Actions/ActionRegistry.hpp" 20 27 #include "Menu/MenuDescription.hpp" 28 29 #include "Patterns/Singleton_impl.hpp" 30 31 MenuDescription::TextMap *MenuDescription::MenuDescriptionsMap = NULL; 32 MenuDescription::IterableMap *MenuDescription::MenuPositionMap = NULL; 33 MenuDescription::TextMap *MenuDescription::MenuNameMap = NULL; 34 21 35 22 36 /** Constructor of class MenuDescription. … … 25 39 MenuDescription::MenuDescription() 26 40 { 41 // allocate maps 42 MenuDescriptionsMap = new TextMap(); 43 MenuPositionMap = new IterableMap(); 44 MenuNameMap = new TextMap(); 45 27 46 // put each menu into its place, "" means top level 28 MenuPositionMap ["analysis"] = TopPosition("tools",1);29 MenuPositionMap ["atom"] = TopPosition("edit",1);30 MenuPositionMap ["command"] = TopPosition("",3);31 MenuPositionMap ["edit"] = TopPosition("",2);32 MenuPositionMap ["fragmentation"] = TopPosition("tools",3);33 MenuPositionMap ["molecule"] = TopPosition("edit",2);34 MenuPositionMap ["parser"] = TopPosition("edit",3);35 MenuPositionMap ["selection"] = TopPosition("edit",4);36 MenuPositionMap ["tesselation"] = TopPosition("tools",2);37 MenuPositionMap ["tools"] = TopPosition("",4);38 MenuPositionMap ["world"] = TopPosition("",1);47 MenuPositionMap->insert(std::make_pair("analysis",TopPosition("tools",1))); 48 MenuPositionMap->insert(std::make_pair("atom",TopPosition("edit",1))); 49 MenuPositionMap->insert(std::make_pair("command",TopPosition("",3))); 50 MenuPositionMap->insert(std::make_pair("edit",TopPosition("",2))); 51 MenuPositionMap->insert(std::make_pair("fragmentation",TopPosition("tools",3))); 52 MenuPositionMap->insert(std::make_pair("molecule",TopPosition("edit",2))); 53 MenuPositionMap->insert(std::make_pair("parser",TopPosition("edit",3))); 54 MenuPositionMap->insert(std::make_pair("selection",TopPosition("edit",4))); 55 MenuPositionMap->insert(std::make_pair("tesselation",TopPosition("tools",2))); 56 MenuPositionMap->insert(std::make_pair("tools",TopPosition("",4))); 57 MenuPositionMap->insert(std::make_pair("world",TopPosition("",1))); 39 58 40 59 // put menu description into each menu category 41 MenuDescriptionsMap ["analysis"] = "Analysis (pair correlation, volume)";42 MenuDescriptionsMap ["atom"] = "Edit atoms";43 MenuDescriptionsMap ["command"] = "Configuration";44 MenuDescriptionsMap ["edit"] = "Edit";45 MenuDescriptionsMap ["fragmentation"] = "Fragmentation";46 MenuDescriptionsMap ["molecule"] = "Parse files into system";47 MenuDescriptionsMap ["parser"] = "Edit molecules (load, parse, save)";48 MenuDescriptionsMap ["selection"] = "Select atoms/molecules";49 MenuDescriptionsMap ["tesselation"] = "Tesselate molecules";50 MenuDescriptionsMap ["tools"] = "Various tools";51 MenuDescriptionsMap ["world"] = "Edit world";60 MenuDescriptionsMap->insert(std::make_pair("analysis","Analysis (pair correlation, volume)")); 61 MenuDescriptionsMap->insert(std::make_pair("atom","Edit atoms")); 62 MenuDescriptionsMap->insert(std::make_pair("command","Configuration")); 63 MenuDescriptionsMap->insert(std::make_pair("edit","Edit")); 64 MenuDescriptionsMap->insert(std::make_pair("fragmentation","Fragmentation")); 65 MenuDescriptionsMap->insert(std::make_pair("molecule","Parse files into system")); 66 MenuDescriptionsMap->insert(std::make_pair("parser","Edit molecules (load, parse, save)")); 67 MenuDescriptionsMap->insert(std::make_pair("selection","Select atoms/molecules")); 68 MenuDescriptionsMap->insert(std::make_pair("tesselation","Tesselate molecules")); 69 MenuDescriptionsMap->insert(std::make_pair("tools","Various tools")); 70 MenuDescriptionsMap->insert(std::make_pair("world","Edit world")); 52 71 53 72 // put menu name into each menu category 54 MenuNameMap ["analysis"] = "Analysis";55 MenuNameMap ["atom"] = "Atoms";56 MenuNameMap ["command"] = "Configuration";57 MenuNameMap ["edit"] = "Edit";58 MenuNameMap ["fragmentation"] = "Fragmentation";59 MenuNameMap ["molecule"] = "Molecules";60 MenuNameMap ["parser"] = "Input/Output";61 MenuNameMap ["selection"] = "Selection";62 MenuNameMap ["tesselation"] = "Tesselation";63 MenuNameMap ["tools"] = "Tools";64 MenuNameMap ["world"] = "Globals";73 MenuNameMap->insert(std::make_pair("analysis","Analysis")); 74 MenuNameMap->insert(std::make_pair("atom","Atoms")); 75 MenuNameMap->insert(std::make_pair("command","Configuration")); 76 MenuNameMap->insert(std::make_pair("edit","Edit")); 77 MenuNameMap->insert(std::make_pair("fragmentation","Fragmentation")); 78 MenuNameMap->insert(std::make_pair("molecule","Molecules")); 79 MenuNameMap->insert(std::make_pair("parser","Input/Output")); 80 MenuNameMap->insert(std::make_pair("selection","Selection")); 81 MenuNameMap->insert(std::make_pair("tesselation","Tesselation")); 82 MenuNameMap->insert(std::make_pair("tools","Tools")); 83 MenuNameMap->insert(std::make_pair("world","Globals")); 65 84 } 66 85 … … 69 88 */ 70 89 MenuDescription::~MenuDescription() 71 {} 90 { 91 std::cout << "MenuDescription: clearing maps ... " << std::endl; 92 for (IterableMap::iterator iter = MenuPositionMap->begin(); !MenuPositionMap->empty(); iter = MenuPositionMap->begin()) 93 MenuPositionMap->erase(iter); 94 delete MenuNameMap; 95 delete MenuDescriptionsMap; 96 delete MenuPositionMap; 97 } 72 98 73 99 /** Getter for MenuDescriptionsMap. … … 77 103 const std::string MenuDescription::getDescription(const std::string &token) const 78 104 { 79 if (MenuDescriptionsMap .find(token) != MenuDescriptionsMap.end())80 return MenuDescriptionsMap .find(token)->second;105 if (MenuDescriptionsMap->find(token) != MenuDescriptionsMap->end()) 106 return MenuDescriptionsMap->find(token)->second; 81 107 else 82 108 return std::string(); 83 109 } 84 110 85 /** Getter for MenuNameMap .111 /** Getter for MenuNameMap-> 86 112 * \param token name of menu 87 113 * \return description string of the menu or empty … … 89 115 const std::string MenuDescription::getName(const std::string &token) const 90 116 { 91 if (MenuNameMap .find(token) != MenuNameMap.end())92 return MenuNameMap .find(token)->second;117 if (MenuNameMap->find(token) != MenuNameMap->end()) 118 return MenuNameMap->find(token)->second; 93 119 else 94 120 return std::string(); 95 121 } 96 122 97 / ** Constructs a multimap of all menus running over all actions belonging to it.98 * \return multimap with which actions belongs to which menu.99 */100 std::multimap <std::string, std::string> MenuDescription::getMenuItemsMap() const101 {102 std::multimap <std::string, std::string> result;103 104 ActionRegistry &AR = ActionRegistry::getInstance();105 for (ActionRegistry::const_iterator iter = AR.getBeginIter();iter != AR.getEndIter();++iter) {106 std::cout << "Inserting " << (iter->second)->getName() << " into menu " << (iter->second)->Traits.getMenuName() << std::endl;107 result.insert( std::pair<std::string, std::string> ((iter->second)->Traits.getMenuName(), (iter->second)->getName()));108 }109 // TODO: MenuPosition is not yet realized.110 return result;111 }123 ///** Constructs a multimap of all menus running over all actions belonging to it. 124 // * \return multimap with which actions belongs to which menu. 125 // */ 126 //std::multimap <std::string, std::string> MenuDescription::getMenuItemsMap() const 127 //{ 128 // std::multimap <std::string, std::string> result; 129 // 130 // ActionRegistry &AR = ActionRegistry::getInstance(); 131 // for (ActionRegistry::const_iterator iter = AR.getBeginIter();iter != AR.getEndIter();++iter) { 132 // std::cout << "Inserting " << (iter->second)->getName() << " into menu " << (iter->second)->Traits.getMenuName() << std::endl; 133 // result.insert( std::pair<std::string, std::string> ((iter->second)->Traits.getMenuName(), (iter->second)->getName())); 134 // } 135 // // TODO: MenuPosition is not yet realized. 136 // return result; 137 //} 112 138 113 139 /** Forward iterator from beginning of list of descriptions. … … 116 142 MenuDescription::iterator MenuDescription::getBeginIter() 117 143 { 118 return MenuPositionMap .begin();144 return MenuPositionMap->begin(); 119 145 } 120 146 … … 124 150 MenuDescription::iterator MenuDescription::getEndIter() 125 151 { 126 return MenuPositionMap .end();152 return MenuPositionMap->end(); 127 153 } 128 154 … … 132 158 MenuDescription::const_iterator MenuDescription::getBeginIter() const 133 159 { 134 return MenuPositionMap .begin();160 return MenuPositionMap->begin(); 135 161 } 136 162 … … 140 166 MenuDescription::const_iterator MenuDescription::getEndIter() const 141 167 { 142 return MenuPositionMap .end();168 return MenuPositionMap->end(); 143 169 } 144 170 145 171 CONSTRUCT_SINGLETON(MenuDescription)
Note:
See TracChangeset
for help on using the changeset viewer.
