QGC SettingsView(设置功能) 界面加载顺序

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;

}