Ignore:
Timestamp:
Jun 21, 2018, 8:31:25 AM (7 years ago)
Author:
Frederik Heber <frederik.heber@…>
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.
Message:

Merge branch 'TremoloParser_IncreasedPrecision' into Candidate_v1.6.1

Conflicts:

tests/Python/ForceAnnealing/post/five_carbon_test_bondgraph.data
tests/Python/ForceAnnealing/post/five_carbon_test_no-bondgraph.data

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Views/Qt4/QtTimeLine.cpp

    r3e334e r8d56a6  
    4747
    4848QtTimeLine::QtTimeLine(QWidget * _parent) :
    49     QSlider (Qt::Horizontal, _parent),
     49    QWidget(_parent),
    5050    Observer("QtTimeLine"),
    5151    atomobserver_enlisted(false),
    5252    worldtime_enlisted(false),
    53     WorldTime_change(false)
     53    SetWorldTime_called(false)
    5454{
     55  slider = new QSlider(Qt::Horizontal, this);
    5556  // 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);
    6372
    6473  // sign on to observable
     
    6978
    7079  // 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)));
    7282  if (!result)
    7383    ELOG(0, "Could not connect to QSlider::valueChanged.");
     
    8696  boost::recursive_mutex::scoped_lock lock(refill_mutex);
    8797
    88   QSlider::paintEvent(event);
     98//  layout->paintEvent(event);
    8999}
    90100
     
    111121
    112122  if (static_cast<WorldTime *>(publisher) == WorldTime::getPointer()) {
     123    SetWorldTime_called = false;
    113124    const int timestep = WorldTime::getTime();
    114125    // 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    }
    117130    // set slider position to new time step
    118     WorldTime_change = true;
    119     QSlider::setValue( timestep );
     131    slider->setValue( timestep );
     132    spinbox->setValue( timestep );
    120133  } else
    121134    //if (static_cast<AtomObserver *>(publisher) == AtomObserver::getPointer())
     
    124137    const atom *_atom = dynamic_cast<const atom *>(publisher);
    125138    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    }
    128143  }
    129144}
     
    133148  boost::recursive_mutex::scoped_lock lock(refill_mutex);
    134149
    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  }
    139156}
Note: See TracChangeset for help on using the changeset viewer.