- Timestamp:
- Aug 5, 2015, 5:32:11 PM (10 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:
- 07b800
- Parents:
- 015f8c
- git-author:
- Frederik Heber <heber@…> (07/19/15 11:35:26)
- git-committer:
- Frederik Heber <heber@…> (08/05/15 17:32:11)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/UIElements/Views/Qt4/MoleculeList/QtMoleculeList.cpp
r015f8c ra39d72 246 246 } 247 247 248 void QtMoleculeList::addMoleculeItem( 249 QStandardItem *_groupitem, 248 QList<QStandardItem *> QtMoleculeList::createMoleculeItems( 250 249 const moleculeId_t _molid, 251 conststd::string &_molecule_formula)250 std::string &_molecule_formula) 252 251 { 253 252 QList<QStandardItem *> molItems = … … 258 257 QtMoleculeItem *mol_item = dynamic_cast<QtMoleculeItem *>(molItems.front()); 259 258 ASSERT( mol_item != NULL, 260 "QtMoleculeList:: addMoleculeItem() - item from factory was not a QtMoleculeItem?");259 "QtMoleculeList::createMoleculeItems() - item from factory was not a QtMoleculeItem?"); 261 260 { 262 261 boost::recursive_mutex::scoped_lock lock(map_mutex); 263 262 MoleculeItemBiMap.left.insert( std::make_pair(_molid, mol_item) ); 264 LOG(1, "Adding" << _molecule_formula << " for " << _molid << " to MoleculeFormulaMap."); 263 } 264 265 QStandardItem *formulaitem = molItems.at(QtMoleculeItem::FORMULA); 266 ASSERT( formulaitem != NULL, 267 "QtMoleculeList::createMoleculeItems() - Formula item not created by factory?"); 268 _molecule_formula = formulaitem->text().toStdString(); 269 { 270 boost::recursive_mutex::scoped_lock lock(map_mutex); 271 LOG(1, "Adding " << _molecule_formula << " for " << _molid << " to MoleculeFormulaMap."); 265 272 MoleculeFormulaMap.insert( std::make_pair( _molid, _molecule_formula) ); 266 273 } 267 274 // LOG(1, "Inserting molecule " << _mol->getId() << ": " << _mol); 268 _groupitem->appendRow(molItems);275 return molItems; 269 276 } 270 277 … … 274 281 QStandardItem *groupItem = NULL; 275 282 276 const std::string molecule_formula = _mol->getFormula().toString(); 283 // create molecule items and obtain the molecule's formula 284 std::string molecule_formula; 285 QList<QStandardItem *> molItems = createMoleculeItems(_mol->getId(), molecule_formula); 277 286 278 287 // new molecule type -> create new group … … 296 305 "QtMoleculeList::addMolecule() - item with id "+toString(_mol->getId()) 297 306 +" has no parent?"); 298 299 // add molecule 300 addMoleculeItem(groupItem, _mol->getId(), molecule_formula); 307 groupItem->appendRow(molItems); 301 308 302 309 return molecule_formula; … … 552 559 "QtMoleculeList::readdItem() - mol item at "+toString(_molitem->index().row()) 553 560 +" does not have a groupitem?"); 554 const molecule * const mol = _molitem->getMolecule(); 561 // get updated formula from the item 562 QStandardItem *formulaitem = 563 _molitem->parent()->child(_molitem->index().row(), QtMoleculeItem::FORMULA); 564 const std::string molecule_formula = formulaitem->text().toStdString(); 555 565 QList<QStandardItem *> mol_row = _molitem->parent()->takeRow(_molitem->index().row()); 556 566 // .. and re-add where new formula fits 557 std::string molecule_formula; 558 if (mol != NULL) { 559 molecule_formula = mol->getFormula().toString(); 560 if (!isGroupItemPresent(molecule_formula)) { 561 // add new group item and formula entry 562 addGroupItem(groupitem, molecule_formula); 563 } else { 564 groupitem = FormulaToGroupItem(molecule_formula); 565 } 566 ASSERT( groupitem != NULL, 567 "QtMoleculeList::readdItem() - failed to create a sensible new groupitem"); 568 // finally add again 569 groupitem->appendRow(mol_row); 567 if (!isGroupItemPresent(molecule_formula)) { 568 // add new group item and formula entry 569 addGroupItem(groupitem, molecule_formula); 570 570 } else { 571 for (QList<QStandardItem *>::iterator iter = mol_row.begin(); 572 iter != mol_row.end(); ++iter) 573 delete *iter; 574 } 571 groupitem = FormulaToGroupItem(molecule_formula); 572 } 573 ASSERT( groupitem != NULL, 574 "QtMoleculeList::readdItem() - failed to create a sensible new groupitem"); 575 // finally add again 576 groupitem->appendRow(mol_row); 575 577 576 578 return molecule_formula;
Note:
See TracChangeset
for help on using the changeset viewer.