Ref T609, active COM1/2 in sim LEDs and function

This commit is contained in:
Klaus Basan
2019-04-16 18:01:10 +02:00
parent 9f8f70c22a
commit 918559e60f
3 changed files with 341 additions and 308 deletions

View File

@@ -43,20 +43,18 @@ namespace BlackGui
connect(ui->cbp_ComPanelTransponderMode, &CTransponderModeSelector::transponderStateIdentEnded, this, &CCockpitComForm::transponderStateIdentEnded);
// COM GUI events
connect(ui->tb_ComPanelCom1Toggle, &QPushButton::clicked, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->tb_ComPanelCom2Toggle, &QPushButton::clicked, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->ds_ComPanelCom1Active, &QDoubleSpinBox::editingFinished, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->ds_ComPanelCom2Active, &QDoubleSpinBox::editingFinished, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->ds_ComPanelCom1Standby, &QDoubleSpinBox::editingFinished, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->ds_ComPanelCom2Standby, &QDoubleSpinBox::editingFinished, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->tb_ComPanelCom1Toggle, &QPushButton::clicked, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->tb_ComPanelCom2Toggle, &QPushButton::clicked, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->ds_ComPanelCom1Active, &QDoubleSpinBox::editingFinished, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->ds_ComPanelCom2Active, &QDoubleSpinBox::editingFinished, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->ds_ComPanelCom1Standby, &QDoubleSpinBox::editingFinished, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->ds_ComPanelCom2Standby, &QDoubleSpinBox::editingFinished, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->sbp_ComPanelTransponder, &QDoubleSpinBox::editingFinished, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->cbp_ComPanelTransponderMode, &CTransponderModeSelector::transponderModeChanged, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->frp_ComPanelSelcalSelector, &CSelcalCodeSelector::valueChanged, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->tb_RequestTextMessageCom1, &QToolButton::released, this, &CCockpitComForm::requestCom1TextMessage);
connect(ui->tb_RequestTextMessageCom2, &QToolButton::released, this, &CCockpitComForm::requestCom2TextMessage);
connect(ui->frp_ComPanelSelcalSelector, &CSelcalCodeSelector::valueChanged, this, &CCockpitComForm::onGuiChangedCockpitValues);
connect(ui->tb_RequestTextMessageCom1, &QToolButton::released, this, &CCockpitComForm::requestCom1TextMessage);
connect(ui->tb_RequestTextMessageCom2, &QToolButton::released, this, &CCockpitComForm::requestCom2TextMessage);
ui->led_ComPanelCom1->setShape(CLedWidget::Rounded);
ui->led_ComPanelCom2->setShape(CLedWidget::Rounded);
ui->tb_RequestTextMessageCom1->setIcon(CIcons::appTextMessages16());
ui->tb_RequestTextMessageCom2->setIcon(CIcons::appTextMessages16());
@@ -224,6 +222,8 @@ namespace BlackGui
{
ui->ds_ComPanelCom2Standby->setValue(freq);
}
this->updateActiveCOMUnitLEDs(m_integratedWithSim, com1.isSendEnabled(), com1.isReceiveEnabled(), com2.isSendEnabled(), com2.isReceiveEnabled());
}
void CCockpitComForm::setTransponder(const CTransponder &transponder)
@@ -288,6 +288,24 @@ namespace BlackGui
}
}
void CCockpitComForm::updateActiveCOMUnitLEDs(bool integratedWithSim, bool com1S, bool com1R, bool com2S, bool com2R)
{
if (!integratedWithSim)
{
ui->led_ComPanelCom1R->setTriState();
ui->led_ComPanelCom1S->setTriState();
ui->led_ComPanelCom2R->setTriState();
ui->led_ComPanelCom2S->setTriState();
}
else
{
ui->led_ComPanelCom1R->setOn(com1R);
ui->led_ComPanelCom1S->setOn(com1S);
ui->led_ComPanelCom2R->setOn(com2R);
ui->led_ComPanelCom2S->setOn(com2S);
}
}
bool CCockpitComForm::isFrequenceEqual(double f1, double f2)
{
return CMathUtils::epsilonEqual(f1, f2);

View File

@@ -106,6 +106,9 @@ namespace BlackGui
//! Align the heights
void alignUiElementsHeight();
//! Update UI for COM unit
void updateActiveCOMUnitLEDs(bool integratedWithSim, bool com1S, bool com1R, bool com2S, bool com2R);
//! Compare 2 frequencies (consider epsilon)
static bool isFrequenceEqual(double f1, double f2);

View File

@@ -13,7 +13,7 @@
<property name="windowTitle">
<string>Cockpit COM</string>
</property>
<layout class="QGridLayout" name="gl_CockpitComCo" columnstretch="1,1,2">
<layout class="QGridLayout" name="gl_CockpitComCo" columnstretch="0,0,1">
<property name="leftMargin">
<number>3</number>
</property>
@@ -26,243 +26,6 @@
<property name="bottomMargin">
<number>3</number>
</property>
<item row="1" column="2">
<widget class="QFrame" name="fr_ComPanelTransponder">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="hl_ComPanelTransponder">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CTransponderCodeSpinBox" name="sbp_ComPanelTransponder">
<property name="minimumSize">
<size>
<width>0</width>
<height>18</height>
</size>
</property>
<property name="maximum">
<number>7777</number>
</property>
<property name="value">
<number>7000</number>
</property>
</widget>
</item>
<item>
<widget class="BlackGui::Components::CTransponderModeSelector" name="cbp_ComPanelTransponderMode"/>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QWidget" name="qw_ComPanelCom1Active" native="true">
<layout class="QHBoxLayout" name="hl_ComPanelCom1Active">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="lbl_ComPanelCom1Active">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>COM1:</string>
</property>
<property name="buddy">
<cstring>qw_ComPanelCom1Active</cstring>
</property>
</widget>
</item>
<item alignment="Qt::AlignLeft">
<widget class="BlackGui::CLedWidget" name="led_ComPanelCom1" native="true"/>
</item>
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="QWidget" name="qw_ComPanelCom1Standby" native="true">
<layout class="QHBoxLayout" name="hl_ComPanelCom1Standby">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="lbl_ComPanelCom1Standby">
<property name="text">
<string>standby:</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignLeft">
<widget class="QToolButton" name="tb_RequestTextMessageCom1">
<property name="toolTip">
<string>Overlay text message</string>
</property>
<property name="whatsThis">
<string>Overlay text message</string>
</property>
<property name="text">
<string>T</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignLeft">
<widget class="QToolButton" name="tb_ComPanelCom1Toggle">
<property name="toolTip">
<string>Toggle COM 1 standby/active</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../../blackmisc/blackmisc.qrc">
<normaloff>:/diagona/icons/diagona/icons/arrow-circle-double-135.png</normaloff>:/diagona/icons/diagona/icons/arrow-circle-double-135.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="2">
<widget class="QFrame" name="fr_ComPanelSelcalTop">
<layout class="QFormLayout" name="fl_ComPanelSelcalTop">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="lbl_ComSelcalSelcal">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>SELCAL:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QToolButton" name="tb_ComPanelSelcalTest">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>test SELCAL</string>
</property>
<property name="text">
<string>test SELCAL</string>
</property>
<property name="icon">
<iconset resource="../../blackmisc/blackmisc.qrc">
<normaloff>:/diagona/icons/diagona/icons/speaker-volume.png</normaloff>:/diagona/icons/diagona/icons/speaker-volume.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="3" column="0">
<widget class="QDoubleSpinBox" name="ds_ComPanelCom1Standby">
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>118.000000000000000</double>
</property>
<property name="maximum">
<double>136.974999999999994</double>
</property>
<property name="singleStep">
<double>0.025000000000000</double>
</property>
<property name="value">
<double>119.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="ds_ComPanelCom2Standby">
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>118.000000000000000</double>
</property>
<property name="maximum">
<double>136.974999999999994</double>
</property>
<property name="singleStep">
<double>0.025000000000000</double>
</property>
<property name="value">
<double>119.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="BlackGui::Components::CSelcalCodeSelector" name="frp_ComPanelSelcalSelector">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="ds_ComPanelCom1Active">
<property name="decimals">
@@ -282,65 +45,6 @@
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QWidget" name="qw_ComPanelCom2Active" native="true">
<layout class="QHBoxLayout" name="hl_ComPanelCom2Active">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="lbl_ComPanelCom2Active">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>COM2:</string>
</property>
<property name="buddy">
<cstring>qw_ComPanelCom2Active</cstring>
</property>
</widget>
</item>
<item alignment="Qt::AlignLeft">
<widget class="BlackGui::CLedWidget" name="led_ComPanelCom2" native="true"/>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="ds_ComPanelCom2Active">
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>118.000000000000000</double>
</property>
<property name="maximum">
<double>136.974999999999994</double>
</property>
<property name="singleStep">
<double>0.025000000000000</double>
</property>
<property name="value">
<double>119.000000000000000</double>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QWidget" name="qw_ComPanelTransponder" native="true">
<layout class="QHBoxLayout" name="hl_ComPanelTransponderHeader">
@@ -375,6 +79,198 @@
</layout>
</widget>
</item>
<item row="3" column="0">
<widget class="QDoubleSpinBox" name="ds_ComPanelCom1Standby">
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>118.000000000000000</double>
</property>
<property name="maximum">
<double>136.974999999999994</double>
</property>
<property name="singleStep">
<double>0.025000000000000</double>
</property>
<property name="value">
<double>119.000000000000000</double>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QWidget" name="qw_ComPanelCom2Active" native="true">
<layout class="QHBoxLayout" name="hl_ComPanelCom2Active">
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="lbl_ComPanelCom2Active">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>COM2:</string>
</property>
<property name="buddy">
<cstring>qw_ComPanelCom2Active</cstring>
</property>
</widget>
</item>
<item>
<widget class="BlackGui::CLedWidget" name="led_ComPanelCom2" native="true"/>
</item>
<item>
<widget class="BlackGui::CLedWidget" name="led_ComPanelCom2R" native="true"/>
</item>
<item>
<widget class="BlackGui::CLedWidget" name="led_ComPanelCom2S" native="true"/>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="ds_ComPanelCom2Active">
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>118.000000000000000</double>
</property>
<property name="maximum">
<double>136.974999999999994</double>
</property>
<property name="singleStep">
<double>0.025000000000000</double>
</property>
<property name="value">
<double>119.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="ds_ComPanelCom2Standby">
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>118.000000000000000</double>
</property>
<property name="maximum">
<double>136.974999999999994</double>
</property>
<property name="singleStep">
<double>0.025000000000000</double>
</property>
<property name="value">
<double>119.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QFrame" name="fr_ComPanelTransponder">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="hl_ComPanelTransponder">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CTransponderCodeSpinBox" name="sbp_ComPanelTransponder">
<property name="minimumSize">
<size>
<width>0</width>
<height>18</height>
</size>
</property>
<property name="maximum">
<number>7777</number>
</property>
<property name="value">
<number>7000</number>
</property>
</widget>
</item>
<item>
<widget class="BlackGui::Components::CTransponderModeSelector" name="cbp_ComPanelTransponderMode"/>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QWidget" name="qw_ComPanelCom1Active" native="true">
<layout class="QHBoxLayout" name="hl_ComPanelCom1Active" stretch="0,0,0,0">
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="lbl_ComPanelCom1Active">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>COM1:</string>
</property>
<property name="buddy">
<cstring>qw_ComPanelCom1Active</cstring>
</property>
</widget>
</item>
<item>
<widget class="BlackGui::CLedWidget" name="led_ComPanelCom1" native="true"/>
</item>
<item>
<widget class="BlackGui::CLedWidget" name="led_ComPanelCom1S" native="true"/>
</item>
<item>
<widget class="BlackGui::CLedWidget" name="led_ComPanelCom1R" native="true"/>
</item>
</layout>
</widget>
</item>
<item row="2" column="1">
<widget class="QWidget" name="qw_ComPanelCom2Standby" native="true">
<layout class="QHBoxLayout" name="hl_ComPanelCom2Standby">
@@ -436,6 +332,122 @@
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="QWidget" name="qw_ComPanelCom1Standby" native="true">
<layout class="QHBoxLayout" name="hl_ComPanelCom1Standby">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="lbl_ComPanelCom1Standby">
<property name="text">
<string>standby:</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignLeft">
<widget class="QToolButton" name="tb_RequestTextMessageCom1">
<property name="toolTip">
<string>Overlay text message</string>
</property>
<property name="whatsThis">
<string>Overlay text message</string>
</property>
<property name="text">
<string>T</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignLeft">
<widget class="QToolButton" name="tb_ComPanelCom1Toggle">
<property name="toolTip">
<string>Toggle COM 1 standby/active</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../../blackmisc/blackmisc.qrc">
<normaloff>:/diagona/icons/diagona/icons/arrow-circle-double-135.png</normaloff>:/diagona/icons/diagona/icons/arrow-circle-double-135.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="3" column="2">
<widget class="BlackGui::Components::CSelcalCodeSelector" name="frp_ComPanelSelcalSelector">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QFrame" name="fr_ComPanelSelcalTop">
<layout class="QFormLayout" name="fl_ComPanelSelcalTop">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="lbl_ComSelcalSelcal">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>SELCAL:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QToolButton" name="tb_ComPanelSelcalTest">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>test SELCAL</string>
</property>
<property name="text">
<string>test SELCAL</string>
</property>
<property name="icon">
<iconset resource="../../blackmisc/blackmisc.qrc">
<normaloff>:/diagona/icons/diagona/icons/speaker-volume.png</normaloff>:/diagona/icons/diagona/icons/speaker-volume.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<customwidgets>