Changeset 7aa000


Ignore:
Timestamp:
Jan 13, 2010, 11:05:02 AM (15 years ago)
Author:
Tillmann Crueger <crueger@…>
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:
29a4cc
Parents:
45f5d6
git-author:
Tillmann Crueger <crueger@…> (01/13/10 10:51:30)
git-committer:
Tillmann Crueger <crueger@…> (01/13/10 11:05:02)
Message:

Added infrastructure to query molecules from MoleculeList

Location:
src/UIElements
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Dialog.cpp

    r45f5d6 r7aa000  
    4646}
    4747
     48/****************** Query types Infrastructure **************************/
     49
     50// Base class
    4851Dialog::Query::Query(string _title) :
    4952    title(_title)
     
    5558  return title;
    5659}
     60
     61// Int Queries
    5762
    5863Dialog::IntQuery::IntQuery(string title,int *_target) :
     
    6671}
    6772
     73// String Queries
     74
    6875Dialog::StringQuery::StringQuery(string title,string *_target) :
    6976    Query(title), target(_target)
     
    7683}
    7784
     85// Molecule Queries
     86
     87Dialog::MoleculeQuery::MoleculeQuery(string title, molecule **_target, MoleculeListClass *_molecules) :
     88    Query(title),
     89    target(_target),
     90    molecules(_molecules),
     91    tmp(0)
     92{}
     93
     94Dialog::MoleculeQuery::~MoleculeQuery() {}
     95
     96void Dialog::MoleculeQuery::setResult() {
     97  *target = tmp;
     98}
  • src/UIElements/Dialog.hpp

    r45f5d6 r7aa000  
    1313
    1414class MoleculeListClass;
    15 class Molecule;
     15class molecule;
    1616
    1717class Dialog
     
    2323  virtual void queryInt(const char *, int *)=0;
    2424  virtual void queryString(const char*, std::string *)=0;
    25  // virtual void queryMolecule(const char*,MoleculeListClass*,Molecule*)=0;
     25  virtual void queryMolecule(const char*,molecule**,MoleculeListClass*)=0;
    2626
    2727  virtual bool display();
     
    7676  };
    7777
     78  class MoleculeQuery : public Query {
     79  public:
     80    MoleculeQuery(std::string title, molecule **_target, MoleculeListClass *_molecules);
     81    ~MoleculeQuery();
     82    virtual bool handle()=0;
     83    virtual void setResult();
     84  protected:
     85    molecule *tmp;
     86    MoleculeListClass *molecules;
     87  private:
     88    molecule **target;
     89  };
     90
    7891void registerQuery(Query* query);
    7992
  • src/UIElements/TextDialog.cpp

    r45f5d6 r7aa000  
    88#include <iostream>
    99
    10 #include "TextDialog.hpp"
     10#include "UIElements/TextDialog.hpp"
     11
     12#include "atom.hpp"
     13#include "molecule.hpp"
    1114#include "log.hpp"
    1215#include "verbose.hpp"
     
    2326}
    2427
     28
    2529void TextDialog::queryInt(const char* title, int* target){
    2630  registerQuery(new IntTextQuery(title,target));
     
    3135}
    3236
     37void TextDialog::queryMolecule(const char* title, molecule **target, MoleculeListClass *molecules) {
     38  registerQuery(new MoleculeTextQuery(title,target,molecules));
     39}
     40
     41/************************** Query Infrastructure ************************/
     42
    3343TextDialog::IntTextQuery::IntTextQuery(string title,int *_target) :
    3444    Dialog::IntQuery(title,_target)
     
    3848
    3949bool TextDialog::IntTextQuery::handle() {
    40   Log() << Verbose(0) << IntQuery::getTitle();
     50  Log() << Verbose(0) << getTitle();
    4151  cin >> tmp;
    4252  return true;
     
    5060
    5161bool TextDialog::StringTextQuery::handle() {
    52   Log() << Verbose(0) << StringQuery::getTitle();
     62  Log() << Verbose(0) << getTitle();
    5363  cin >> tmp;
    5464  return true;
    5565}
     66
     67TextDialog::MoleculeTextQuery::MoleculeTextQuery(string title, molecule **_target, MoleculeListClass *_molecules) :
     68    Dialog::MoleculeQuery(title,_target,_molecules)
     69{}
     70
     71TextDialog::MoleculeTextQuery::~MoleculeTextQuery() {}
     72
     73bool TextDialog::MoleculeTextQuery::handle() {
     74  int idxOfMol;
     75  Log() << Verbose(0) << getTitle();
     76  cin >> idxOfMol;
     77  tmp = molecules->ReturnIndex(idxOfMol);
     78  while(!tmp && (idxOfMol !=-1)) {
     79    Log() << Verbose(0) << "Invalid Molecule Index" << endl;
     80    Log() << Verbose(0) << getTitle();
     81    cin >> idxOfMol;
     82    tmp = molecules->ReturnIndex(idxOfMol);
     83  }
     84  return (idxOfMol!=-1);
     85}
  • src/UIElements/TextDialog.hpp

    r45f5d6 r7aa000  
    2121  virtual void queryInt(const char *, int *);
    2222  virtual void queryString(const char*, std::string *);
     23  virtual void queryMolecule(const char*,molecule**,MoleculeListClass*);
    2324
    2425protected:
     
    3738    virtual bool handle();
    3839  };
     40
     41  class MoleculeTextQuery : public Dialog::MoleculeQuery {
     42  public:
     43    MoleculeTextQuery(std::string title, molecule **_target, MoleculeListClass *_molecules);
     44    ~MoleculeTextQuery();
     45    virtual bool handle();
     46  };
    3947};
    4048
Note: See TracChangeset for help on using the changeset viewer.