Changeset 8d56a6 for src/UIElements/Views/Qt4/QtTimeLine.cpp
- Timestamp:
- Jun 21, 2018, 8:31:25 AM (7 years ago)
- Branches:
- Candidate_v1.6.1, Candidate_v1.7.0, ChemicalSpaceEvaluator, stable
- Children:
- d83d64, f5ea10
- Parents:
- 3e334e (diff), 4fc0ea (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - File:
-
- 1 edited
-
src/UIElements/Views/Qt4/QtTimeLine.cpp (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/UIElements/Views/Qt4/QtTimeLine.cpp
r3e334e r8d56a6 47 47 48 48 QtTimeLine::QtTimeLine(QWidget * _parent) : 49 Q Slider (Qt::Horizontal,_parent),49 QWidget(_parent), 50 50 Observer("QtTimeLine"), 51 51 atomobserver_enlisted(false), 52 52 worldtime_enlisted(false), 53 WorldTime_change(false)53 SetWorldTime_called(false) 54 54 { 55 slider = new QSlider(Qt::Horizontal, this); 55 56 // set initial values 56 QSlider::setMinimum(0); 57 QSlider::setMaximum(0); 58 WorldTime_change = true; 59 QSlider::setValue(0); 60 QSlider::setTickInterval(1); 61 QSlider::setSingleStep(1); 62 QSlider::setTracking(true); 57 slider->setMinimum(0); 58 slider->setMaximum(0); 59 slider->setValue(0); 60 slider->setTickInterval(1); 61 slider->setSingleStep(1); 62 slider->setTracking(true); 63 64 spinbox = new QSpinBox(this); 65 spinbox->setMinimum(0); 66 spinbox->setMaximum(0); 67 spinbox->setValue(0); 68 69 layout = new QHBoxLayout(this); 70 layout->addWidget(slider); 71 layout->addWidget(spinbox); 63 72 64 73 // sign on to observable … … 69 78 70 79 // connect to QSlider's valueChanged() signal 71 bool result = connect(this,SIGNAL(valueChanged(int)),this,SLOT(StepUpdate(int)), Qt::DirectConnection); 80 bool result = connect(slider,SIGNAL(valueChanged(int)),this,SLOT(StepUpdate(int))); 81 result = result && connect(spinbox,SIGNAL(valueChanged(int)),this,SLOT(StepUpdate(int))); 72 82 if (!result) 73 83 ELOG(0, "Could not connect to QSlider::valueChanged."); … … 86 96 boost::recursive_mutex::scoped_lock lock(refill_mutex); 87 97 88 QSlider::paintEvent(event);98 // layout->paintEvent(event); 89 99 } 90 100 … … 111 121 112 122 if (static_cast<WorldTime *>(publisher) == WorldTime::getPointer()) { 123 SetWorldTime_called = false; 113 124 const int timestep = WorldTime::getTime(); 114 125 // check whether we are beyond maximum 115 if (timestep > QSlider::maximum()) 116 QSlider::setMaximum(timestep); 126 if (timestep > slider->maximum()) { 127 slider->setMaximum(timestep); 128 spinbox->setMaximum(timestep); 129 } 117 130 // set slider position to new time step 118 WorldTime_change = true;119 QSlider::setValue( timestep );131 slider->setValue( timestep ); 132 spinbox->setValue( timestep ); 120 133 } else 121 134 //if (static_cast<AtomObserver *>(publisher) == AtomObserver::getPointer()) … … 124 137 const atom *_atom = dynamic_cast<const atom *>(publisher); 125 138 const int MaxTrajectory = _atom->getTrajectorySize()-1; 126 if (MaxTrajectory > QSlider::maximum()) 127 QSlider::setMaximum(MaxTrajectory); 139 if (MaxTrajectory > slider->maximum()) { 140 slider->setMaximum(MaxTrajectory); 141 spinbox->setMaximum(MaxTrajectory); 142 } 128 143 } 129 144 } … … 133 148 boost::recursive_mutex::scoped_lock lock(refill_mutex); 134 149 135 if (WorldTime_change) 136 WorldTime_change = false; 137 else 138 MoleCuilder::WorldSetWorldTime(position); 150 if (!SetWorldTime_called) { 151 if (WorldTime::getTime() != (unsigned int)position) { 152 SetWorldTime_called = true; 153 MoleCuilder::WorldSetWorldTime(position); 154 } 155 } 139 156 }
Note:
See TracChangeset
for help on using the changeset viewer.
