Mission/Fence/Rally
Item{
anchors.fill:rightPanel
Row{
id:planElementSelectorRow
anchors.topMArgin:Math.round(ScreenTools.defaultFontPixelHeight/3);
visible:QGroundControl.corePlugin.options.enablePlanViewSelector;
ExclusiveGroup{
id:planElementSelectorGroup
onCurrentChanged:{
switch(current){
}
}
}
QGCRadioButton{
id:planElementMission
exclusiveGroup:planElementSelectorGroup
text:qsTr("Mission")
}
QGCRadioButton{
id:planElementGeoFence
exclusiveGroup:planElementSelectorGroup
text:qsTr("Fence")
}
QGCRadioButton{
id:planElementMission
exclusiveGroup:planElementSelectorGroup
text:qsTr("Rally")
}
}
//显示那个item取决于当前的编辑层与XX是否相等
Item{
id:missionItemEditor
visible:_editingLayer==_layerMission;
QGCListView{
id:missionItemEditorListView
model:_missionController.visualItems
clip:true;
delegate:MissionItemEditor{
map:editorMap
masterController:_planMasterController
missionItem:object
}
}
}
}
这3个Controller的都是由PlanMasterController.cc
PlanMasterController::PlanMasterController(QObject *parent):QObject(parent){
,_multiVehicleMgr(
qgcApp()->toolbox()->multiVehicleManager())
,_controllerVehicle(new Vehicle((MAV_AUTOPILOT)qgcApp()->xxx))
,_editMode(false)
,_offline(true)
,_missionController(this),
,_geoFenceController(this),
,_rallyPointController(this),
,_loadRallyPointsr(false),
}