Ignore:
Timestamp:
Aug 5, 2015, 5:32:10 PM (10 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:
e5a477
Parents:
b9680b
git-author:
Frederik Heber <heber@…> (07/19/15 06:30:51)
git-committer:
Frederik Heber <heber@…> (08/05/15 17:32:10)
Message:

QtMoleculeItem_.. now shout when they receive subjectKilled().

  • this way we do not have this double system of both QtMoleculeList (in a lazy fashion) and each QtMoleculeList listens for moleculeRemoved (one through the Observer channel, the other through subjectKilled()).
  • we simply count the number of QtMoleculeItems that received subjectKilled() and if max is reached, the row is removed.
  • to prevent molecule id clash, insertion (of same id) after removal is ok. This works cause we first remove and then insert new item. Hence, having the same id is possible.
Location:
src/UIElements/Views/Qt4/MoleculeList/SpecificItems
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_atomcount.hpp

    rb9680b rcc2976  
    3434  QtMoleculeItem_atomcount(
    3535      const moleculeId_t _molid,
    36       emitDirtyState_t _emitDirtyState) :
    37         QtMoleculeItem(_molid, channellist_atomcount, QtMoleculeItem::NeedsMove, _emitDirtyState),
     36      const emitDirtyState_t &_emitDirtyState,
     37      const emitSubjectKilledState_t &_emitSubjectKilledState) :
     38        QtMoleculeItem(_molid, channellist_atomcount, QtMoleculeItem::NeedsMove, _emitDirtyState, _emitSubjectKilledState),
    3839        molref(getMolecule()),
    3940        atomcount(
  • src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_formula.hpp

    rb9680b rcc2976  
    3737  QtMoleculeItem_formula(
    3838      const moleculeId_t _molid,
    39       emitDirtyState_t _emitDirtyState) :
    40         QtMoleculeItem(_molid, channellist_formula, QtMoleculeItem::NeedsMove, _emitDirtyState),
     39      const emitDirtyState_t &_emitDirtyState,
     40      const emitSubjectKilledState_t &_emitSubjectKilledState) :
     41        QtMoleculeItem(_molid, channellist_formula, QtMoleculeItem::NeedsMove, _emitDirtyState, _emitSubjectKilledState),
    4142        molref(getMolecule()),
    4243        formula(
  • src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_name.hpp

    rb9680b rcc2976  
    3434  QtMoleculeItem_name(
    3535      const moleculeId_t _molid,
    36       emitDirtyState_t _emitDirtyState) :
    37         QtMoleculeItem(_molid, channellist_name, QtMoleculeItem::DoesNotMove, _emitDirtyState),
     36      const emitDirtyState_t &_emitDirtyState,
     37      const emitSubjectKilledState_t &_emitSubjectKilledState) :
     38        QtMoleculeItem(_molid, channellist_name, QtMoleculeItem::DoesNotMove, _emitDirtyState, _emitSubjectKilledState),
    3839        molref(getMolecule()),
    3940        name(
  • src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_occurrence.hpp

    rb9680b rcc2976  
    2828  QtMoleculeItem_occurrence(
    2929      const moleculeId_t _molid,
    30       emitDirtyState_t _emitDirtyState) :
    31         QtMoleculeItem(_molid, channellist_occurrence, QtMoleculeItem::DoesNotMove, _emitDirtyState)
     30      const emitDirtyState_t &_emitDirtyState,
     31      const emitSubjectKilledState_t &_emitSubjectKilledState) :
     32        QtMoleculeItem(_molid, channellist_occurrence, QtMoleculeItem::DoesNotMove, _emitDirtyState, _emitSubjectKilledState)
    3233  {
    3334    signOnToMolecule();
  • src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_visibility.hpp

    rb9680b rcc2976  
    2828  QtMoleculeItem_visibility(
    2929      const moleculeId_t _molid,
    30       emitDirtyState_t _emitDirtyState) :
    31         QtMoleculeItem(_molid, channellist_visibility, QtMoleculeItem::DoesNotMove, _emitDirtyState)
     30      const emitDirtyState_t &_emitDirtyState,
     31      const emitSubjectKilledState_t &_emitSubjectKilledState) :
     32        QtMoleculeItem(_molid, channellist_visibility, QtMoleculeItem::DoesNotMove, _emitDirtyState, _emitSubjectKilledState)
    3233  {
    3334    signOnToMolecule();
Note: See TracChangeset for help on using the changeset viewer.