Changeset 2c97ad
- Timestamp:
- Apr 11, 2018, 6:29:57 AM (7 years ago)
- Branches:
- Candidate_v1.6.1, ChemicalSpaceEvaluator, Gui_displays_atomic_force_velocity, PythonUI_with_named_parameters, TremoloParser_IncreasedPrecision
- Children:
- 8819d2
- Parents:
- 8c5e2a
- git-author:
- Frederik Heber <frederik.heber@…> (08/09/17 15:36:42)
- git-committer:
- Frederik Heber <frederik.heber@…> (04/11/18 06:29:57)
- Location:
- src/UIElements
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/UIElements/Qt4/QtMainWindow.hpp
r8c5e2a r2c97ad 32 32 class QtMoleculeList; 33 33 class QtShapeController; 34 class QtTimeLine; 34 35 class StringView; 35 36 class GLWorldView; … … 38 39 class QtToolBar; 39 40 class QCloseEvent; 40 class QSlider;41 41 42 42 class QtObservedInstanceBoard; … … 70 70 QtMenu<QMenuBar> *MainMenu; 71 71 QtToolBar *toolbar; 72 Q Slider*timeline;72 QtTimeLine *timeline; 73 73 QtLogBox *logBox; 74 74 QtLogBox *errorlogBox; -
src/UIElements/Views/Qt4/QtTimeLine.cpp
r8c5e2a r2c97ad 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 worldtime_enlisted(false) 52 worldtime_enlisted(false), 53 SetWorldTime_called(false) 53 54 { 55 slider = new QSlider(Qt::Horizontal, this); 54 56 // set initial values 55 QSlider::setMinimum(0); 56 QSlider::setMaximum(0); 57 QSlider::setValue(0); 58 QSlider::setTickInterval(1); 59 QSlider::setSingleStep(1); 60 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); 61 72 62 73 // sign on to observable … … 67 78 68 79 // connect to QSlider's valueChanged() signal 69 bool result = connect(this,SIGNAL(valueChanged(int)),this,SLOT(StepUpdate(int))); 80 bool result = connect(slider,SIGNAL(valueChanged(int)),this,SLOT(StepUpdate(int))); 81 result = result && connect(spinbox,SIGNAL(valueChanged(int)),this,SLOT(StepUpdate(int))); 70 82 if (!result) 71 83 ELOG(0, "Could not connect to QSlider::valueChanged."); … … 84 96 boost::recursive_mutex::scoped_lock lock(refill_mutex); 85 97 86 QSlider::paintEvent(event);98 // layout->paintEvent(event); 87 99 } 88 100 … … 109 121 110 122 if (static_cast<WorldTime *>(publisher) == WorldTime::getPointer()) { 123 SetWorldTime_called = false; 111 124 const int timestep = WorldTime::getTime(); 112 125 // check whether we are beyond maximum 113 if (timestep > QSlider::maximum()) 114 QSlider::setMaximum(timestep); 126 if (timestep > slider->maximum()) { 127 slider->setMaximum(timestep); 128 spinbox->setMaximum(timestep); 129 } 115 130 // set slider position to new time step 116 QSlider::setValue( timestep ); 131 slider->setValue( timestep ); 132 spinbox->setValue( timestep ); 117 133 } else 118 134 //if (static_cast<AtomObserver *>(publisher) == AtomObserver::getPointer()) … … 121 137 const atom *_atom = dynamic_cast<const atom *>(publisher); 122 138 const int MaxTrajectory = _atom->getTrajectorySize()-1; 123 if (MaxTrajectory > QSlider::maximum()) 124 QSlider::setMaximum(MaxTrajectory); 139 if (MaxTrajectory > slider->maximum()) { 140 slider->setMaximum(MaxTrajectory); 141 spinbox->setMaximum(MaxTrajectory); 142 } 125 143 } 126 144 } … … 130 148 boost::recursive_mutex::scoped_lock lock(refill_mutex); 131 149 132 if (WorldTime::getTime() != (unsigned int)position) 133 MoleCuilder::WorldSetWorldTime(position); 150 if (!SetWorldTime_called) { 151 if (WorldTime::getTime() != (unsigned int)position) { 152 SetWorldTime_called = true; 153 MoleCuilder::WorldSetWorldTime(position); 154 } 155 } 134 156 } -
src/UIElements/Views/Qt4/QtTimeLine.hpp
r8c5e2a r2c97ad 14 14 #endif 15 15 16 #include <QtGui/QHBoxLayout> 16 17 #include <QtGui/QSlider> 18 #include <QtGui/QSpinBox> 17 19 18 20 #include <boost/thread/recursive_mutex.hpp> … … 20 22 #include "CodePatterns/Observer/Observer.hpp" 21 23 22 class QtTimeLine : public Q Slider, public Observer24 class QtTimeLine : public QWidget, public Observer 23 25 { 24 26 Q_OBJECT … … 43 45 bool worldtime_enlisted; 44 46 47 QSlider *slider; 48 QSpinBox *spinbox; 49 QHBoxLayout *layout; 50 51 //!> states whether we are expecting a notification from the worldtime 52 bool SetWorldTime_called; 53 45 54 mutable boost::recursive_mutex refill_mutex; 46 55 };
Note:
See TracChangeset
for help on using the changeset viewer.