QGC SettingsView(设置功能) 界面加载顺序
1,MainWindowInner.qml
MainToolBar{
id: toolBar
height: ScreenTools.toolbarHeight
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
opacity: planToolBar.visible?0:1
z: QGroundControl.zOrderTopMost
Component.onCompleted: ScreenTools.availableHeight=parent.height-toolBar.height
onShowSettingsView: mainWindow.showSettingsView()//设置
onShowSetupView: mainWindow.showSetupView()//设置
onShowPlanView: mainWindow.showPlanView()//任务规划
onShowFlyView: mainWindow.showFlyView()//飞行
onShowAnalyzeView: mainWindow.showAnalyzeView()
onArmVehicle: flightView.guidedController.confirmAction(flightView.guidedController.actionArm)
2, OnShowSettingsVew 调用-》AppSettings.qml
Component.onCompleted:{
//--DefaultSettings
__rightPanel.source=QGroundControl.corePlugin.settingsPages[QGroundControl.corePlugin.defaultSettings].url
}
3,QGCCorePlugin.cc
QVariantList&QGCCorePlugin::settingsPages()
{
//--Ifthishasn'tbeenoverridden,createdefaultsetofsettings
if(!_p->pGeneral){
//--DefaultSettings
_p->pGeneral=newQGCSettings(tr("General"),
QUrl::fromUserInput("qrc:/qml/GeneralSettings.qml"),//常规
QUrl::fromUserInput("qrc:/res/gear-white.svg"));
_p->settingsList.append(QVariant::fromValue((QGCSettings*)_p->pGeneral));
_p->pCommLinks=newQGCSettings(tr("CommLinks"),//连接
QUrl::fromUserInput("qrc:/qml/LinkSettings.qml"),
QUrl::fromUserInput("qrc:/res/waves.svg"));
_p->settingsList.append(QVariant::fromValue((QGCSettings*)_p->pCommLinks));
_p->pOfflineMaps=newQGCSettings(tr("OfflineMaps"),
QUrl::fromUserInput("qrc:/qml/OfflineMap.qml"),//离线地图
QUrl::fromUserInput("qrc:/res/waves.svg"));
_p->settingsList.append(QVariant::fromValue((QGCSettings*)_p->pOfflineMaps));
_p->pMAVLink=newQGCSettings(tr("MAVLink"),
QUrl::fromUserInput("qrc:/qml/MavlinkSettings.qml"),//mavlink协议
QUrl::fromUserInput("qrc:/res/waves.svg"));
_p->settingsList.append(QVariant::fromValue((QGCSettings*)_p->pMAVLink));
_p->pConsole=newQGCSettings(tr("Console"),
QUrl::fromUserInput("qrc:/qml/QGroundControl/Controls/AppMessages.qml"));//控制台
_p->settingsList.append(QVariant::fromValue((QGCSettings*)_p->pConsole));
#ifdefined(QT_DEBUG)
//--ThesearealwayspresentonDebugbuilds
_p->pMockLink=newQGCSettings(tr("MockLink"),
QUrl::fromUserInput("qrc:/qml/MockLink.qml"));//模拟
_p->settingsList.append(QVariant::fromValue((QGCSettings*)_p->pMockLink));
_p->pDebug=newQGCSettings(tr("Debug"),
QUrl::fromUserInput("qrc:/qml/DebugWindow.qml"));//调试
_p->settingsList.append(QVariant::fromValue((QGCSettings*)_p->pDebug));
#endif
}
return_p->settingsList;
}