Ignore:
Timestamp:
Jul 2, 2010, 1:05:08 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:
4a611e
Parents:
edb454
Message:

New StringsQuery that returns space-separated vector of strings.

Signed-off-by: Frederik Heber <heber@…>

Location:
src/UIElements/CommandLineUI
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/CommandLineUI/CommandLineDialog.cpp

    redb454 rcd8e55  
    6565}
    6666
     67void CommandLineDialog::queryStrings(const char* title, vector<string> * target, string _description){
     68  registerQuery(new StringsCommandLineQuery(title,target, _description));
     69}
     70
    6771void CommandLineDialog::queryAtom(const char* title, atom **target, string _description) {
    6872  registerQuery(new AtomCommandLineQuery(title,target, _description));
     
    139143  if (CommandLineParser::getInstance().vm.count(getTitle())) {
    140144    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
     152CommandLineDialog::StringsCommandLineQuery::StringsCommandLineQuery(string title,vector<string> *_target, string _description) :
     153    Dialog::StringsQuery(title,_target, _description)
     154{}
     155
     156CommandLineDialog::StringsCommandLineQuery::~StringsCommandLineQuery() {}
     157
     158bool 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()));
    141171    return true;
    142172  } else {
  • src/UIElements/CommandLineUI/CommandLineDialog.hpp

    redb454 rcd8e55  
    3131  virtual void queryBoolean(const char *, bool *, std::string = "");
    3232  virtual void queryString(const char*, std::string *, std::string = "");
     33  virtual void queryStrings(const char*, std::vector<std::string> *, std::string = "");
    3334  virtual void queryDouble(const char*, double*, std::string = "");
    3435  virtual void queryAtom(const char*,atom**, std::string = "");
     
    7576  };
    7677
     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
    7785  class AtomCommandLineQuery : public Dialog::AtomQuery {
    7886  public:
Note: See TracChangeset for help on using the changeset viewer.