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.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Views/Qt4/MoleculeList/QtMoleculeItemFactory.cpp

    rb9680b rcc2976  
    9191QtMoleculeItemFactory::createMoleculeItems(
    9292    const moleculeId_t _molid,
    93     const QtMoleculeItem::emitDirtyState_t &_emitDirtyState)
     93    const QtMoleculeItem::emitDirtyState_t &_emitDirtyState,
     94    const QtMoleculeItem::emitSubjectKilledState_t &_emitSubjectKilledState)
    9495{
    9596  QList<QStandardItem *> molItems;
    96   molItems << new QtMoleculeItem_name(_molid, _emitDirtyState);
    97   molItems << new QtMoleculeItem_visibility(_molid, _emitDirtyState);
    98   molItems << new QtMoleculeItem_atomcount(_molid, _emitDirtyState);
    99   molItems << new QtMoleculeItem_formula(_molid, _emitDirtyState);
    100   molItems << new QtMoleculeItem_occurrence(_molid, _emitDirtyState);
     97  molItems << new QtMoleculeItem_name(_molid, _emitDirtyState, _emitSubjectKilledState);
     98  molItems << new QtMoleculeItem_visibility(_molid, _emitDirtyState, _emitSubjectKilledState);
     99  molItems << new QtMoleculeItem_atomcount(_molid, _emitDirtyState, _emitSubjectKilledState);
     100  molItems << new QtMoleculeItem_formula(_molid, _emitDirtyState, _emitSubjectKilledState);
     101  molItems << new QtMoleculeItem_occurrence(_molid, _emitDirtyState, _emitSubjectKilledState);
    101102  return molItems;
    102103}
Note: See TracChangeset for help on using the changeset viewer.