- Timestamp:
- Dec 26, 2025, 9:40:14 PM (2 weeks ago)
- Branches:
- Candidate_v1.7.1, stable
- Children:
- c8cb0d
- Parents:
- bdd1d0
- git-author:
- Frederik Heber <frederik.heber@…> (12/10/25 10:20:56)
- git-committer:
- Frederik Heber <frederik.heber@…> (12/26/25 21:40:14)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/UIElements/Qt4/InstanceBoard/QtObservedInstanceBoard.cpp
rbdd1d0 rf2d5ce 51 51 #include "Descriptors/MoleculeIdDescriptor.hpp" 52 52 #include "molecule.hpp" 53 #include "UIElements/Qt4/InstanceBoard/ObservedMaximumAtomTrajectorySize.hpp" 53 54 #include "UIElements/Qt4/InstanceBoard/ObservedValuesContainer_impl.hpp" 54 55 #include "World.hpp" 56 #include "WorldTime.hpp" 57 58 // static entities 59 const Observable::channels_t 60 WorldTimeChannels(1, WorldTime::TimeChanged); 61 62 const Observable::channels_t 63 MaximumTrajectorySizeChannels(1, ObservedMaximumAtomTrajectorySize::MaximumChanged); 55 64 56 65 QtObservedInstanceBoard::QtObservedInstanceBoard(QWidget * _parent) : … … 58 67 Observer("QtObservedInstanceBoard"), 59 68 WorldSignedOn(false), 69 WorldTimeSignedOn(false), 70 MaximumAtomTrajectorySizeSignedOn(false), 60 71 atomObservedValues( 61 72 "atom", … … 69 80 "molecule", 70 81 *this, 71 boost::bind(&QtObservedInstanceBoard::moleculecountsubjectKilled, this, _1)) 82 boost::bind(&QtObservedInstanceBoard::moleculecountsubjectKilled, this, _1)), 83 worldTime( 84 WorldTime::getPointer(), 85 WorldTime::getTime, 86 "WorldTime", 87 0, 88 WorldTimeChannels), 89 maximumAtomTrajectorySize( 90 ObservedMaximumAtomTrajectorySize::getPointer(), 91 boost::bind( 92 &ObservedMaximumAtomTrajectorySize::GetMaximumAtomTrajectorySize, 93 boost::cref(ObservedMaximumAtomTrajectorySize::getConstInstance()) 94 ), 95 "MaximumAtomTrajectorySize", 96 0, 97 MaximumTrajectorySizeChannels) 72 98 { 73 99 qRegisterMetaType<ObservedValue_Index_t>("ObservedValue_Index_t"); … … 80 106 World::getInstance().signOn(this, World::MoleculeInserted, GlobalObservableInfo::PriorityLevel(int(-10))); 81 107 WorldSignedOn = true; 108 WorldTime::getInstance().signOn(this, WorldTime::TimeChanged); 109 WorldTimeSignedOn = true; 110 ObservedMaximumAtomTrajectorySize::getInstance().signOn(this, ObservedMaximumAtomTrajectorySize::MaximumChanged); 111 MaximumAtomTrajectorySizeSignedOn = true; 82 112 } 83 113 … … 87 117 World::getInstance().signOff(this, World::AtomInserted); 88 118 World::getInstance().signOff(this, World::MoleculeInserted); 119 } 120 if (WorldTimeSignedOn) { 121 WorldTime::getInstance().signOff(this, WorldTime::TimeChanged); 122 } 123 if (MaximumAtomTrajectorySizeSignedOn) { 124 ObservedMaximumAtomTrajectorySize::getInstance().signOff(this, ObservedMaximumAtomTrajectorySize::MaximumChanged); 89 125 } 90 126 // sign off from all remaining molecules, bonds, and atoms … … 121 157 MoleculeSignedOn.erase(iter); 122 158 } else { 123 ASSERT(0, 124 "QtObservedInstanceBoard::subjectKilled() - could not find signedOn for atom/molecule "+toString(publisher)); 159 if (static_cast<World *>(publisher) == World::getPointer()) { 160 WorldSignedOn = false; 161 } else if (static_cast<WorldTime *>(publisher) == WorldTime::getPointer()) { 162 WorldTimeSignedOn = false; 163 } else if (static_cast<ObservedMaximumAtomTrajectorySize *>(publisher) == ObservedMaximumAtomTrajectorySize::getPointer()) { 164 MaximumAtomTrajectorySizeSignedOn = false; 165 } else { 166 ASSERT(0, 167 "QtObservedInstanceBoard::subjectKilled() - could not find signedOn for atom/molecule "+toString(publisher)); 168 } 125 169 } 126 170 } … … 217 261 } 218 262 default: 219 ASSERT(0, "QtObservedInstanceBoard::recieveNotification() - we cannot get here .");263 ASSERT(0, "QtObservedInstanceBoard::recieveNotification() - we cannot get here for Molecule."); 220 264 break; 221 265 } … … 277 321 } 278 322 default: 279 ASSERT(0, "QtObservedInstanceBoard::recieveNotification() - we cannot get here."); 280 break; 323 ASSERT(0, "QtObservedInstanceBoard::recieveNotification() - we cannot get here for Atom."); 324 break; 325 } 326 } else if (static_cast<ObservedMaximumAtomTrajectorySize *>(publisher) == ObservedMaximumAtomTrajectorySize::getPointer()) { 327 switch (notification->getChannelNo()) { 328 case ObservedMaximumAtomTrajectorySize::MaximumChanged: 329 { 330 #ifdef LOG_OBSERVER 331 observerLog().addMessage() << "++ Observer " << observerLog().getName(static_cast<Observer *>(this)) << " received notification that maximum atom tractory size has changed."; 332 #endif 333 LOG(3, "DEBUG: InformationBoard got MaximumChanged signal from ObservedMaximumAtomTrajectorySize."); 334 emit MaximumAtomTrajectoryChanged(); 335 break; 336 } 337 default: 338 { 339 ASSERT(0, "QtObservedInstanceBoard::recieveNotification() - we cannot get here for ObservedMaximumAtomTrajectorySize."); 340 break; 341 } 342 } 343 } else if (static_cast<WorldTime *>(publisher) == WorldTime::getPointer()) { 344 switch (notification->getChannelNo()) { 345 case WorldTime::TimeChanged: 346 { 347 #ifdef LOG_OBSERVER 348 observerLog().addMessage() << "++ Observer " << observerLog().getName(static_cast<Observer *>(this)) << " received notification that WorldTime has changed."; 349 #endif 350 LOG(3, "DEBUG: InformationBoard got TimeChanged signal from WorldTime."); 351 emit WorldTimeChanged(); 352 break; 353 } 354 default: 355 { 356 ASSERT(0, "QtObservedInstanceBoard::recieveNotification() - we cannot get here for WorldTime."); 357 break; 358 } 281 359 } 282 360 } else { … … 373 451 } 374 452 453 const ObservedValue<unsigned int>& QtObservedInstanceBoard::getObservedWorldTime() 454 { 455 return worldTime; 456 } 457 458 const ObservedValue<int>& QtObservedInstanceBoard::getObservedMaximumAtomTrajectorySize() 459 { 460 return maximumAtomTrajectorySize; 461 } 462 375 463 void QtObservedInstanceBoard::markObservedAtomAsConnected(ObservedValue_Index_t _id) 376 464 {
Note:
See TracChangeset
for help on using the changeset viewer.
