- Timestamp:
- Aug 5, 2015, 5:32:11 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:
- 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)
- Location:
- src/UIElements/Views/Qt4
- Files:
-
- 6 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; -
src/UIElements/Views/Qt4/MoleculeList/QtMoleculeList.hpp
r015f8c ra39d72 101 101 std::string addMolecule(const molecule * const _mol); 102 102 void addGroupItem(QStandardItem *&mainitem, const std::string &_molecule_formula); 103 void addMoleculeItem(QStandardItem *_groupitem, const moleculeId_t _molid, conststd::string &molecule_formula);103 QList<QStandardItem *> createMoleculeItems(const moleculeId_t _molid, std::string &molecule_formula); 104 104 void removeMoleculeItem(QtMoleculeItem * const _item); 105 105 int setOccurrence(QStandardItem * const _groupitem); -
src/UIElements/Views/Qt4/MoleculeList/QtMoleculeListView.cpp
r015f8c ra39d72 163 163 164 164 const QtMoleculeList *moleculelist = dynamic_cast<const QtMoleculeList *>(model()); 165 QModelIndex index = moleculelist->MoleculeIdToIndex(_id); 166 ASSERT( !selectionModel()->isSelected(index), 167 "QtMoleculeListView::MoleculeSelected() - row to molecule " 168 +toString(_id)+" is already selected."); 169 170 // select the full row 171 expand(index); 172 selectionModel()->select(index, QItemSelectionModel::Select | QItemSelectionModel::Rows); 165 if (moleculelist->isMoleculeItemPresent(_id)) { 166 QModelIndex index = moleculelist->MoleculeIdToIndex(_id); 167 // ASSERT( !selectionModel()->isSelected(index), 168 // "QtMoleculeListView::MoleculeSelected() - row to molecule " 169 // +toString(_id)+" is already selected."); 170 171 // select the full row 172 expand(index); 173 selectionModel()->select(index, QItemSelectionModel::Select | QItemSelectionModel::Rows); 174 } 173 175 174 176 selecting = false; … … 183 185 184 186 const QtMoleculeList *moleculelist = dynamic_cast<const QtMoleculeList *>(model()); 185 QModelIndex index = moleculelist->MoleculeIdToIndex(_id); 186 ASSERT( selectionModel()->isSelected(index), 187 "QtMoleculeListView::MoleculeSelected() - row to molecule " 188 +toString(_id)+" is already unselected."); 189 190 // unselect the full row 191 expand(index); 192 selectionModel()->select(index, QItemSelectionModel::Deselect | QItemSelectionModel::Rows); 187 if (moleculelist->isMoleculeItemPresent(_id)) { 188 QModelIndex index = moleculelist->MoleculeIdToIndex(_id); 189 // ASSERT( selectionModel()->isSelected(index), 190 // "QtMoleculeListView::MoleculeSelected() - row to molecule " 191 // +toString(_id)+" is already unselected."); 192 193 // unselect the full row 194 expand(index); 195 selectionModel()->select(index, QItemSelectionModel::Deselect | QItemSelectionModel::Rows); 196 } 193 197 194 198 selecting = false; -
src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_atom.cpp
r015f8c ra39d72 110 110 resetElement(); 111 111 112 m_selected = const_cast<const World &>(World::getInstance()).isAtomSelected(_id); 113 112 114 // sign On 113 115 activateObserver(); -
src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_molecule.cpp
r015f8c ra39d72 146 146 setMaterial(getMaterial(1)); 147 147 148 m_selected = const_cast<const World &>(World::getInstance()).isMoleculeSelected(_molid); 149 148 150 // initially, atoms and bonds should be visible 149 151 m_visible = false; … … 212 214 setMaterial(getMaterial(1)); 213 215 216 m_selected = const_cast<const World &>(World::getInstance()).isMoleculeSelected(_molid); 217 214 218 // initially, atoms and bonds should be visible 215 219 m_visible = false; … … 459 463 { 460 464 AtomNodeMap::iterator iter = AtomsinSceneMap.find(_id); 461 ASSERT( iter != AtomsinSceneMap.end(), 462 "GLMoleculeObject_molecule::AtomSelected() - atom "+toString(_id) 463 +" unknown to GLMoleculeObject_molecule."); 464 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 465 if (iter != AtomsinSceneMap.end()) 466 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 465 467 "Selected", // member name (no parameters here) 466 468 Qt::QueuedConnection); // connection type 469 else 470 ELOG(2, "GLMoleculeObject_molecule::AtomSelected() - atom " 471 << _id << " unknown to GLMoleculeObject_molecule."); 467 472 } 468 473 … … 470 475 { 471 476 AtomNodeMap::iterator iter = AtomsinSceneMap.find(_id); 472 ASSERT( iter != AtomsinSceneMap.end(), 473 "GLMoleculeObject_molecule::AtomUnselected() - atom "+toString(_id) 474 +" unknown to GLMoleculeObject_molecule."); 475 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 477 if (iter != AtomsinSceneMap.end()) 478 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 476 479 "Unselected", // member name (no parameters here) 477 480 Qt::QueuedConnection); // connection type 481 else ELOG(2, "GLMoleculeObject_molecule::AtomUnselected() - atom " 482 << _id << " unknown to GLMoleculeObject_molecule."); 478 483 } 479 484 … … 567 572 break; 568 573 } 569 } else 570 ASSERT(0, "GLMoleculeObject_molecule::recieveNotification() - received notification from unexpected source."); 574 } 571 575 } 572 576 -
src/UIElements/Views/Qt4/Qt3D/GLWorldScene.cpp
r015f8c ra39d72 482 482 { 483 483 MoleculeNodeMap::iterator iter = MoleculesinSceneMap.find(_molid); 484 ASSERT( iter != MoleculesinSceneMap.end(), 485 "GLWorldScene::AtomSelected() - molecule "+toString(_molid) 486 +" unknown to GLWorldScene."); 487 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 484 if (iter != MoleculesinSceneMap.end()) 485 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 488 486 "AtomSelected", // member name (no parameters here) 489 487 Qt::QueuedConnection, // connection type 490 488 Q_ARG(const atomId_t, _id)); // parameters 489 else 490 ELOG(2, "DEBUG: GLWorldScene::AtomSelected() - molecule " << 491 _molid << " unknown to GLWorldScene."); 491 492 } 492 493 … … 494 495 { 495 496 MoleculeNodeMap::iterator iter = MoleculesinSceneMap.find(_molid); 496 ASSERT( iter != MoleculesinSceneMap.end(), 497 "GLWorldScene::AtomUnselected() - molecule "+toString(_molid) 498 +" unknown to GLWorldScene."); 499 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 497 if (iter != MoleculesinSceneMap.end()) 498 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 500 499 "AtomUnselected", // member name (no parameters here) 501 500 Qt::QueuedConnection, // connection type 502 501 Q_ARG(const atomId_t, _id)); // parameters 502 else 503 ELOG(2, "GLWorldScene::AtomUnselected() - molecule " 504 << _molid << " unknown to GLWorldScene."); 503 505 } 504 506 … … 506 508 { 507 509 MoleculeNodeMap::iterator iter = MoleculesinSceneMap.find(_molid); 508 ASSERT( iter != MoleculesinSceneMap.end(), 509 "GLWorldScene::MoleculeSelected() - molecule "+toString(_molid) 510 +" unknown to GLWorldScene."); 511 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 510 if (iter != MoleculesinSceneMap.end()) 511 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 512 512 "Selected", // member name (no parameters here) 513 513 Qt::QueuedConnection); // connection type 514 else 515 ELOG(2, "GLWorldScene::MoleculeSelected() - molecule " 516 << _molid << " unknown to GLWorldScene."); 514 517 } 515 518 … … 517 520 { 518 521 MoleculeNodeMap::iterator iter = MoleculesinSceneMap.find(_molid); 519 ASSERT( iter != MoleculesinSceneMap.end(), 520 "GLWorldScene::MoleculeUnselected() - molecule "+toString(_molid) 521 +" unknown to GLWorldScene."); 522 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 522 if (iter != MoleculesinSceneMap.end()) 523 QMetaObject::invokeMethod(iter->second, // pointer to a QObject 523 524 "Unselected", // member name (no parameters here) 524 525 Qt::QueuedConnection); // connection type 525 } 526 else 527 ELOG(2, "GLWorldScene::MoleculeUnselected() - molecule " 528 << _molid << " unknown to GLWorldScene."); 529 }
Note:
See TracChangeset
for help on using the changeset viewer.