Ignore:
Timestamp:
Aug 28, 2010, 12:52:58 AM (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:
b4fa106
Parents:
0b2ce9
git-author:
Frederik Heber <heber@…> (08/25/10 17:20:37)
git-committer:
Frederik Heber <heber@…> (08/28/10 00:52:58)
Message:

Extended macro framework.

Extensions:

  • all central definitions reside in .def files
    • This if file is necessary because we need the definitions at two places: hpp and cpp
    • And as we always use the same define names, we have to undefine them at the end of both (otherwise we get compiler warnings and are prone to dumb mistakes of forgotten defines seeming present)
  • the .hpp is just a very tiny header, that should be possible to batch- construct inside Makefile as well
  • .cpp includes some Action_...hpp files and implements the function

For later (i.e. when ActionRegistry becomes prototype copier)

  • instead of waiting for clone(), for now we simply call the prototype.
  • in the action command we must not yet prefix paramreferences with "params."

Changes:

  • Dialog::query<> is a template which is specialized for every present query...() function. We need it to automatize fillDialog()
  • all AnalysisAction's are now converted, i.e. framework is functional with parameters and queries (MolecularVolume had none).
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/QT4/QTDialog.cpp

    r0b2ce9 r9ee38b  
    9898/************************** Query Infrastructure ************************/
    9999
    100 void QTDialog::queryEmpty(char const*, string){
     100void QTDialog::queryEmpty(const char*, std::string){
    101101  // TODO
    102102  ASSERT(false, "Not implemented yet");
    103103}
    104104
    105 void QTDialog::queryBoolean(char const*,string){
     105void QTDialog::queryBoolean(const char*,string){
    106106  // TODO
    107107  ASSERT(false, "Not implemented yet");
    108108}
    109109
    110 void QTDialog::queryAtom(char const*, string){
     110void QTDialog::queryAtom(const char*, std::string){
    111111  // TODO
    112112  ASSERT(false, "Not implemented yet");
    113113}
    114114
    115 void QTDialog::queryAtoms(char const*, string){
     115void QTDialog::queryAtoms(const char*, std::string){
    116116  // TODO
    117117  ASSERT(false, "Not implemented yet");
    118118}
    119119
    120 void QTDialog::queryBox(char const*, string){
     120void QTDialog::queryBox(const char*, std::string){
    121121  // TODO
    122122  ASSERT(false, "Not implemented yet");
     
    172172}
    173173
    174 void QTDialog::queryElement(const char* title, string){
     174void QTDialog::queryElement(const char* title, std::string){
    175175  registerQuery(new ElementQTQuery(title,inputLayout,this));
    176176}
    177177
    178 void QTDialog::queryElements(const char* title, string){
     178void QTDialog::queryElements(const char* title, std::string){
    179179  // TODO
    180180  ASSERT(false, "Not implemented yet");
     
    353353}
    354354
    355 // All values besides the empty string are valid
     355// All values besides the empty std::string are valid
    356356bool QTDialog::StringQTQuery::handle()
    357357{
     
    400400}
    401401
    402 // All values besides the empty string are valid
     402// All values besides the empty std::string are valid
    403403bool QTDialog::StringsQTQuery::handle()
    404404{
    405405  // dissect by ","
    406   string::iterator olditer = temp.begin();
     406  std::string::iterator olditer = temp.begin();
    407407  for(string::iterator iter = temp.begin(); iter != temp.end(); ++iter) {
    408408    if (*iter == ' ') {
     
    429429      iter != molecules.end();
    430430      ++iter) {
    431     stringstream sstr;
     431    std::stringstream sstr;
    432432    sstr << (*iter)->IndexNr << "\t" << (*iter)->getName();
    433433    inputBox->addItem(QString(sstr.str().c_str()),QVariant((*iter)->IndexNr));
     
    465465      iter != molecules.end();
    466466      ++iter) {
    467     stringstream sstr;
     467    std::stringstream sstr;
    468468    sstr << (*iter)->IndexNr << "\t" << (*iter)->getName();
    469469    inputBox->addItem(QString(sstr.str().c_str()),QVariant((*iter)->IndexNr));
     
    565565      ++iter)
    566566  {
    567     stringstream sstr;
     567    std::stringstream sstr;
    568568    sstr << (*iter).first << "\t" << (*iter).second->getName();
    569569    inputBox->addItem(QString(sstr.str().c_str()),QVariant((*iter).first));
     
    600600      ++iter)
    601601  {
    602     stringstream sstr;
     602    std::stringstream sstr;
    603603    sstr << (*iter).first << "\t" << (*iter).second->getName();
    604604    inputBox->addItem(QString(sstr.str().c_str()),QVariant((*iter).first));
Note: See TracChangeset for help on using the changeset viewer.