Re #1063: Deduplication of code for Inputs, Mixers, Logical Switches and Special Functions

This commit is contained in:
Damjan Adamic
2015-07-28 20:57:06 +02:00
parent 34c311a562
commit 4e4d0fe883
19 changed files with 1991 additions and 2318 deletions
+8 -36
View File
@@ -5,7 +5,8 @@
InputsPanel::InputsPanel(QWidget *parent, ModelData & model, GeneralSettings & generalSettings, Firmware * firmware):
ModelPanel(parent, model, generalSettings, firmware),
expoInserted(false)
expoInserted(false),
modelPrinter(firmware, &generalSettings, &model)
{
inputsCount = firmware->getCapability(VirtualInputs);
if (inputsCount == 0)
@@ -135,7 +136,7 @@ QString InputsPanel::getInputText(int dest, bool * new_ch)
QString str;
if (new_ch) *new_ch = 0;
if (dest < 0) {
str = getInputStr(model, -dest-1);
str = modelPrinter.printInputName(-dest-1);
if (new_ch) *new_ch = 1;
}
else {
@@ -144,9 +145,9 @@ QString InputsPanel::getInputText(int dest, bool * new_ch)
if ((dest == 0) || (model->expoData[dest-1].chn != md->chn)) {
if (new_ch) *new_ch = 1;
if (firmware->getCapability(VirtualInputs))
str = QString("%1").arg(getInputStr(model, md->chn), -10, ' ');
str += QString("%1").arg(modelPrinter.printInputName(md->chn), -10, ' ');
else
str = getInputStr(model, md->chn);
str = modelPrinter.printInputName(md->chn);
}
else {
if (firmware->getCapability(VirtualInputs))
@@ -154,39 +155,10 @@ QString InputsPanel::getInputText(int dest, bool * new_ch)
else
str = " ";
}
switch (md->mode) {
case (1): str += " <-"; break;
case (2): str += " ->"; break;
default: str += " "; break;
}
str += " " + tr("Weight(%1)").arg(getGVarString(md->weight));
if (md->offset) str += " " + tr("Offset(%1)").arg(getGVarString(md->offset));
if (firmware->getCapability(VirtualInputs)) {
str += " " + tr("Source(%1)").arg(md->srcRaw.toString(model));
if (md->carryTrim>0) {
str += " " + tr("NoTrim");
}
else if (md->carryTrim<0) {
str += " " + RawSource(SOURCE_TYPE_TRIM, (-(md->carryTrim)-1)).toString(model);
}
}
if (md->curve.value) str += " " + md->curve.toString();
QString phasesStr = getPhasesStr(md->phases, model);
if (!phasesStr.isEmpty()) str += " " + phasesStr;
if (md->swtch.type != SWITCH_TYPE_NONE) str += " " + tr("Switch(%1)").arg(md->swtch.toString());
if (firmware->getCapability(HasExpoNames)) {
QString expoName = md->name;
if (!expoName.isEmpty()) str += QString(" [%1]").arg(expoName);
}
str.replace(" ", "&nbsp;");
str += modelPrinter.printInputLine(md);
}
return Qt::escape(str).replace(" ", "&nbsp;");
return str;
}
bool InputsPanel::gm_insertExpo(int idx)