Changeset cd8e55
- Timestamp:
- Jul 2, 2010, 1:05:08 PM (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, 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:
- 4a611e
- Parents:
- edb454
- Location:
- src
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/MapOfActions.cpp
redb454 rcd8e55 198 198 ShortFormMap["linear-interpolate"] = "L"; 199 199 ShortFormMap["nonconvex-envelope"] = "N"; 200 // ShortFormMap["output"] = "o"; 200 201 ShortFormMap["pair-correlation"] = "C"; 201 202 ShortFormMap["parse-xyz"] = "p"; … … 236 237 TypeMap["molecular-volume"] = Molecule; 237 238 TypeMap["nonconvex-envelope"] = Molecule; 238 TypeMap["output"] = String;239 TypeMap["output"] = ListOfString; 239 240 TypeMap["parse-xyz"] = String; 240 241 TypeMap["pair-correlation"] = String; … … 559 560 ; 560 561 break; 562 case ListOfString: 563 ListRunner->second->add_options() 564 (getKeyAndShortForm(*OptionRunner).c_str(), 565 po::value< vector<std::string> >()->multitoken(), 566 getDescription(*OptionRunner).c_str()) 567 ; 568 break; 561 569 case Axis: 562 570 ListRunner->second->add_options() -
src/Actions/MapOfActions.hpp
redb454 rcd8e55 123 123 friend class MapOfActionsTest; 124 124 public: 125 enum OptionTypes { None, Boolean, Integer, ListOfInts, Double, ListOfDoubles, String, Axis, Vector, Box, Molecule, ListOfMolecules, Atom, ListOfAtoms, Element, ListOfElements };125 enum OptionTypes { None, Boolean, Integer, ListOfInts, Double, ListOfDoubles, String, ListOfString, Axis, Vector, Box, Molecule, ListOfMolecules, Atom, ListOfAtoms, Element, ListOfElements }; 126 126 127 127 // getter for the action descriptions and short forms -
src/UIElements/CommandLineUI/CommandLineDialog.cpp
redb454 rcd8e55 65 65 } 66 66 67 void CommandLineDialog::queryStrings(const char* title, vector<string> * target, string _description){ 68 registerQuery(new StringsCommandLineQuery(title,target, _description)); 69 } 70 67 71 void CommandLineDialog::queryAtom(const char* title, atom **target, string _description) { 68 72 registerQuery(new AtomCommandLineQuery(title,target, _description)); … … 139 143 if (CommandLineParser::getInstance().vm.count(getTitle())) { 140 144 tmp = CommandLineParser::getInstance().vm[getTitle()].as<string>(); 145 return true; 146 } else { 147 DoeLog(1) && (eLog() << Verbose(1) << "CommandLineUI parsing error: Missing string for " << getTitle() << "." << endl); 148 return false; 149 } 150 } 151 152 CommandLineDialog::StringsCommandLineQuery::StringsCommandLineQuery(string title,vector<string> *_target, string _description) : 153 Dialog::StringsQuery(title,_target, _description) 154 {} 155 156 CommandLineDialog::StringsCommandLineQuery::~StringsCommandLineQuery() {} 157 158 bool CommandLineDialog::StringsCommandLineQuery::handle() { 159 if (CommandLineParser::getInstance().vm.count(getTitle())) { 160 temp = CommandLineParser::getInstance().vm[getTitle()].as<string>(); 161 // dissect by "," 162 string::iterator olditer = temp.begin(); 163 for(string::iterator iter = temp.begin(); iter != temp.end(); ++iter) { 164 if (*iter == ' ') { 165 tmp.push_back(string(iter, olditer)); 166 olditer = iter; 167 } 168 } 169 if (olditer != temp.begin()) // insert last part also 170 tmp.push_back(string(olditer, temp.end())); 141 171 return true; 142 172 } else { -
src/UIElements/CommandLineUI/CommandLineDialog.hpp
redb454 rcd8e55 31 31 virtual void queryBoolean(const char *, bool *, std::string = ""); 32 32 virtual void queryString(const char*, std::string *, std::string = ""); 33 virtual void queryStrings(const char*, std::vector<std::string> *, std::string = ""); 33 34 virtual void queryDouble(const char*, double*, std::string = ""); 34 35 virtual void queryAtom(const char*,atom**, std::string = ""); … … 75 76 }; 76 77 78 class StringsCommandLineQuery : public Dialog::StringsQuery { 79 public: 80 StringsCommandLineQuery(std::string title, std::vector<std::string> *_target, std::string _description = ""); 81 virtual ~StringsCommandLineQuery(); 82 virtual bool handle(); 83 }; 84 77 85 class AtomCommandLineQuery : public Dialog::AtomQuery { 78 86 public: -
src/UIElements/Dialog.cpp
redb454 rcd8e55 128 128 } 129 129 130 // Strings Queries 131 132 Dialog::StringsQuery::StringsQuery(string title,vector<string> *_target, std::string _description) : 133 Query(title, _description), target(_target) 134 {} 135 136 Dialog::StringsQuery::~StringsQuery() {}; 137 138 void Dialog::StringsQuery::setResult() { 139 *target = tmp; 140 } 141 130 142 // Double Queries 131 143 -
src/UIElements/Dialog.hpp
redb454 rcd8e55 40 40 virtual void queryDouble(const char*,double *, std::string = "")=0; 41 41 virtual void queryString(const char*, std::string *, std::string = "")=0; 42 virtual void queryStrings(const char*, std::vector<std::string> *, std::string = "")=0; 42 43 virtual void queryAtom(const char*,atom**,std::string = "")=0; 43 44 virtual void queryMolecule(const char*,molecule**, std::string = "")=0; … … 134 135 private: 135 136 std::string *target; 137 }; 138 139 class StringsQuery : public Query { 140 public: 141 StringsQuery(std::string title,std::vector<std::string> *_target, std::string _description = ""); 142 virtual ~StringsQuery(); 143 virtual bool handle()=0; 144 virtual void setResult(); 145 protected: 146 std::string temp; 147 std::vector<std::string> tmp; 148 private: 149 std::vector<std::string> *target; 136 150 }; 137 151 -
src/UIElements/QT4/QTDialog.cpp
redb454 rcd8e55 113 113 } 114 114 115 void QTDialog::queryStrings(const char* title, std::vector<std::string> *target,string) 116 { 117 registerQuery(new StringsQTQuery(title,target,inputLayout,this)); 118 } 119 115 120 void QTDialog::queryMolecule(const char *title,molecule **target,string) 116 121 { … … 210 215 { 211 216 return tmp!=""; 217 } 218 219 QTDialog::StringsQTQuery::StringsQTQuery(string _title,vector<string> *_target,QBoxLayout *_parent,QTDialog *_dialog) : 220 Dialog::StringsQuery(_title,_target), 221 parent(_parent) 222 { 223 thisLayout = new QHBoxLayout(); 224 titleLabel = new QLabel(QString(getTitle().c_str())); 225 inputBox = new QLineEdit(); 226 parent->addLayout(thisLayout); 227 thisLayout->addWidget(titleLabel); 228 thisLayout->addWidget(inputBox); 229 230 pipe = new StringQTQueryPipe(&temp,_dialog); 231 pipe->update(inputBox->text()); 232 connect(inputBox,SIGNAL(textChanged(const QString&)),pipe,SLOT(update(const QString&))); 233 } 234 235 QTDialog::StringsQTQuery::~StringsQTQuery() 236 { 237 delete pipe; 238 } 239 240 // All values besides the empty string are valid 241 bool QTDialog::StringsQTQuery::handle() 242 { 243 // dissect by "," 244 string::iterator olditer = temp.begin(); 245 for(string::iterator iter = temp.begin(); iter != temp.end(); ++iter) { 246 if (*iter == ' ') { 247 tmp.push_back(string(iter, olditer)); 248 olditer = iter; 249 } 250 } 251 if (olditer != temp.begin()) // insert last part also 252 tmp.push_back(string(olditer, temp.end())); 253 254 return temp!=""; 212 255 } 213 256 -
src/UIElements/QT4/QTDialog.hpp
redb454 rcd8e55 40 40 virtual void queryDouble(const char*,double *,std::string = ""); 41 41 virtual void queryString(const char*, std::string *,std::string = ""); 42 virtual void queryStrings(const char*, std::vector<std::string> *,std::string = ""); 42 43 virtual void queryAtom(const char*,atom**,std::string = ""); 43 44 virtual void queryMolecule(const char*,molecule**,std::string = ""); … … 93 94 }; 94 95 96 class StringsQTQuery : public Dialog::StringsQuery { 97 public: 98 StringsQTQuery(std::string _title, std::vector<std::string> *_target, QBoxLayout *_parent,QTDialog *_dialog); 99 virtual ~StringsQTQuery(); 100 virtual bool handle(); 101 private: 102 QBoxLayout *parent; 103 QBoxLayout *thisLayout; 104 QLabel *titleLabel; 105 QLineEdit *inputBox; 106 107 StringQTQueryPipe *pipe; 108 }; 109 95 110 class MoleculeQTQuery : public Dialog::MoleculeQuery { 96 111 public: -
src/UIElements/TextUI/TextDialog.cpp
redb454 rcd8e55 56 56 void TextDialog::queryString(const char* title, string* target, string description){ 57 57 registerQuery(new StringTextQuery(title,target,description)); 58 } 59 60 void TextDialog::queryStrings(const char* title, vector<string>* target, string description){ 61 registerQuery(new StringsTextQuery(title,target,description)); 58 62 } 59 63 … … 153 157 Log() << Verbose(0) << getTitle(); 154 158 getline(cin,tmp); 159 return true; 160 } 161 162 TextDialog::StringsTextQuery::StringsTextQuery(string title,vector<string> *_target, std::string _description) : 163 Dialog::StringsQuery(title,_target,_description) 164 {} 165 166 TextDialog::StringsTextQuery::~StringsTextQuery() {} 167 168 bool TextDialog::StringsTextQuery::handle() { 169 Log() << Verbose(0) << getTitle(); 170 getline(cin,temp); 171 // dissect by "," 172 string::iterator olditer = temp.begin(); 173 for(string::iterator iter = temp.begin(); iter != temp.end(); ++iter) { 174 if (*iter == ' ') { 175 tmp.push_back(string(iter, olditer)); 176 olditer = iter; 177 } 178 } 179 if (olditer != temp.begin()) // insert last part also 180 tmp.push_back(string(olditer, temp.end())); 181 155 182 return true; 156 183 } -
src/UIElements/TextUI/TextDialog.hpp
redb454 rcd8e55 28 28 virtual void queryInt(const char *, int *, std::string = ""); 29 29 virtual void queryString(const char*, std::string *, std::string = ""); 30 virtual void queryStrings(const char*, std::vector<std::string> *, std::string = ""); 30 31 virtual void queryDouble(const char*, double*, std::string = ""); 31 32 virtual void queryAtom(const char*,atom**,std::string = ""); … … 72 73 }; 73 74 75 class StringsTextQuery : public Dialog::StringsQuery { 76 public: 77 StringsTextQuery(std::string title, std::vector<std::string> *_target, std::string _description = NULL); 78 virtual ~StringsTextQuery(); 79 virtual bool handle(); 80 }; 81 74 82 class AtomTextQuery : public Dialog::AtomQuery { 75 83 public:
Note:
See TracChangeset
for help on using the changeset viewer.