mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-03-15 07:29:15 +01:00
OP-984 Added code to allow switching between pid banks by selecting tabs
The tabs are now dynamically created from a constant.
This commit is contained in:
parent
99cfa5339d
commit
958efa62e1
@ -47,17 +47,26 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa
|
||||
ui = new Ui_StabilizationWidget();
|
||||
ui->setupUi(this);
|
||||
|
||||
// Set up fake tab widget stuff for pid banks support
|
||||
m_pidTabBars.append(ui->basicPIDBankTabBar);
|
||||
m_pidTabBars.append(ui->advancedPIDBankTabBar);
|
||||
m_pidTabBars.append(ui->expertPIDBankTabBar);
|
||||
foreach(QTabBar * tabBar, m_pidTabBars) {
|
||||
for (int i = 1; i <= PID_BANKS; i++) {
|
||||
tabBar->addTab(tr("PID Bank %1").arg(i));
|
||||
for (int i = 0; i < PID_BANKS; i++) {
|
||||
tabBar->addTab(tr("PID Bank %1").arg(i + 1));
|
||||
tabBar->setTabData(i, QString("StabilizationSettingsBank%1").arg(i + 1));
|
||||
}
|
||||
tabBar->setExpanding(false);
|
||||
connect(tabBar, SIGNAL(currentChanged(int)), this, SLOT(pidBankChanged(int)));
|
||||
}
|
||||
|
||||
for (int i = 0; i < PID_BANKS; i++) {
|
||||
if(i > 0) {
|
||||
m_stabilizationObjectsString.append(",");
|
||||
}
|
||||
m_stabilizationObjectsString.append(m_pidTabBars.at(0)->tabData(i).toString());
|
||||
}
|
||||
|
||||
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
||||
Core::Internal::GeneralSettings *settings = pm->getObject<Core::Internal::GeneralSettings>();
|
||||
|
||||
@ -221,6 +230,10 @@ void ConfigStabilizationWidget::pidBankChanged(int index)
|
||||
foreach(QTabBar * tabBar, m_pidTabBars) {
|
||||
tabBar->setCurrentIndex(index);
|
||||
}
|
||||
|
||||
for(int i = 0; i < m_pidTabBars.at(0)->count(); i++) {
|
||||
setWidgetBindingObjectEnabled(m_pidTabBars.at(0)->tabData(i).toString(), index == i);
|
||||
}
|
||||
}
|
||||
|
||||
bool ConfigStabilizationWidget::shouldObjectBeSaved(UAVObject *object)
|
||||
@ -232,3 +245,11 @@ bool ConfigStabilizationWidget::shouldObjectBeSaved(UAVObject *object)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
QString ConfigStabilizationWidget::mapObjectName(const QString objectName)
|
||||
{
|
||||
if(objectName == "StabilizationSettingsBankX") {
|
||||
return m_stabilizationObjectsString;
|
||||
}
|
||||
return ConfigTaskWidget::mapObjectName(objectName);
|
||||
}
|
||||
|
@ -49,6 +49,7 @@ private:
|
||||
Ui_StabilizationWidget *ui;
|
||||
QTimer *realtimeUpdates;
|
||||
QList<QTabBar*> m_pidTabBars;
|
||||
QString m_stabilizationObjectsString;
|
||||
|
||||
// Milliseconds between automatic 'Instant Updates'
|
||||
static const int AUTOMATIC_UPDATE_RATE = 500;
|
||||
@ -56,6 +57,8 @@ private:
|
||||
static const int PID_BANKS = 3;
|
||||
|
||||
int boardModel;
|
||||
protected:
|
||||
QString mapObjectName(const QString objectName);
|
||||
|
||||
protected slots:
|
||||
void refreshWidgetsValues(UAVObject *o = NULL);
|
||||
|
@ -1336,7 +1336,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollMax</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
@ -1370,7 +1370,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -1418,7 +1418,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -2607,7 +2607,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollMax</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
@ -2641,7 +2641,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -2692,7 +2692,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -4394,7 +4394,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -4433,7 +4433,7 @@ Then lower the value by 5 or so.</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -4508,7 +4508,7 @@ Then lower the value by 5 or so.</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -4558,7 +4558,7 @@ Then lower the value by 5 or so.</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -4597,7 +4597,7 @@ Then lower the value by 5 or so.</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -4636,7 +4636,7 @@ Then lower the value by 5 or so.</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -4686,7 +4686,7 @@ Then lower the value by 5 or so.</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -4744,7 +4744,7 @@ value as the Kp.</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -4783,7 +4783,7 @@ value as the Kp.</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -4833,7 +4833,7 @@ value as the Kp.</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -4883,7 +4883,7 @@ value as the Kp.</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -4922,7 +4922,7 @@ value as the Kp.</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
@ -8373,7 +8373,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>scale:0.1</string>
|
||||
@ -8408,7 +8408,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>scale:0.1</string>
|
||||
@ -8458,7 +8458,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>scale:0.1</string>
|
||||
@ -8493,7 +8493,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>scale:0.1</string>
|
||||
@ -8543,7 +8543,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>scale:0.1</string>
|
||||
@ -8578,7 +8578,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>scale:0.1</string>
|
||||
@ -10055,7 +10055,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:Kd</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -10674,7 +10674,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -10724,7 +10724,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -10774,7 +10774,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -10824,7 +10824,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:Kd</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -12031,7 +12031,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -12097,7 +12097,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -12178,7 +12178,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -12228,7 +12228,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:Kd</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -13386,7 +13386,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchMax</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
@ -13469,7 +13469,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -13538,7 +13538,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -13591,7 +13591,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawMax</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
@ -13643,7 +13643,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -14853,7 +14853,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -15472,7 +15472,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -15528,7 +15528,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollMax</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
@ -15580,7 +15580,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -18442,7 +18442,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -18492,7 +18492,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -18542,7 +18542,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -18627,7 +18627,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollPI</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -18693,7 +18693,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchPI</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -18759,7 +18759,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawPI</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -19364,7 +19364,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -19417,7 +19417,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -20567,7 +20567,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawPI</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -20648,7 +20648,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:PitchPI</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -20758,7 +20758,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:RollPI</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
@ -21374,7 +21374,7 @@ border-radius: 5;</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettingsBank1,StabilizationSettingsBank2,StabilizationSettingsBank3</string>
|
||||
<string>objname:StabilizationSettingsBankX</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
|
@ -64,7 +64,7 @@ int ConfigTaskWidget::fieldIndexFromElementName(QString objectName, QString fiel
|
||||
return 0;
|
||||
}
|
||||
|
||||
QString singleObjectName = objectName.split(",").at(0);
|
||||
QString singleObjectName = mapObjectName(objectName).split(",").at(0);
|
||||
UAVObject *object = getObject(singleObjectName);
|
||||
Q_ASSERT(object);
|
||||
|
||||
@ -108,8 +108,10 @@ void ConfigTaskWidget::addWidgetBinding(UAVObject *object, UAVObjectField *field
|
||||
void ConfigTaskWidget::addWidgetBinding(QString objectName, QString fieldName, QWidget *widget, int index, double scale,
|
||||
bool isLimited, QList<int> *reloadGroupIDs, quint32 instID) {
|
||||
|
||||
QString mappedObjectName = mapObjectName(objectName);
|
||||
|
||||
// If object name is comma separated list of objects, call one time per objectName
|
||||
foreach(QString singleObjectName, objectName.split(",")) {
|
||||
foreach(QString singleObjectName, mappedObjectName.split(",")) {
|
||||
doAddWidgetBinding(singleObjectName, fieldName, widget, index, scale, isLimited, reloadGroupIDs, instID);
|
||||
}
|
||||
}
|
||||
@ -165,6 +167,19 @@ void ConfigTaskWidget::doAddWidgetBinding(QString objectName, QString fieldName,
|
||||
}
|
||||
}
|
||||
|
||||
void ConfigTaskWidget::setWidgetBindingObjectEnabled(QString objectName, bool enabled)
|
||||
{
|
||||
UAVObject* object = getObject(objectName);
|
||||
Q_ASSERT(object);
|
||||
|
||||
foreach(WidgetBinding* binding, m_widgetBindingsPerObject.values(object)) {
|
||||
binding->setIsEnabled(enabled);
|
||||
if(enabled) {
|
||||
setWidgetFromField(binding->widget(), binding->field(), binding->index(), binding->scale(), binding->isLimited());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ConfigTaskWidget::~ConfigTaskWidget()
|
||||
{
|
||||
if (m_saveButton) {
|
||||
@ -1016,6 +1031,11 @@ UAVObject *ConfigTaskWidget::getObject(const QString name, quint32 instId)
|
||||
return m_pluginManager->getObject<UAVObjectManager>()->getObject(name, instId);
|
||||
}
|
||||
|
||||
QString ConfigTaskWidget::mapObjectName(const QString objectName)
|
||||
{
|
||||
return objectName;
|
||||
}
|
||||
|
||||
void ConfigTaskWidget::updateEnableControls()
|
||||
{
|
||||
TelemetryManager *telMngr = m_pluginManager->getObject<TelemetryManager>();
|
||||
|
@ -151,6 +151,7 @@ public slots:
|
||||
void invalidateObjects();
|
||||
void apply();
|
||||
void save();
|
||||
void setWidgetBindingObjectEnabled(QString objectName, bool enabled);
|
||||
|
||||
signals:
|
||||
// fired when a widgets contents changes
|
||||
@ -243,6 +244,7 @@ protected slots:
|
||||
|
||||
protected:
|
||||
virtual void enableControls(bool enable);
|
||||
virtual QString mapObjectName(const QString objectName);
|
||||
|
||||
void checkWidgetsLimits(QWidget *widget, UAVObjectField *field, int index, bool hasLimits, QVariant value, double scale);
|
||||
void updateEnableControls();
|
||||
|
Loading…
x
Reference in New Issue
Block a user