Beispiel #1
0
Variometer::Variometer(QObject *parent, ExtPlaneConnection *conn) : NeedleInstrument(parent), _client(this, typeName(), conn) {
    conn->registerClient(&_client);
    _client.subscribeDataRef("sim/flightmodel/position/vh_ind_fpm", 2.0);
    connect(&_client, SIGNAL(refChanged(QString,double)), this, SLOT(velocityChanged(QString,double)));
    setBars(500, 100);
    setNumbers(500);
    setNumberScale(0.01);
    setUnit(VELOCITY_FPM);
    setMaxValue(2000);
    setMinTextValue(-2000);
    isTotalEnergy = false;
    setIsTotalEnergy(false);
}
Beispiel #2
0
ViSpectrumWidget::ViSpectrumWidget(QWidget *parent)
	: ViWidget(parent)
{
	mCurrentSpectrumIndex = -1;
	mCurrentTime = -1;
	mMainHeight = height() * MIRROR_RATIO;

	setMode(ViSpectrumWidget::Amplitude);
	setSpacing(1);
	setBars(256);

	QObject::connect(engine().data(), SIGNAL(spectrumChanged(ViRealSpectrum, qint64)), this, SLOT(addSpectrum(ViRealSpectrum, qint64)), Qt::DirectConnection);
	QObject::connect(engine().data(), SIGNAL(positionChanged(ViAudioPosition)), this, SLOT(update(ViAudioPosition)), Qt::DirectConnection);
}
Beispiel #3
0
Variometer::Variometer(ExtPlanePanel *panel, ExtPlaneConnection *conn) : NeedleInstrument(panel),
    _client(this, typeName(), conn), interpolator(0, 3) {
    conn->registerClient(&_client);
    _client.subscribeDataRef("sim/flightmodel/position/vh_ind", VARIOMETER_ACCURACY);
    connect(&_client, SIGNAL(refChanged(QString,double)), &interpolator, SLOT(valueChanged(QString,double)));
    connect(&interpolator, SIGNAL(interpolatedValueChanged(QString,double)), this, SLOT(velocityChanged(QString,double)));
    setBars(1, 0.5);
    setNumbers(1);
    setUnit(VELOCITY_MS);
    setMaxValue(5);
    isTotalEnergy = false;
    setIsTotalEnergy(false);
    setNeedle(new GABalancedNeedle(this));
}
AirspeedIndicator::AirspeedIndicator(ExtPlanePanel *panel, ExtPlaneConnection *conn) : NeedleInstrument(panel),
    _client(this, typeName(), conn), interpolator(0, 5) {
    conn->registerClient(&_client);
    _client.subscribeDataRef("sim/cockpit2/gauges/indicators/airspeed_kts_pilot", 0.3);
    // _client.subscribeDataRef("simulated", 1);
    connect(&_client, SIGNAL(refChanged(QString,double)), &interpolator, SLOT(valueChanged(QString,double)));
    connect(&interpolator, SIGNAL(interpolatedValueChanged(QString,double)), this, SLOT(speedChanged(QString,double)));
    setBars(20, 10);
    setNumbers(50);
    setUnit(VELOCITY_KTS);
    setMaxValue(300);
    setVso(35);
    setVs(50);
    setVfe(110);
    setVno(150);
    setVne(200);
    yellowTriangle = vs;
    setNeedle(new GABalancedNeedle(this));
}
Beispiel #5
0
int
DBStock::command (PluginData *pd)
{
  int rc = 0;

  QStringList cl;
  cl << "type" << "init" << "getBars" << "setBars" << "newTable" << "transaction" << "commit";
  
  switch (cl.indexOf(pd->command))
  {
    case 0: // type
      pd->type = QString("db");
      rc = 1;
      break;
    case 1: // init
      rc = init();
      break;
    case 2: // getBars
      rc = getBars(pd);
      break;
    case 3: // setBars
      rc = setBars(pd);
      break;
    case 4: // newTable
      rc = newTable(pd);
      break;
    case 5: // transaction
      _db.transaction();
      rc = 1;
      break;
    case 6: // commit
      _db.commit();
      rc = 1;
      break;
    default:
      break;
  }
  
  return rc;
}
Beispiel #6
0
void FileTransferDlg::process()
{
    if (m_msg->m_transfer == NULL)
        return;
    if ((m_msg->m_transfer->state() != m_state) || (m_msg->m_transfer->file() != m_file)){
        m_state = m_msg->m_transfer->state();
        m_file  = m_msg->m_transfer->file();
        QString status;
        bool bName = false;
        switch (m_state){
        case FileTransfer::Listen:
            status = i18n("Listen");
            break;
        case FileTransfer::Connect:
            status = i18n("Connect");
            break;
        case FileTransfer::Negotiation:
            status = i18n("Negotiation");
            break;
        case FileTransfer::Read:
            status = i18n("Receive");
            bName = true;
            break;
        case FileTransfer::Write:
            status = i18n("Send");
            bName = true;
            break;
        case FileTransfer::Done:
            status = i18n("Transfer done");
            break;
        case FileTransfer::Error:
            if (m_msg->getError())
                status = i18n(m_msg->getError());
            break;
        default:
            break;
        }
        if (bName && (m_files > 1)){
            FileMessage::Iterator it(*m_msg);
            status += " ";
            const char *n = it[m_file];
            if (n){
#ifdef WIN32
                const char *p = strrchr(n, '\\');
#else
                const char *p = strrchr(n, '/');
#endif
                if (p)
                    n = p + 1;
                status += QFile::decodeName(n);
                status += QString(" %1/%2")
                          .arg(m_file + 1)
                          .arg(m_msg->m_transfer->files());
            }
        }
        lblState->setText(status);
        setBars();
    }
    calcSpeed();
    if ((int)(m_msg->m_transfer->speed()) != sldSpeed->value())
        sldSpeed->setValue(m_msg->m_transfer->speed());
    if (m_msg->m_transfer->files() != m_files){
        m_files = m_msg->m_transfer->files();
        if (m_files > 1){
            if (!barFile->isVisible())
                barFile->show();
        }else{
            if (barFile->isVisible())
                barFile->hide();
        }
    }
}
Beispiel #7
0
void FileTransferDlg::process()
{
    if (m_msg->m_transfer == NULL)
        return;
    if ((m_msg->m_transfer->state() != m_state) || (m_msg->m_transfer->file() != m_file)){
        m_state = m_msg->m_transfer->state();
        m_file  = m_msg->m_transfer->file();
        QString status;
        bool bName = false;
        switch (m_state){
        case FileTransfer::Listen:
            status = i18n("Listen");
            break;
        case FileTransfer::Connect:
            status = i18n("Connect");
            break;
        case FileTransfer::Negotiation:
            status = i18n("Negotiation");
            break;
        case FileTransfer::Read:
            status = i18n("Receive");
            bName = true;
            break;
        case FileTransfer::Write:
            status = i18n("Send");
            bName = true;
            break;
        case FileTransfer::Done:
            status = i18n("Transfer done");
			if (!m_dir.isEmpty())
				btnGo->show();
            break;
        case FileTransfer::Error:
            if (m_msg->getError())
                status = i18n(m_msg->getError());
            break;
        default:
            break;
        }
        if (bName && (m_files > 1)){
            FileMessage::Iterator it(*m_msg);
            status += " ";
            const QString *n = it[m_file];
            if (n){
				QString shortName = *n;
				shortName = shortName.replace(QRegExp("\\\\"), "/");
				int n = shortName.findRev("/");
				if (n >= 0)
					shortName = shortName.mid(n + 1);
                status += shortName;
                status += QString(" %1/%2")
                          .arg(m_file + 1)
                          .arg(m_msg->m_transfer->files());
            }
        }
        lblState->setText(status);
        setBars();
    }
    calcSpeed();
    if ((int)(m_msg->m_transfer->speed()) != sldSpeed->value())
        sldSpeed->setValue(m_msg->m_transfer->speed());
    if (m_msg->m_transfer->files() != m_files){
        m_files = m_msg->m_transfer->files();
        if (m_files > 1){
            if (!barFile->isVisible())
                barFile->show();
        }else{
            if (barFile->isVisible())
                barFile->hide();
        }
    }
}