Changeset 5a7243


Ignore:
Timestamp:
Feb 25, 2010, 1:01:36 PM (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:
a28a83, cbf01e
Parents:
957c42
Message:

Added a method to query Elements using the Dialog structure

Files:
6 edited

Legend:

Unmodified
Added
Removed
  • doc/Doxyfile

    r957c42 r5a7243  
    127127#---------------------------------------------------------------------------
    128128SOURCE_BROWSER         = YES
    129 INLINE_SOURCES         = NO
    130 STRIP_CODE_COMMENTS    = YES
     129INLINE_SOURCES         = YES
     130STRIP_CODE_COMMENTS    = NO
    131131REFERENCED_BY_RELATION = NO
    132132REFERENCES_RELATION    = NO
  • src/UIElements/Dialog.cpp

    r957c42 r5a7243  
    129129  *target = *tmp;
    130130}
     131
     132// Element Queries
     133Dialog::ElementQuery::ElementQuery(std::string title, element **_target) :
     134  Query(title),
     135  target(_target),
     136  tmp(0)
     137  {}
     138
     139Dialog::ElementQuery::~ElementQuery(){}
     140
     141void Dialog::ElementQuery::setResult(){
     142  *target=tmp;
     143}
  • src/UIElements/Dialog.hpp

    r957c42 r5a7243  
    1515class molecule;
    1616class Vector;
     17class element;
    1718
    1819class Dialog
     
    2728  virtual void queryMolecule(const char*,molecule**,MoleculeListClass*)=0;
    2829  virtual void queryVector(const char*,Vector *,const double *const,bool)=0;
     30  virtual void queryElement(const char*,element **)=0;
    2931
    3032  virtual bool display();
     
    4547  public:
    4648    Query(std::string _title);
    47     ~Query();
     49    virtual ~Query();
    4850    virtual bool handle()=0;
    4951    virtual void setResult()=0;
     
    5860  public:
    5961    IntQuery(std::string title,int *_target);
    60     ~IntQuery();
     62    virtual ~IntQuery();
    6163    virtual bool handle()=0;
    6264    virtual void setResult();
     
    7072  public:
    7173    DoubleQuery(std::string title,double *_target);
    72     ~DoubleQuery();
     74    virtual ~DoubleQuery();
    7375    virtual bool handle()=0;
    7476    virtual void setResult();
     
    8284  public:
    8385    StringQuery(std::string title,std::string *_target);
    84     ~StringQuery();
     86    virtual ~StringQuery();
    8587    virtual bool handle()=0;
    8688    virtual void setResult();
     
    9597  public:
    9698    MoleculeQuery(std::string title, molecule **_target, MoleculeListClass *_molecules);
    97     ~MoleculeQuery();
     99    virtual ~MoleculeQuery();
    98100    virtual bool handle()=0;
    99101    virtual void setResult();
     
    108110  public:
    109111      VectorQuery(std::string title,Vector *_target,const double *const _cellSize,bool _check);
    110       ~VectorQuery();
     112      virtual ~VectorQuery();
    111113      virtual bool handle()=0;
    112114      virtual void setResult();
     
    119121  };
    120122
     123  class ElementQuery : public Query {
     124  public:
     125    ElementQuery(std::string title, element**_target);
     126    virtual ~ElementQuery();
     127    virtual bool handle()=0;
     128    virtual void setResult();
     129  protected:
     130    element *tmp;
     131  private:
     132    element **target;
     133  };
     134
    121135void registerQuery(Query* query);
    122136
  • src/UIElements/TextDialog.cpp

    r957c42 r5a7243  
    1010#include "UIElements/TextDialog.hpp"
    1111
     12#include "World.hpp"
     13#include "periodentafel.hpp"
    1214#include "atom.hpp"
    1315#include "molecule.hpp"
     
    4547void TextDialog::queryVector(const char* title, Vector *target,const double *const cellSize, bool check) {
    4648  registerQuery(new VectorTextQuery(title,target,cellSize,check));
     49}
     50
     51void TextDialog::queryElement(const char* title, element **target){
     52  registerQuery(new ElementTextQuery(title,target));
    4753}
    4854
     
    113119
    114120bool TextDialog::VectorTextQuery::handle() {
     121 Log() << Verbose(0) << getTitle();
    115122 tmp->AskPosition(cellSize,check);
     123 return true;
    116124}
     125
     126
     127TextDialog::ElementTextQuery::ElementTextQuery(std::string title, element **target) :
     128    Dialog::ElementQuery(title,target)
     129{}
     130
     131TextDialog::ElementTextQuery::~ElementTextQuery()
     132{}
     133
     134bool TextDialog::ElementTextQuery::handle() {
     135  int Z;
     136  Log() << Verbose(0) << getTitle();
     137  cin >> Z;
     138  tmp = World::get()->getPeriode()->FindElement(Z);
     139  return tmp;
     140}
  • src/UIElements/TextDialog.hpp

    r957c42 r5a7243  
    2424  virtual void queryMolecule(const char*,molecule**,MoleculeListClass*);
    2525  virtual void queryVector(const char*,Vector *,const double * const,bool);
     26  virtual void queryElement(const char*,element **);
    2627
    2728protected:
     
    3031  public:
    3132    IntTextQuery(std::string title, int *_target);
    32     ~IntTextQuery();
     33    virtual ~IntTextQuery();
    3334    virtual bool handle();
    3435  };
     
    3738  public:
    3839    DoubleTextQuery(std::string title, double *_target);
    39     ~DoubleTextQuery();
     40    virtual ~DoubleTextQuery();
    4041    virtual bool handle();
    4142  };
     
    4445  public:
    4546    StringTextQuery(std::string title, std::string *_target);
    46     ~StringTextQuery();
     47    virtual ~StringTextQuery();
    4748    virtual bool handle();
    4849  };
     
    5152  public:
    5253    MoleculeTextQuery(std::string title, molecule **_target, MoleculeListClass *_molecules);
    53     ~MoleculeTextQuery();
     54    virtual ~MoleculeTextQuery();
    5455    virtual bool handle();
    5556  };
     
    5859  public:
    5960    VectorTextQuery(std::string title,Vector *_target,const double *const _cellSize,bool _check);
    60     ~VectorTextQuery();
     61    virtual ~VectorTextQuery();
     62    virtual bool handle();
     63  };
     64
     65  class ElementTextQuery : public Dialog::ElementQuery {
     66  public:
     67    ElementTextQuery(std::string title, element **_target);
     68    virtual ~ElementTextQuery();
    6169    virtual bool handle();
    6270  };
  • src/unittests/Makefile.am

    r957c42 r5a7243  
    3030  CacheableTest \
    3131  DescriptorUnittest \
    32   manipulateAtomsTest \ 
     32  manipulateAtomsTest \
    3333  atomsCalculationTest \
    3434  ${MENUTESTS}
Note: See TracChangeset for help on using the changeset viewer.