Example #1
0
ColorGradient ColorGradient::fromJson(const QJsonObject & jsonObject)
{
    if (jsonObject.isEmpty())
        return {};
    
    auto gradient = ColorGradient{};
    
    auto value = QJsonValue{};
    
    if (!jsonObject.contains("type") || !jsonObject.value("type").isString())
        gradient.setType(s_defaultType);
    else
        gradient.setType(type(jsonObject.value("type").toString()));

    if (!jsonObject.contains("steps") || !jsonObject.value("steps").isDouble())
        gradient.setSteps(s_defaultSteps);
    else
        gradient.setSteps(jsonObject.value("steps").toDouble());
    
    if (!jsonObject.contains("stops") || !jsonObject.value("stops").isArray())
        return {};
    
    auto stops = ColorGradientStops{};
    auto jsonStops = jsonObject.value("stops").toArray();
    for (const QJsonValue & jsonStop : jsonStops)
    {
        if (!jsonStop.isObject())
            return {};
        
        auto stop = jsonStop.toObject();
        
        if (!stop.contains("color") ||
            !stop.value("color").isString() ||
            !stop.contains("position") ||
            !stop.value("position").isDouble())
            return {};
        
        auto color = QColor{};
        color.setNamedColor(stop.value("color").toString());
        
        const auto position = stop.value("position").toDouble();
        auto midpoint = ColorGradientStop::s_defaultMidpoint;
        
        if (stop.contains("midpoint") &&
            stop.value("midpoint").isDouble())
            midpoint = stop.value("midpoint").toDouble();
        
        stops.append(ColorGradientStop{color, position, midpoint});
    }
    
    gradient.setStops(stops);
    return gradient;
}
Example #2
0
void SpinBox2::setReverseWithLayout(bool reverse)
{
    if (reverse != mReverseWithLayout)
    {
        mReverseWithLayout = reverse;
        setSteps(mSingleStep, mPageStep);
        setShiftSteps(mSingleShiftStep, mPageShiftStep);
    }
}
Example #3
0
SpinBox2::SpinBox2(int minValue, int maxValue, int pageStep, QWidget* parent)
    : QFrame(parent),
      mReverseWithLayout(true)
{
    mSpinboxFrame = new QFrame(this);
    mUpdown2 = new ExtraSpinBox(minValue, maxValue, this);
    mSpinbox = new MainSpinBox(minValue, maxValue, this, mSpinboxFrame);
    setSteps(1, pageStep);
    init();
}
Example #4
0
 MessageHandler_& begin(std::string const& s) {
     if (!enabled) return *this;
     if (!name.empty()) end("aborted");
     name = s.empty() ? "level-" + indentLevel : s;
     indent = indentLevel * INDENT_SIZE;
     *this << "\n" << capitalize(name);
     indent = ++indentLevel * INDENT_SIZE;
     beginLine = lineno;
     initialUsage.update();
     prevUsage = initialUsage;
     setSteps(10);
     return *this;
 }
Example #5
0
void TProfiler::settings(QString settingFile) {
	QSettings settings(settingFile, QSettings::IniFormat);
	_source = settings.value("Source").toString();
	_dir1 = settings.value("Hasher1").toString();
	_dir2 = settings.value("Hasher2").toString();
	_stepsFile = settings.value("Steps").toString();
	_output = settings.value("Output", "out").toString();
	_dbSize = settings.value("DBsize").toInt();
	_recToRead = settings.value("RecordsToRead").toInt();
	_searchFile = settings.value("Search").toString();
#ifdef DEBUG3
	qDebug() << _source << _dir1 << _dir2 << _stepsFile;
#endif
	setSteps();
	_hashers[0] = NumberSystemHasher::build;
	_hashers[1] = CloserHasher::build;
}
Example #6
0
void ScrollBar::moveSlider(double min, double max)
{
  if (mLogScale)
    {
      min = log(min);
      max = log(max);
    }

  int sliderTicks;
  sliderTicks = qRound((max - min) /
                       (d_maxBase - d_minBase) * d_baseTicks);

  // setRange initiates a valueChanged of the scrollbars
  // in some situations. So we block
  // and unblock the signals.

  blockSignals(true);

  setRange(sliderTicks / 2, d_baseTicks - sliderTicks / 2);
  int steps = sliderTicks / 200;

  if (steps <= 0)
    steps = 1;

#if QT_VERSION < 0x040000
  setSteps(steps, sliderTicks);
#else
  setSingleStep(steps);
  setPageStep(sliderTicks);
#endif

  int tick;
  tick = mapToTick(min + (max - min) / 2);

  if (isInverted())
    tick = d_baseTicks - tick;

#if QT_VERSION < 0x040000
  directSetValue(tick);
  rangeChange();
#else
  setSliderPosition(tick);
#endif
  blockSignals(false);
}
QmitkPopupColorChooser::QmitkPopupColorChooser(QWidget* parent, unsigned int steps, unsigned int size)
: QFrame (parent, Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::Tool | Qt::X11BypassWindowManagerHint),
  my_parent(parent)
{
  setSteps(steps);

  setLineWidth(2);
  setMouseTracking ( TRUE );

  //setMargin(0);
  //setAutoMask( FALSE );
  setFrameStyle ( QFrame::Panel | QFrame::Raised );
  setLineWidth( 1 );
  ensurePolished();
  resize(size, size);

  hide();
}
Example #8
0
USING_AWAY_NAMESPACE

HoverController::HoverController(Entity* targetObject,
	                             float panAngle,
	                             float tiltAngle,
	                             float distance,
	                             float minTiltAngle,
	                             float maxTiltAngle,
	                             float minPanAngle,
	                             float maxPanAngle,
	                             int steps,
	                             float yFactor,
	                             bool wrapPanAngle) : LookAtController(targetObject)
{
	m_panAngle = m_currentPanAngle = 0;
	m_tiltAngle = m_currentTiltAngle = 90;
	m_distance = 1000;
	m_minPanAngle = -MathConsts::Infinity;
	m_maxPanAngle = MathConsts::Infinity;
	m_minTiltAngle = -90;
	m_maxTiltAngle = 90;
	m_steps = 8;
	m_yFactor = 2;
	m_wrapPanAngle = false;

	setDistance(distance);
	setPanAngle(panAngle);
	setTiltAngle(tiltAngle);
	setMinPanAngle(minPanAngle);
	setMaxPanAngle(maxPanAngle);
	setMinTiltAngle(minTiltAngle);
	setMaxTiltAngle(maxTiltAngle);
	setSteps(steps);
	setYFactor(yFactor);
	setWrapPanAngle(wrapPanAngle);

	//values passed in constructor are applied immediately
	m_currentPanAngle = m_panAngle;
	m_currentTiltAngle = m_tiltAngle;
}
void RKSpinBox::updateDisplay () {
	if (updating_b) return;
	updating_b = true;

	if (mode == Real) {
		if (value () != 0) {
			int change = value ();
			setValue (0);

			int power;
			if (real_value != 0) {
				power = (int) log10 (fabs (real_value)) - default_precision;
				if (power < (-default_precision)) power = -default_precision;
				if (power > 10) power = 10;
			} else {
				power = -default_precision;
			}
			double step = pow (10, power);

			real_value += change * step;
			if (real_value > real_max) real_value = real_max;
			if (real_value < real_min) real_value = real_min;
		}
		setUpdatesEnabled (false);
		QSpinBox::updateDisplay ();	// need this to enable/disable the button correctly
		editor ()->setText (QString ().setNum (real_value));
		setUpdatesEnabled (true);
	} else {
		QSpinBox::updateDisplay ();

		int power;
		if (value () != 0) power = (int) log10 (abs (value ()));
		else power = 1;
		int step = (int) pow (10, power-1);
		if (step < 1) step = 1;
		setSteps (step, 10*step);
	}

	updating_b = false;
}
void RKSpinBox::setRealMode (double min, double max, double initial, int default_precision, int max_precision) {
	RK_ASSERT ((max_precision >= default_precision) && (max_precision <= 8));

	mode = Real;
	QValidator *new_validator = new QDoubleValidator (min, max, max_precision, this);
	setValidator (new_validator);
	delete validator;
	validator = new_validator;

	/* the integer value and boundaries are mostly meaningless in real mode. Effectively, what we do is:
		1) set the value to 0
		2) whenever the value has changed, change the real value by that many steps (updateDisplay ())
		3) goto 1 */
	setMinValue (-1000);
	setMaxValue (1000);
	setSteps (1, 10);

	real_value = initial;
	real_min = min;
	real_max = max;
	RKSpinBox::default_precision = default_precision;

	setValue (0);
}
Example #11
0
medium::medium(ParameterReader *paraRdr_in, char _filename[])
{
  //Initialize parameter reader
  paraRdr = paraRdr_in;

  // Read coord system parameters 
  vector<int> _steps;
  vector<double> _gridmin, _gridmax;
  nt = paraRdr->getVal("grid_nt");
  _steps.push_back(nt);
  t0 = paraRdr->getVal("grid_t0");
  _gridmin.push_back(t0);
  t1 = paraRdr->getVal("grid_t1");
  _gridmax.push_back(t1);
  nx = paraRdr->getVal("grid_nx");
  _steps.push_back(nx);
  x0 = paraRdr->getVal("grid_x0");
  _gridmin.push_back(x0);
  x1 = paraRdr->getVal("grid_x1");
  _gridmax.push_back(x1);
  ny = paraRdr->getVal("grid_ny");
  _steps.push_back(ny);
  y0 = paraRdr->getVal("grid_y0");
  _gridmin.push_back(y0);
  y1 = paraRdr->getVal("grid_y1");
  _gridmax.push_back(y1);
  nz = paraRdr->getVal("grid_nz");
  _steps.push_back(nz);
  z0 = paraRdr->getVal("grid_z0");
  _gridmin.push_back(z0);
  z1 = paraRdr->getVal("grid_z1");
  _gridmax.push_back(z1);
  medium_type = paraRdr->getVal("medium_type");
  CC = paraRdr->getVal("dim_CC");
  DD = paraRdr->getVal("dim_DD");
  TT = paraRdr->getVal("dim_TT");
  setSteps(_steps);
  setGridMin(_gridmin);
  setGridMax(_gridmax);

  // Read OSCAR specific parameters
  parse_it = paraRdr->getVal("parse_it");
  parse_ix = paraRdr->getVal("parse_ix");
  parse_iy = paraRdr->getVal("parse_iy");
  parse_iz = paraRdr->getVal("parse_iz");
  parse_tau = paraRdr->getVal("parse_tau");
  parse_x = paraRdr->getVal("parse_x");
  parse_y = paraRdr->getVal("parse_y");
  parse_eta = paraRdr->getVal("parse_eta");
  parse_e = paraRdr->getVal("parse_e");
  parse_p = paraRdr->getVal("parse_p");
  parse_T = paraRdr->getVal("parse_T");
  parse_R_qgp = paraRdr->getVal("parse_R_qgp");
  parse_vx = paraRdr->getVal("parse_vx");
  parse_vy = paraRdr->getVal("parse_vy");
  parse_y_L = paraRdr->getVal("parse_y_L");
  parse_n = paraRdr->getVal("parse_n");
  parse_mu = paraRdr->getVal("parse_mu");
  parse_Diss = paraRdr->getVal("parse_Diss");
  parse_Tr = paraRdr->getVal("parse_Tr");
  toggle_it = paraRdr->getVal("toggle_it");
  toggle_ix = paraRdr->getVal("toggle_ix");
  toggle_iy = paraRdr->getVal("toggle_iy");
  toggle_iz = paraRdr->getVal("toggle_iz");
  toggle_tau = paraRdr->getVal("toggle_tau");
  toggle_x = paraRdr->getVal("toggle_x");
  toggle_y = paraRdr->getVal("toggle_y");
  toggle_eta = paraRdr->getVal("toggle_eta");
  toggle_e = paraRdr->getVal("toggle_e");
  toggle_p = paraRdr->getVal("toggle_p");
  toggle_T = paraRdr->getVal("toggle_T");
  toggle_R_qgp = paraRdr->getVal("toggle_R_qgp");
  toggle_vx = paraRdr->getVal("toggle_vx");
  toggle_vy = paraRdr->getVal("toggle_vy");
  toggle_y_L = paraRdr->getVal("toggle_y_L");
  toggle_n = paraRdr->getVal("toggle_n");
  toggle_mu = paraRdr->getVal("toggle_mu");
  toggle_Diss = paraRdr->getVal("toggle_Diss");
  toggle_Tr = paraRdr->getVal("toggle_Tr");

  //Initialize OSCAR file stream
  filename = _filename;
  ifstream infile;   
  infile.open(filename);

  // Initialize the 2D array saver
  array2D = new double*[nx];
  for(int ix=0;ix<nx;ix++){
    array2D[ix] = new double[ny]();
    for (int iy=0;iy<ny;iy++) array2D[ix][iy]=0.0;
  }
}
Example #12
0
void TumblerWindow::newData(TumblerStruct *xtum)
{
  setSteps(xtum);
  fillSlice(xtum);
  return;
}
Example #13
0
/*!
  Sets the line step to \e i.

  Calls the virtual stepChange() function if the new line step is
  different from the previous setting.

  \sa lineStep() QRangeControl::setSteps() setPageStep() setRange()
*/
void QSlider::setLineStep( int i )
{
    setSteps( i, pageStep() );
}
void PulseAudioControl::update()
{
    openConnection();

    if (dbusConnection == NULL) {
        return;
    }

    DBusError error;
    dbus_error_init(&error);

    DBusMessage *reply = NULL;
    DBusMessage *msg = dbus_message_new_method_call(VOLUME_SERVICE, VOLUME_PATH, "org.freedesktop.DBus.Properties", "GetAll");
    if (msg != NULL) {
        dbus_message_append_args(msg, DBUS_TYPE_STRING, &VOLUME_INTERFACE, DBUS_TYPE_INVALID);

        reply = dbus_connection_send_with_reply_and_block(dbusConnection, msg, -1, &error);

        DBUS_ERR_CHECK (error);

        dbus_message_unref(msg);
    }

    int currentStep = -1, stepCount = -1;
    if (reply != NULL) {
        if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_METHOD_RETURN) {
            DBusMessageIter iter;
            dbus_message_iter_init(reply, &iter);
            // Recurse into the array [array of dicts]
            while (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_INVALID) {
                DBusMessageIter dict_entry;
                dbus_message_iter_recurse(&iter, &dict_entry);

                // Recurse into the dict [ dict_entry (string, variant(int)) ]
                while (dbus_message_iter_get_arg_type(&dict_entry) != DBUS_TYPE_INVALID) {
                    DBusMessageIter in_dict;
                    // Recurse into the dict_entry [ string, variant(int) ]
                    dbus_message_iter_recurse(&dict_entry, &in_dict);
                    {
                        char *prop_name = NULL;
                        // Get the string value, "property name"
                        dbus_message_iter_get_basic(&in_dict, &prop_name);

                        dbus_message_iter_next(&in_dict);

                        DBusMessageIter variant;
                        // Recurse into the variant [ variant(int) ]
                        dbus_message_iter_recurse(&in_dict, &variant);

                        quint32 value;
                        // Get the variant value which is uint32
                        dbus_message_iter_get_basic(&variant, &value);

                        if (prop_name && strcmp(prop_name, "StepCount") == 0) {
                            stepCount = value;
                        } else if (prop_name && strcmp(prop_name, "CurrentStep") == 0) {
                            currentStep = value;
                        }
                    }

                    dbus_message_iter_next(&dict_entry);
                }
                dbus_message_iter_next(&iter);
            }
        }
        dbus_message_unref(reply);
    }

    if (currentStep != -1 && stepCount != -1) {
        setSteps(currentStep, stepCount);
    }
}
Example #15
0
void QDial::setLineStep( int i )
{
    setSteps( i, pageStep() );
}
Example #16
0
void QDial::setPageStep( int i )
{
    setSteps( lineStep(), i );
}
Example #17
0
/*!
  Sets the page step to \e i.

  Calls the virtual stepChange() function if the new page step is
  different from the previous setting.

  \sa pageStep() QRangeControl::setSteps() setLineStep() setRange()
*/
void QSlider::setPageStep( int i )
{
    setSteps( lineStep(), i );
}