Esempio n. 1
0
MenuResult Slider::handleEvent(sf::Event & Event, sf::Vector2f MousePos)
{
    if (_Enabled) {
        if (Event.type == sf::Event::MouseButtonPressed) {
            if (pointInRectangle(getRect(), MousePos))
            {
                setSlider(MousePos.x);
                _MouseButtonPressed = true;
            }
        }
        else if (Event.type == sf::Event::MouseButtonReleased) {
            _MouseButtonPressed = false;
        }
        else if (Event.type == sf::Event::MouseMoved) {
            if (pointInRectangle(getRect(), MousePos)) {
                _Hovering = true;
            }
            else {
                _Hovering = false;
            }
            if (_MouseButtonPressed) {
                _Hovering = true;
                setSlider(MousePos.x);
            }
            _Focused = false;
        }
    }
    return _Action;
}
Esempio n. 2
0
DoubleSliderGroupBox::DoubleSliderGroupBox(QWidget *parent, const double &min, const double &max, const double &val, const int &step) : QGroupBox(parent)
{
	setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed );
	mGrid = new QGridLayout(this);
	mValue = val;

	mSlider = new DoubleSlider(this);
	mSlider->setOrientation(Qt::Horizontal);
	mSlider->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed );
	mGrid->addWidget( mSlider, 0, 1 );

	mLabelMinValue = new QLabel(this);
	mLabelMinValue->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed);
	mLabelMinValue->setAlignment(Qt::AlignRight);
	mGrid->addWidget( mLabelMinValue, 0, 0 );

	mLabelMaxValue = new QLabel(this);
	mLabelMaxValue->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed);
	mLabelMaxValue->setAlignment( Qt::AlignLeft);
	mGrid->addWidget( mLabelMaxValue, 0, 2 );

	mLabelValue = new QLabel(this);
	mLabelValue->setText(QString::number(val, 'f', 1));
	mLabelValue->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed);
	mLabelValue->setAlignment( Qt::AlignHCenter);
	mGrid->addWidget( mLabelValue, 1, 1 );

	setSlider(min,max,val,step);
	setLayout(mGrid);

	connect(mSlider, SIGNAL(sigDoubleValueChanged(double)),
			   this, SLOT(updateDoubleValue(double)));
}
Esempio n. 3
0
SliderGroupBox::SliderGroupBox(QWidget* parent, const int& min, const int& max, const int& val, const int& step) : QGroupBox()
{
	Q_UNUSED( parent )
	setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed );
	mGrid = new QGridLayout;

	mSlider = new QSlider(Qt::Horizontal, this);
	mSlider->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed );
	mGrid->addWidget(mSlider, 0, 1);

	mLabelMinValue = new QLabel(this);
	mLabelMinValue->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
	mLabelMinValue->setAlignment(Qt::AlignRight);
	mGrid->addWidget(mLabelMinValue, 0, 0);

	mLabelMaxValue = new QLabel(this);
	mLabelMaxValue->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
	mLabelMaxValue->setAlignment( Qt::AlignLeft);
	mGrid->addWidget(mLabelMaxValue, 0, 2);

	mLabelValue = new QLabel(QString::number(val),this);
	mLabelValue->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
	mLabelValue->setAlignment(Qt::AlignHCenter);
	mGrid->addWidget(mLabelValue, 1, 1);

	setSlider(min, max, val, step);
	setLayout(mGrid);

	connect( mSlider,	SIGNAL(valueChanged(int)),
			 mLabelValue,	SLOT(setNum(int)) );
}
Esempio n. 4
0
void CQBarChart::setData(double** data, int columns, int rows, double valueZone)
{
#ifdef DEBUG_UI
  qDebug() << "-- in qwt3dPlot.cpp Plot3d::setData --";
#endif
  int j;
  mData.valueZone = valueZone;
  mData.columns = columns;
  mData.rows = rows;

  if (columns < rows)
    mData.maxItems = rows;
  else
    mData.maxItems = columns;

  if (mData.columns == 1)
    {
      double** dataExpand = new double * [2];
      dataExpand[0] = new double[mData.rows];
      dataExpand[1] = new double[mData.rows];

      for (j = 0; j < rows; j++)
        {
          dataExpand[0][j] = data[0][j];
          dataExpand[1][j] = data[0][j];
        }

      mData.faktor = 4 * (mData.valueZone) / (mData.rows - 1);
      mData.columnAxeLength = ((mData.columns - 1) * mData.faktor) + 0.000001;
      mData.rowAxeLength = ((mData.rows - 1) * mData.faktor);
      mpPlot->loadFromData(dataExpand, mData.columns + 1, mData.rows, 0, mData.columnAxeLength, 0, mData.rowAxeLength);
    }
  else
    {
      mData.faktor = 4 * (mData.valueZone) / (mData.maxItems - 1);
      mData.columnAxeLength = ((mData.columns - 1) * mData.faktor);
      mData.rowAxeLength = ((mData.rows - 1) * mData.faktor);
      mpPlot->loadFromData(data, mData.columns, mData.rows, 0, mData.columnAxeLength, 0, mData.rowAxeLength);
    }

  plotData();
  setSlider();
}
Esempio n. 5
0
void SliderSettingsDialog::browseButtonPressed()
{
  const CCopasiObject * pObject =
    CCopasiSelectionDialog::getObjectSingle(this,
        CQSimpleSelectionTree::InitialTime |
        CQSimpleSelectionTree::Parameters);

  if (pObject)
    {
      if (!pObject->isValueDbl() && !pObject->isValueInt())
        {
          CQMessageBox::information(this, "Invalid Object",
                                    "You chose an object that does not correspond to an integer or float value. Please choose an object that corresponds to an integet or float value.",
                                    QMessageBox::Ok, QMessageBox::Ok);
          mpSlider = NULL;
          mpObjectNameLineEdit->setText("");
          return;
        }

      /* Determine the associated entity key */
      CCopasiContainer * pAncestor = pObject->getObjectAncestor("Task");

      if (!pAncestor) pAncestor = pObject->getObjectAncestor("Model");

      if (!pAncestor)
        {
          CQMessageBox::information(this, "Invalid Object",
                                    "You chose an object that cannot be used as a slider. Please choose an other object.",
                                    QMessageBox::Ok, QMessageBox::Ok);
          mpSlider = NULL;
          mpObjectNameLineEdit->setText("");
          return;
        }

      // We do not have a slider therefore we create one.
      if (mpSlider == NULL)
        {
          // temporarily add the slider the the first datamodel
          mpSlider = new CSlider("slider", (*CCopasiRootContainer::getDatamodelList())[0]);
          mpSlider->setSliderObject(const_cast< CCopasiObject * >(pObject));

          if (pAncestor)
            mpSlider->setAssociatedEntityKey(pAncestor->getKey());

          mpSlider->resetRange();
          updateInputFields();
          updateInputFieldsValues();

          mpObjectNameLineEdit->setText(FROM_UTF8(mpSlider->getSliderObject()->getObjectDisplayName()));
          return;
        }

      // If the object of an existing slider has not changed we have nothing to do
      if (mpSlider->getSliderObject() == pObject)
        return;

      // Check whether a slider with the object already exists
      size_t i, iMax = mDefinedSliders.size();

      for (i = 0; i < iMax; ++i)
        if (mDefinedSliders[i]->getSliderObject() == pObject)
          break;

      // A slider with the new object exists we switch to it.
      if (i != iMax)
        setSlider(mDefinedSliders[i]);
      else // We need to change the object an reinitialize the slider
        {
          mpSlider->setSliderObject(const_cast< CCopasiObject * >(pObject));

          if (pAncestor)
            mpSlider->setAssociatedEntityKey(pAncestor->getKey());

          mpSlider->resetRange();
          updateInputFields();
          updateInputFieldsValues();
        }

      mpObjectNameLineEdit->setText(FROM_UTF8(mpSlider->getSliderObject()->getObjectDisplayName()));
    }
}
Esempio n. 6
0
void MediaPlayer::frameChanged(I8u frameIndex){
	emit setSlider(frameIndex);
}