void QSpinBoxReal32::updateDisplay(void) { getLineEdit()->setUpdatesEnabled(false ); QString value(_spinHelper.getValueByStr().c_str()); value.setNum (value.toFloat() ); getLineEdit()->setText (value ); getLineEdit()->setEnabled (isEnabled() && !getReadOnly() ); getLineEdit()->setUpdatesEnabled(true ); getLineEdit()->repaint (false ); bool bUpEnabled = (isEnabled () == true ) && (getReadOnly() == false ) && ((_spinHelper.getValue() < _spinHelper.getUpperBound()) || (_spinHelper.getWrapAround() == true ) ); bool bDownEnabled = (isEnabled () == true ) && (getReadOnly() == false ) && ((_spinHelper.getValue() > _spinHelper.getLowerBound()) || (_spinHelper.getWrapAround() == true ) ); _pSpinWidget->setUpEnabled (bUpEnabled ); _pSpinWidget->setDownEnabled(bDownEnabled); repaint(false); }
void QSpinBoxReal32::wheelEvent(QWheelEvent *pWheelEvent) { Real32 offset = pWheelEvent->delta()/120.0; Int32 integralOffset = static_cast<Int32>(offset); pWheelEvent->accept(); if(getReadOnly() == true) return; while(integralOffset < 0) { ++integralOffset; this->stepDown(); } while(integralOffset > 0) { --integralOffset; this->stepUp(); } }
void TelescopeClientJsonRts2::replyFinished(QNetworkReply *reply) { if (reply->error() != QNetworkReply::NoError) { if (reply->url().path().endsWith("/api/cmd") && reply->error() == QNetworkReply::ProtocolInvalidOperationError) { setReadOnly(true); return; } qDebug() << "TelescopeRTS2(" << name << ")::replyFinished: error " << reply->error() << " url: " << reply->url().toString(); telName = ""; if (reconnectTimer < 0) reconnectTimer = startTimer(15000); return; } if (reconnectTimer > 0) { killTimer(reconnectTimer); reconnectTimer = -1; } QByteArray data = reply->readAll(); //qDebug() << "TelescopeRTS2(" << name << ")::replyFinished: data " << (QString) data; QJsonDocument doc; QJsonParseError jsonError; doc = QJsonDocument::fromJson(data, &jsonError); if (reply->url().path().endsWith("/api/devbytype")) { QJsonArray arr = doc.array(); telName = arr[0].toString(); getReadOnly(); } else if (reply->url().path().endsWith("/api/deviceinfo")) { QJsonObject docObject = doc.object(); setReadOnly(docObject["readonly"].toBool()); QUrl rurl(baseurl); rurl.setPath(baseurl.path() + "/api/get"); QUrlQuery query; query.addQueryItem("d", telName); rurl.setQuery(query); request.setUrl(rurl); qDebug() << "TelescopeRTS2(" << name << ")::replyFinished: request url:" << rurl.toString(); refreshTimer(); } else if (reply->url().path().endsWith("/api/get")) { QJsonObject docObject = doc.object(); QJsonObject dObject = docObject["d"].toObject(); QJsonObject telObject = dObject["TEL"].toObject(); telLongitude = dObject["LONGITUD"].toDouble() * M_PI / 180.0; telLatitude = dObject["LATITUDE"].toDouble() * M_PI / 180.0; telAltitude = dObject["ALTITUDE"].toDouble(); telTargetDist = dObject["target_distance"].toDouble() * M_PI / 180.0; const double ra = telObject["ra"].toDouble() * M_PI / 180.0; const double dec = telObject["dec"].toDouble() * M_PI / 180.0; const double cdec = cos(dec); qDebug() << "TelescopeRTS2(" << name << ")::replyFinished: RADEC" << ra << dec; lastPos.set(cos(ra)*cdec, sin(ra)*cdec, sin(dec)); interpolatedPosition.add(lastPos, getNow(), server_micros, 0); QTimer::singleShot(refresh_delay, this, SLOT(refreshTimer())); } else if (reply->url().path().endsWith("/api/cmd")) { QJsonObject docObject = doc.object(); int cmdRet = docObject["ret"].toInt(); qDebug() << "Move command finished: " << cmdRet; if (cmdRet == 0) getReadOnly(); else setReadOnly(true); } else { qWarning() << "TelescopeRTS2(" << name << ")::replyFinished: unhandled reply: " << reply->url().toString(); } reply->deleteLater(); }