Changeset b65879 for src/UIElements
- Timestamp:
- Apr 18, 2016, 10:33:41 PM (9 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:
- 743eab
- Parents:
- 55443e
- git-author:
- Frederik Heber <heber@…> (03/21/16 19:44:17)
- git-committer:
- Frederik Heber <heber@…> (04/18/16 22:33:41)
- Location:
- src/UIElements/Views/Qt4/MoleculeList
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
src/UIElements/Views/Qt4/MoleculeList/QtMoleculeItem.cpp
r55443e rb65879 39 39 #include "CodePatterns/MemDebug.hpp" 40 40 41 QtMoleculeItem::QtMoleculeItem( 42 QtObservedMolecule::ptr &_ObservedMolecule) : 43 ObservedMolecule(_ObservedMolecule), 44 dirty(true) 41 QtMoleculeItem::QtMoleculeItem() 45 42 { 46 43 setFlags(flags() | Qt::ItemIsSelectable); … … 50 47 { 51 48 } 52 53 void QtMoleculeItem::updateState()54 {55 if (dirty) {56 internal_updateState();57 dirty = false;58 }59 } -
src/UIElements/Views/Qt4/MoleculeList/QtMoleculeItem.hpp
r55443e rb65879 41 41 enum COLUMNTYPES {NAME,VISIBILITY,ATOMCOUNT,FORMULA,OCCURRENCE,COLUMNTYPES_MAX}; 42 42 43 QtMoleculeItem( 44 QtObservedMolecule::ptr &_ObservedMolecule); 43 QtMoleculeItem(); 45 44 virtual ~QtMoleculeItem(); 46 45 47 46 /** Update the state of this item. 48 47 * 48 * \param _ObservedMolecule object to update state from 49 49 */ 50 v oid updateState();50 virtual void updateState(const QtObservedMolecule::ptr &_ObservedMolecule) = 0; 51 51 52 52 /** Returns the type of this QtMoleculeItem, i.e. the column in QtMoleculeList. … … 56 56 virtual QtMoleculeItem::COLUMNTYPES getType() const = 0; 57 57 58 /** Getter to the observed molecule in this item.59 *60 * \return const ref to ObservedMolecule for this item61 */62 const QtObservedMolecule::ptr& getMolecule() const63 { return ObservedMolecule; }64 65 58 /** Getter for the id of the observed molecule for this item. 66 59 * 67 60 * \return id of the observed molecule 68 61 */ 69 const moleculeId_t getMoleculeId() const 70 { return ObservedMolecule->getMolIndex(); } 71 72 protected: 73 /** This function needs to be implemented to make the specific update. 74 * 75 */ 76 virtual void internal_updateState() = 0; 77 78 //!> ptr to ObservedMolecule we follow 79 const QtObservedMolecule::ptr ObservedMolecule; 80 81 private: 82 //!> states that this item needs to be updated 83 bool dirty; 62 virtual const moleculeId_t getMoleculeId() const 63 { return -1; } 84 64 }; 85 65 -
src/UIElements/Views/Qt4/MoleculeList/QtMoleculeList.cpp
r55443e rb65879 513 513 AQ.queueAction("change-single-molecule-name", MoleCuilder::Action::NonInteractive); 514 514 } else { 515 assert_cast<QtMoleculeItem *>(item)->updateState(); 515 board->getObservedMolecule( 516 assert_cast<QtMoleculeItem *>(item)->getMoleculeId()); 516 517 } 517 518 } … … 587 588 if (old_formula != new_formula) { 588 589 QtMoleculeItem *const molitem = MoleculeIdToItem(molid); 590 // update items 591 getSpecificMoleculeItem(molitem, QtMoleculeItem::FORMULA)->updateState(_mol); 592 getSpecificMoleculeItem(molitem, QtMoleculeItem::ATOMCOUNT)->updateState(_mol); 589 593 LOG(3, "DEBUG: Moving item " << molitem); 590 594 // remove from formula<->molecule bimap with old formula … … 610 614 void QtMoleculeList::nameChanged(const QtObservedMolecule::ptr _mol) 611 615 { 616 // we need the id as identifier to the items 617 const moleculeId_t molid = _mol->getMolIndex(); 612 618 // nothing to do, item updates itself 613 LOG(3, "DEBUG: QtMoleculeList got nameChangd for id " << _mol->getMolIndex()); 614 } 619 LOG(3, "DEBUG: QtMoleculeList got nameChangd for id " << molid); 620 QtMoleculeItem *const molitem = MoleculeIdToItem(molid); 621 // update items 622 getSpecificMoleculeItem(molitem, QtMoleculeItem::NAME)->updateState(_mol); 623 } -
src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_atomcount.hpp
r55443e rb65879 27 27 28 28 QtMoleculeItem_atomcount( 29 QtObservedMolecule::ptr &_ObservedMolecule) : 30 QtMoleculeItem(_ObservedMolecule) 29 QtObservedMolecule::ptr &_ObservedMolecule) 31 30 { 32 31 // cannot call pure virtual function in QtMoleculeItem's cstor 33 internal_updateState();32 updateState(_ObservedMolecule); 34 33 } 35 34 36 35 /** Performs the update of the molecule's atomcount. 37 36 * 37 * \param _ObservedMolecule object to update state from 38 38 */ 39 void internal_updateState()39 void updateState(const QtObservedMolecule::ptr &_ObservedMolecule) 40 40 { 41 setText(QString::number( ObservedMolecule->getAtomCount()));41 setText(QString::number(_ObservedMolecule->getAtomCount())); 42 42 } 43 43 -
src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_formula.hpp
r55443e rb65879 29 29 30 30 QtMoleculeItem_formula( 31 QtObservedMolecule::ptr &_ObservedMolecule) : 32 QtMoleculeItem(_ObservedMolecule) 31 QtObservedMolecule::ptr &_ObservedMolecule) 33 32 { 34 33 // cannot call pure virtual function in QtMoleculeItem's cstor 35 internal_updateState();34 updateState(_ObservedMolecule); 36 35 } 37 36 38 37 /** Performs the update of the molecule's formula. 39 38 * 39 * \param _ObservedMolecule object to update state from 40 40 */ 41 void internal_updateState()41 void updateState(const QtObservedMolecule::ptr &_ObservedMolecule) 42 42 { 43 setText(QString( ObservedMolecule->getMolFormula().c_str()));43 setText(QString(_ObservedMolecule->getMolFormula().c_str())); 44 44 } 45 45 -
src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_name.hpp
r55443e rb65879 28 28 QtMoleculeItem_name( 29 29 QtObservedMolecule::ptr &_ObservedMolecule) : 30 QtMoleculeItem(_ObservedMolecule)30 id(_ObservedMolecule->getMolIndex()) 31 31 { 32 32 // cannot call pure virtual function in QtMoleculeItem's cstor 33 internal_updateState();33 updateState(_ObservedMolecule); 34 34 } 35 35 36 36 /** Performs the update of the molecule's name. 37 37 * 38 * \param _ObservedMolecule object to update state from 38 39 */ 39 void internal_updateState()40 void updateState(const QtObservedMolecule::ptr &_ObservedMolecule) 40 41 { 41 setText(QString( ObservedMolecule->getMolName().c_str()));42 setText(QString(_ObservedMolecule->getMolName().c_str())); 42 43 } 43 44 44 45 QtMoleculeItem::COLUMNTYPES getType() const 45 46 { return QtMoleculeItem::NAME; } 47 48 /** Getter for the id of the observed molecule for this item. 49 * 50 * \return id of the observed molecule 51 */ 52 const moleculeId_t getMoleculeId() const 53 { return id; } 54 55 private: 56 const moleculeId_t id; 46 57 }; 47 58 -
src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_occurrence.hpp
r55443e rb65879 27 27 28 28 QtMoleculeItem_occurrence( 29 QtObservedMolecule::ptr &_ObservedMolecule) : 30 QtMoleculeItem(_ObservedMolecule) 29 QtObservedMolecule::ptr &_ObservedMolecule) 31 30 { 32 31 // cannot call pure virtual function in QtMoleculeItem's cstor 33 internal_updateState();32 updateState(_ObservedMolecule); 34 33 } 35 34 36 35 /** Performs the update of the molecule's occurrence. 37 36 * 37 * \param _ObservedMolecule object to update state from 38 38 */ 39 void internal_updateState()39 void updateState(const QtObservedMolecule::ptr &_ObservedMolecule) 40 40 { 41 41 setText(QString("")); -
src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_visibility.hpp
r55443e rb65879 28 28 QtMoleculeItem_visibility( 29 29 QtObservedMolecule::ptr &_ObservedMolecule) : 30 QtMoleculeItem(_ObservedMolecule)30 id(_ObservedMolecule->getMolIndex()) 31 31 { 32 32 setFlags(flags() | Qt::ItemIsUserCheckable); 33 33 setCheckState(Qt::Unchecked); 34 34 // cannot call pure virtual function in QtMoleculeItem's cstor 35 internal_updateState();35 updateState(_ObservedMolecule); 36 36 } 37 37 38 38 /** Performs the update of the molecule's visibility. 39 39 * 40 * \param _ObservedMolecule object to update state from 40 41 */ 41 void internal_updateState()42 void updateState(const QtObservedMolecule::ptr &_ObservedMolecule) 42 43 {} 43 44 44 45 QtMoleculeItem::COLUMNTYPES getType() const 45 46 { return QtMoleculeItem::VISIBILITY; } 47 48 /** Getter for the id of the observed molecule for this item. 49 * 50 * \return id of the observed molecule 51 */ 52 const moleculeId_t getMoleculeId() const 53 { return id; } 54 55 private: 56 const moleculeId_t id; 46 57 }; 47 58
Note:
See TracChangeset
for help on using the changeset viewer.