Пример #1
0
QString ModelPrinter::printInputLine(const ExpoData & input)
{
  QString str = " ";

  switch (input.mode) {
    case (1): str += "<- "; break;
    case (2): str += "-> "; break;
    default:  str += "   "; break;
  }

  if (firmware->getCapability(VirtualInputs)) {
    str += Qt::escape(input.srcRaw.toString(&model));
  }

  str += " " + Qt::escape(tr("Weight")) + QString("(%1)").arg(getGVarString(input.weight,true));
  if (input.curve.value) str += " " + Qt::escape(input.curve.toString());

  QString flightModesStr = printFlightModes(input.flightModes);
  if (!flightModesStr.isEmpty()) str += " " + Qt::escape(flightModesStr);

  if (input.swtch.type != SWITCH_TYPE_NONE) 
    str += " " + Qt::escape(tr("Switch")) + QString("(%1)").arg(input.swtch.toString());


  if (firmware->getCapability(VirtualInputs)) {
    if (input.carryTrim>0) str += " " + Qt::escape(tr("NoTrim"));
    else if (input.carryTrim<0) str += " " + Qt::escape(RawSource(SOURCE_TYPE_TRIM, (-(input.carryTrim)-1)).toString(&model));
  }

  if (firmware->getCapability(HasExpoNames) && input.name[0]) 
    str += Qt::escape(QString(" [%1]").arg(input.name));

  return str;
}
Пример #2
0
QString ModelPrinter::printMixerLine(const MixData & mix, bool showMultiplex, int highlightedSource)
{
    QString str = "&nbsp;";

    if (showMultiplex) {
        switch(mix.mltpx) {
        case (1):
            str += "*=";
            break;
        case (2):
            str += ":=";
            break;
        default:
            str += "+=";
            break;
        }
    }
    else {
        str += "&nbsp;&nbsp;";
    }
    // highlight source if needed
    QString source = Qt::escape(mix.srcRaw.toString(&model));
    if ( (mix.srcRaw.type == SOURCE_TYPE_CH) && (mix.srcRaw.index+1 == (int)highlightedSource) ) {
        source = "<b>" + source + "</b>";
    }
    str += "&nbsp;" + source;

    str += " " + Qt::escape(tr("Weight(%1)").arg(getGVarString(mix.weight, true)));

    QString flightModesStr = printFlightModes(mix.flightModes);
    if (!flightModesStr.isEmpty())
        str += " " + Qt::escape(flightModesStr);

    if (mix.swtch.type != SWITCH_TYPE_NONE)
        str += " " + Qt::escape(tr("Switch(%1)").arg(mix.swtch.toString()));

    if (mix.carryTrim > 0)
        str += " " + Qt::escape(tr("NoTrim"));
    else if (mix.carryTrim < 0)
        str += " " + RawSource(SOURCE_TYPE_TRIM, (-(mix.carryTrim)-1)).toString(&model);

    if (firmware->getCapability(HasNoExpo) && mix.noExpo)
        str += " " + Qt::escape(tr("No DR/Expo"));
    if (mix.sOffset)
        str += " " + Qt::escape(tr("Offset(%1)").arg(getGVarString(mix.sOffset)));
    if (mix.curve.value)
        str += " " + Qt::escape(mix.curve.toString());
    int scale = firmware->getCapability(SlowScale);
    if (scale == 0)
        scale = 1;
    if (mix.delayDown || mix.delayUp)
        str += " " + Qt::escape(tr("Delay(u%1:d%2)").arg((double)mix.delayUp/scale).arg((double)mix.delayDown/scale));
    if (mix.speedDown || mix.speedUp)
        str += " " + Qt::escape(tr("Slow(u%1:d%2)").arg((double)mix.speedUp/scale).arg((double)mix.speedDown/scale));
    if (mix.mixWarn)
        str += " " + Qt::escape(tr("Warn(%1)").arg(mix.mixWarn));
    if (firmware->getCapability(HasMixerNames) && mix.name[0])
        str += Qt::escape(QString(" [%1]").arg(mix.name));
    return str;
}
Пример #3
0
QString MultiModelPrinter::print(QTextDocument * document)
{
  if (document) document->clear();

  QString str = "<table border='1' cellspacing='0' cellpadding='3' width='100%' style='font-family: monospace;'>";
  str += printSetup();
  if (firmware->getCapability(FlightModes))
    str += printFlightModes();
  str += printInputs();
  str += printMixers();
  str += printLimits();
  str += printCurves(document);
  if (firmware->getCapability(Gvars) && !firmware->getCapability(GvarsFlightModes))
    str += printGvars();
  str += printLogicalSwitches();
  str += printCustomFunctions();
  str += printTelemetry();
  str += "</table>";
  return str;
}