def btnDropDown_Click(self): self.mnuArea = QtGui.QMenu("") self.mniCopy = QgisHelper.createAction(self, "Copy", self.menuCopyActionEvent, None, "copy", None) self.mniPaste = QgisHelper.createAction(self, "Paste", self.menuPasteActionEvent, None, "paste", None) self.mnuArea.addAction(self.mniCopy) self.mnuArea.addAction(self.mniPaste) flag = True obstacleArea = self.area self.mniCopy.setEnabled(False if ( obstacleArea == None) else obstacleArea.IsValid) if (self.mniCopy.isEnabled()): self.mniCopy.setText("{%s} {%s}" % (Captions.COPY, obstacleArea.ToString())) if (self.ClipboardObstacleArea == None): flag = False else: flag = self.comboBox.count() == 4 if (isinstance( self.ClipboardObstacleArea, ComplexObstacleArea)) else True self.mniPaste.setEnabled(flag) if (self.mniPaste.isEnabled()): self.mniPaste.setText( "{%s} {%s}" % (Captions.PASTE, self.ClipboardObstacleArea.ToString())) rcRect = self.imgStatus.geometry() ptPoint = rcRect.bottomRight() self.mnuArea.exec_(self.mapToGlobal(ptPoint))
def method_7(self, string_0, rnavDmeDmeTolerance_0): # StringBuilder stringBuilder = new StringBuilder(); # stringBuilder.Append(string_0); resultStr = string_0 if (self.hasXtt): xTT = Captions.XTT distance = rnavDmeDmeTolerance_0.XTT resultStr = resultStr + ", " + xTT + " = " + str( distance.NauticalMiles) + "nm" # stringBuilder.Append(string.Format(", {0} = {1}", xTT, distance.method_0(":u"))); if (self.hasAtt): aTT = Captions.ATT aTT1 = rnavDmeDmeTolerance_0.ATT resultStr = resultStr + ", " + aTT + " = " + str( aTT1.NauticalMiles) + "nm" # stringBuilder.Append(string.Format(", {0} = {1}", aTT, aTT1.method_0(":u"))); if (self.hasAsw): aSW = Captions.ASW aSW1 = rnavDmeDmeTolerance_0.ASW resultStr = resultStr + ", " + aSW + " = " + str( aSW1.NauticalMiles) + "nm" # stringBuilder.Append(string.Format(", {0} = {1}", aSW, aSW1.method_0(":u"))); # ToolStripMenuItem toolStripMenuItem = new ToolStripMenuItem(stringBuilder.ToString(), null, new EventHandler(self.method_9)); itemAction = QgisHelper.createAction(self, resultStr, self.setValues, None, None, None) # toolStripMenuItem = QMenu(resultStr) distanceArray = [ rnavDmeDmeTolerance_0.ATT, rnavDmeDmeTolerance_0.XTT, rnavDmeDmeTolerance_0.ASW ] # toolStripMenuItem.Tag = distanceArray; return itemAction
def tableViewObstacleMouseTeleaseEvent_rightButton(self, e): if self.obstaclesModel == None: return featID = self.obstaclesModel.data( self.obstaclesModel.index( self.selectedObstacleMoselIndex.row(), self.obstaclesModel.IndexObjectId)).toString() layerID = self.obstaclesModel.data( self.obstaclesModel.index( self.selectedObstacleMoselIndex.row(), self.obstaclesModel.IndexLayerId)).toString() name = self.obstaclesModel.data( self.obstaclesModel.index( self.selectedObstacleMoselIndex.row(), self.obstaclesModel.IndexName)).toString() xValue = self.obstaclesModel.data( self.obstaclesModel.index(self.selectedObstacleMoselIndex.row(), self.obstaclesModel.IndexX)).toString() yValue = self.obstaclesModel.data( self.obstaclesModel.index(self.selectedObstacleMoselIndex.row(), self.obstaclesModel.IndexY)).toString() altitudeMValue = self.obstaclesModel.data( self.obstaclesModel.index( self.selectedObstacleMoselIndex.row(), self.obstaclesModel.IndexAltM)).toString() surfaceName = self.obstaclesModel.data( self.obstaclesModel.index( self.selectedObstacleMoselIndex.row(), self.obstaclesModel.IndexSurface)).toString() ocaMValue = self.obstaclesModel.data( self.obstaclesModel.index( self.selectedObstacleMoselIndex.row(), self.obstaclesModel.IndexOcaM)).toString() # ocaMValue = self.obstaclesModel.data(self.obstaclesModel.index(self.selectedObstacleMoselIndex.row(), self.obstaclesModel.IndexOcaM)).toString() obstacle = Obstacle( name, Point3D(float(xValue), float(yValue), float(altitudeMValue)), layerID, featID, None, 0.0, self.obstaclesModel.MocMultiplier, 0.0) self.changedCriticalObstacleValue = { "Obstacle": obstacle, "SurfaceName": surfaceName, "OcaM": float(ocaMValue) if ocaMValue != "" else None } menu = QMenu() actionSetCriticalObst = QgisHelper.createAction( menu, "Set Most Critical Obstacles", self.menuSetCriticalObstClick) menu.addAction(actionSetCriticalObst) menu.exec_(self.ui.tblObstacles.mapToGlobal(e.pos()))
def method_8(self, itemMenu, rnavSpecification_0, aircraftSpeedCategory_0): # itemMenu = QMenu(menuName) strrnavGnssFlightPhaseList = RnavGnssTolerance.smethod_0( rnavSpecification_0) rnavGnssFlightPhaseList = [] for strRnavGnssFlightPhase in strrnavGnssFlightPhaseList: if strRnavGnssFlightPhase == "Enroute": rnavGnssFlightPhaseList.append(RnavGnssFlightPhase.Enroute) elif strRnavGnssFlightPhase == "StarSid": rnavGnssFlightPhaseList.append(RnavGnssFlightPhase.StarSid) elif strRnavGnssFlightPhase == "Star30Sid30IfIafMa30": rnavGnssFlightPhaseList.append( RnavGnssFlightPhase.Star30Sid30IfIafMa30) elif strRnavGnssFlightPhase == "Sid15": rnavGnssFlightPhaseList.append(RnavGnssFlightPhase.Sid15) elif strRnavGnssFlightPhase == "Ma15": rnavGnssFlightPhaseList.append(RnavGnssFlightPhase.Ma15) elif strRnavGnssFlightPhase == "Mapt": rnavGnssFlightPhaseList.append(RnavGnssFlightPhase.Mapt) elif strRnavGnssFlightPhase == "Faf": rnavGnssFlightPhaseList.append(RnavGnssFlightPhase.Faf) for rnavGnssFlightPhase in rnavGnssFlightPhaseList: rnavGnssTolerance = RnavGnssTolerance(rnavSpecification_0, rnavGnssFlightPhase, aircraftSpeedCategory_0) rnavGnssFlightPhaseTxt = RnavGnssTolerance.translateParameter( rnavGnssFlightPhase) stringBuilder = rnavGnssFlightPhaseTxt if (self.hasXtt): xTT = Captions.XTT distance = rnavGnssTolerance.xtt stringBuilder = stringBuilder + ", %s = %.2f nm" % ( xTT, round(distance, 2)) if (self.hasAtt): aTT = Captions.ATT aTT1 = rnavGnssTolerance.att stringBuilder = stringBuilder + ", %s = %.2f nm" % ( aTT, round(aTT1, 2)) if (self.hasAsw): aSW = Captions.ASW aSW1 = round(rnavGnssTolerance.asw, 2) stringBuilder = stringBuilder + ", %s = %.2f nm" % (aSW, aSW1) itemAction = QgisHelper.createAction(self, stringBuilder, self.setValues, None, None, None) itemMenu.addAction(itemAction)
def createContextMenu(self, areaType, isStarted = False): menu = QMenu() # h = QHBoxLayout(menu) # c = QCalendarWidget() # h.addWidget(c) if areaType == ProtectionAreaType.Primary: actionEnter = QgisHelper.createAction(menu, "Enter", self.menuEnterClick) actionCancel = QgisHelper.createAction(menu, "Cancel", self.menuCancelClick) actionArc = QgisHelper.createAction(menu, "Arc", self.menuArcClick) actionUndo = QgisHelper.createAction(menu, "Undo", self.menuUndoClick) menu.addAction( actionEnter ) menu.addAction( actionCancel ) menu.addAction( actionArc ) menu.addAction( actionUndo ) elif areaType == ProtectionAreaType.Secondary: if not isStarted: actionEnter = QgisHelper.createAction(menu, "Enter", self.menuEnterClick) actionCancel = QgisHelper.createAction(menu, "Cancel", self.menuCancelClick) actionUndo = QgisHelper.createAction(menu, "Undo", self.menuUndoClick) actionPrimatyPolylineStart = QgisHelper.createAction(menu, "Strat INNER edge of the secondary area", self.menuPrimaryStartClick) actionPrimatyPolylineEnd = QgisHelper.createAction(menu, "End INNER edge of the secondary area", self.menuPrimaryEndClick) menu.addAction( actionEnter ) menu.addAction( actionCancel ) menu.addAction( actionUndo ) menu.addAction( actionPrimatyPolylineStart ) menu.addAction( actionPrimatyPolylineEnd ) actionPrimatyPolylineStart.setEnabled(not self.isPrimaryPolylineStarted) actionPrimatyPolylineEnd.setEnabled(self.isPrimaryPolylineStarted) else: actionPrimatyPolylineStart = QgisHelper.createAction(menu, "Strat INNER edge of the secondary area", self.menuPrimaryStartClick) actionPrimatyPolylineEnd = QgisHelper.createAction(menu, "End INNER edge of the secondary area", self.menuPrimaryEndClick) menu.addAction( actionPrimatyPolylineStart ) menu.addAction( actionPrimatyPolylineEnd ) actionPrimatyPolylineStart.setEnabled(not self.isPrimaryPolylineStarted) actionPrimatyPolylineEnd.setEnabled(self.isPrimaryPolylineStarted) return menu
def createContextMenu(self): menu = QMenu() actionAddGroup = QgisHelper.createAction(menu, "&Add GroupLayer", self.addGroup) actionAddVectorLayer = QgisHelper.createAction(menu, "&Add VectorLayer", self.addVectorLayer) actionZoomToGroup = QgisHelper.createAction(menu, "&Zoom To Group", self.zoomToGroup) actionRenameGroupOrLayer = QgisHelper.createAction( menu, "&Rename", self.rename) actionRemoveLayer = QgisHelper.createAction(menu, "&Remove", self.removeLayer) actionGroupSelected = QgisHelper.createAction(menu, "&Group Selected", self.groupSelected) actionZoomToLayer = QgisHelper.createAction(menu, "&Zoom To Layer", self.zoomToLayer) actionOpenAttributetable = QgisHelper.createAction( menu, "&Open Attribute Table", self.openAttriTable) actionSaveAs = QgisHelper.createAction(menu, "&Save as...", self.saveAs) actionLayerProperty = QgisHelper.createAction(menu, "&Property", self.layerProperty) self.actionShowOverview = QgisHelper.createAction( menu, "&Show in overview...", self.showOverview, None, None, None, True) idx = self.mView.currentIndex() node = self.mView.layerTreeModel().index2node(idx) if not idx.isValid(): #global menu menu.addAction(actionAddGroup) menu.addAction(actionAddVectorLayer) # menu.addAction( QgsApplication.getThemeIcon( "/mActionExpandTree.png" ), "&Expand All" , self.mView, "expandAll()" ) # menu.addAction( QgsApplication.getThemeIcon( "/mActionCollapseTree.png" ), "&Collapse All" , self.mView, "collapseAll()" ) elif (node != None): if (QgsLayerTree.isGroup(node)): menu.addAction(actionZoomToGroup) menu.addAction(actionRemoveLayer) # menu.addAction( QgsApplication.getThemeIcon( "/mActionSetCRS.png" ), # tr( "&Set Group CRS" ), QgisApp.instance(), SLOT( legendGroupSetCRS() ) ); menu.addAction(actionRenameGroupOrLayer) if (str(self.mView.selectedNodes(True)) >= 2): menu.addAction(actionGroupSelected) menu.addAction(actionAddGroup) menu.addAction(actionAddVectorLayer) elif (QgsLayerTree.isLayer(node)): menu.addAction(actionZoomToLayer) menu.addAction(actionRemoveLayer) menu.addAction(self.actionShowOverview) if self.mView.currentLayer().type() == QgsMapLayer.VectorLayer: menu.addAction(actionOpenAttributetable) menu.addAction(actionLayerProperty) menu.addAction(actionSaveAs) # menu.addAction( actions.actionShowInOverview( menu ) ) # if layer.type() == QgsMapLayer.RasterLayer : # menu.addAction( "&Zoom to Best Scale (100%)" , QgisApp.instance(), " legendLayerZoomNative() " ) # rasterLayer = qobject_cast<QgsRasterLayer *>( layer ); # if ( rasterLayer && rasterLayer.rastertype() != QgsRasterLayer.Palette ) # menu.addAction( tr( "&Stretch Using Current Extent" ), QgisApp.instance(), SLOT( legendLayerStretchUsingCurrentExtent() ) ); # } # menu.addAction( QgsApplication.getThemeIcon( "/mActionRemoveLayer.svg" ), tr( "&Remove" ), QgisApp.instance(), " removeLayer() "); # // duplicate layer # QAction* duplicateLayersAction = menu.addAction( QgsApplication.getThemeIcon( "/mActionDuplicateLayer.svg" ), tr( "&Duplicate" ), QgisApp.instance(), SLOT( duplicateLayers() ) ); # # // set layer scale visibility # menu.addAction( tr( "&Set Layer Scale Visibility" ), QgisApp.instance(), SLOT( setLayerScaleVisibility() ) ); # # // set layer crs # menu.addAction( QgsApplication.getThemeIcon( "/mActionSetCRS.png" ), tr( "&Set Layer CRS" ), QgisApp.instance(), SLOT( setLayerCRS() ) ); # # // assign layer crs to project # menu.addAction( QgsApplication.getThemeIcon( "/mActionSetProjectCRS.png" ), tr( "Set &Project CRS from Layer" ), QgisApp.instance(), SLOT( setProjectCRSFromLayer() ) ); # # menu.addSeparator(); # # if ( layer && layer.type() == QgsMapLayer.VectorLayer ) # { # QgsVectorLayer* vlayer = qobject_cast<QgsVectorLayer *>( layer ); # # QAction *toggleEditingAction = QgisApp.instance().actionToggleEditing(); # QAction *saveLayerEditsAction = QgisApp.instance().actionSaveActiveLayerEdits(); # QAction *allEditsAction = QgisApp.instance().actionAllEdits(); # # // attribute table # menu.addAction( QgsApplication.getThemeIcon( "/mActionOpenTable.png" ), tr( "&Open Attribute Table" ), # QgisApp.instance(), SLOT( attributeTable() ) ); # # // allow editing # int cap = vlayer.dataProvider().capabilities(); # if ( cap & QgsVectorDataProvider.EditingCapabilities ) # { # if ( toggleEditingAction ) # { # menu.addAction( toggleEditingAction ); # toggleEditingAction.setChecked( vlayer.isEditable() ); # } # if ( saveLayerEditsAction && vlayer.isModified() ) # { # menu.addAction( saveLayerEditsAction ); # } # } # # if ( allEditsAction.isEnabled() ) # menu.addAction( allEditsAction ); # # // disable duplication of memory layers # if ( vlayer.storageType() == "Memory storage" && self.mView.selectedLayerNodes().count() == 1 ) # duplicateLayersAction.setEnabled( false ); # # // save as vector file # menu.addAction( tr( "Save As..." ), QgisApp.instance(), SLOT( saveAsFile() ) ); # menu.addAction( tr( "Save As Layer Definition File..." ), QgisApp.instance(), SLOT( saveAsLayerDefinition() ) ); # # if ( !vlayer.isEditable() && vlayer.dataProvider().supportsSubsetString() && vlayer.vectorJoins().isEmpty() ) # menu.addAction( tr( "&Filter..." ), QgisApp.instance(), SLOT( layerSubsetString() ) ); # # menu.addAction( actions.actionShowFeatureCount( menu ) ); # # menu.addSeparator(); # } # else if ( layer && layer.type() == QgsMapLayer.RasterLayer ) # { # menu.addAction( tr( "Save As..." ), QgisApp.instance(), SLOT( saveAsRasterFile() ) ); # menu.addAction( tr( "Save As Layer Definition File..." ), QgisApp.instance(), SLOT( saveAsLayerDefinition() ) ); # } # else if ( layer && layer.type() == QgsMapLayer.PluginLayer && self.mView.selectedLayerNodes().count() == 1 ) # { # // disable duplication of plugin layers # duplicateLayersAction.setEnabled( false ); # } # addCustomLayerActions( menu, layer ); # # if ( layer && QgsProject.instance().layerIsEmbedded( layer.id() ).isEmpty() ) # menu.addAction( tr( "&Properties" ), QgisApp.instance(), SLOT( layerProperties() ) ); # if ( node.parent() != self.mView.layerTreeModel().rootGroup() ): # menu.addAction( actions.actionMakeTopLevel( menu ) ) menu.addAction(actionRenameGroupOrLayer) if (len(self.mView.selectedNodes(True)) >= 2): menu.addAction(actionGroupSelected) # if ( self.mView.selectedLayerNodes().count() == 1 ) # { # QgisApp* app = QgisApp.instance(); # menu.addAction( tr( "Copy Style" ), app, SLOT( copyStyle() ) ); # if ( app.clipboard().hasFormat( QGSCLIPBOARD_STYLE_MIME ) ) # { # menu.addAction( tr( "Paste Style" ), app, SLOT( pasteStyle() ) ); # } # } return menu
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(473, 580) font = QtGui.QFont() font.setFamily("Arial") font.setBold(False) font.setWeight(50) Form.setFont(font) self.vlForm = QtGui.QVBoxLayout(Form) self.vlForm.setObjectName(("vlForm")) self.gbApproachSegmentType = GroupBox(Form) self.gbApproachSegmentType.Caption = "Approach Segment Type" self.vlForm.addWidget(self.gbApproachSegmentType) self.txtApproachSegmentType = TextBoxPanel(self.gbApproachSegmentType) self.txtApproachSegmentType.Caption = "Type" self.txtApproachSegmentType.textBox.setEnabled(False) self.txtApproachSegmentType.Button = "sort2.png" self.txtApproachSegmentType.Value = "Final Segment" self.txtApproachSegmentType.textBox.setMaximumWidth(10000000) self.txtApproachSegmentType.hLayoutBoxPanel.removeItem( self.txtApproachSegmentType.spacerItem) QtCore.QObject.connect(self.txtApproachSegmentType, QtCore.SIGNAL("Event_1"), self.txtApproachSegmentType_Event_1) self.gbApproachSegmentType.Add = self.txtApproachSegmentType self.gbPosition = GroupBox(Form) self.gbPosition.Caption = "Positions" self.gbPosition.layoutBoxPanel.setSpacing(9) self.vlForm.addWidget(self.gbPosition) self.gbNavAid = GroupBox(self.gbPosition) self.gbNavAid.Caption = "Navigational Aid" self.gbPosition.Add = self.gbNavAid self.cmbNavAidType = ComboBoxPanel(self.gbNavAid) self.cmbNavAidType.Caption = "Type" self.cmbNavAidType.Items = ["NDB", "VOR"] self.cmbNavAidType.LabelWidth = 120 self.gbNavAid.Add = self.cmbNavAidType self.cmbBasedOn = ComboBoxPanel(self.gbNavAid, True) self.cmbBasedOn.Caption = "Based On" self.cmbBasedOn.LabelWidth = 120 self.cmbBasedOn.Width = 120 self.gbNavAid.Add = self.cmbBasedOn self.pnlNavAidPos = PositionPanel(self.gbNavAid) self.pnlNavAidPos.btnCalculater.hide() self.pnlNavAidPos.hideframe_Altitude() self.gbNavAid.Add = self.pnlNavAidPos self.pnlFafPos = PositionPanel(self.gbPosition) self.pnlFafPos.Caption = "FAF Position" self.pnlFafPos.btnCalculater.hide() self.gbPosition.Add = self.pnlFafPos self.pnlMaptPos = PositionPanel(self.gbPosition) self.pnlMaptPos.Caption = "MAPt Position" self.pnlMaptPos.btnCalculater.hide() self.gbPosition.Add = self.pnlMaptPos self.pnlDerPos = PositionPanel(self.gbPosition) self.pnlDerPos.Caption = "Approach THR Position" self.pnlDerPos.btnCalculater.hide() self.gbPosition.Add = self.pnlDerPos self.gbParameters = GroupBox(Form) self.gbParameters.Caption = "Parameters" self.gbParameters.layoutBoxPanel.setSpacing(9) self.vlForm.addWidget(self.gbParameters) self.cmbTurnDirection = ComboBoxPanel(self.gbParameters) self.cmbTurnDirection.Caption = "Turn Direction" self.cmbTurnDirection.Items = ["Left", "Right"] self.gbParameters.Add = self.cmbTurnDirection self.cmbAircraftCatgory = ComboBoxPanel(self.gbParameters) self.cmbAircraftCatgory.Caption = "Aircraft Category" self.cmbAircraftCatgory.Items = ["A/B", "C/D/E", "H"] self.gbParameters.Add = self.cmbAircraftCatgory self.gbJoin = GroupBox(self.gbParameters, "HL") self.gbJoin.Caption = "Join the intermediate segment" self.gbParameters.Add = self.gbJoin self.radioJoinYes = QtGui.QRadioButton(self.gbJoin) self.radioJoinYes.setText("Yes") self.radioJoinYes.setChecked(True) self.gbJoin.Add = self.radioJoinYes self.radioJoinNo = QtGui.QRadioButton(self.gbJoin) self.radioJoinNo.setText("No") self.gbJoin.Add = self.radioJoinNo self.pnlDistance = DistanceBoxPanel(self.gbParameters, DistanceUnits.NM) self.pnlDistance.Caption = "Distance FAF - MAPt" self.pnlDistance.Button = None self.gbParameters.Add = self.pnlDistance self.pnlGradient = AngleGradientBoxPanel(self.gbParameters) self.pnlGradient.CaptionUnits = AngleGradientSlopeUnits.Percent self.pnlGradient.Caption = "Descent Gradient" self.gbParameters.Add = self.pnlGradient self.approachMenu = QtGui.QMenu() self.finalCmd = QgisHelper.createAction(self.approachMenu, "Final Segment", self.menuFinalClick) self.approachMenu.addAction(self.finalCmd) self.intermediateMnu = QtGui.QMenu("Intermediate Approach Segment") self.approachMenu.addMenu(self.intermediateMnu) self.interStraightCmd = QgisHelper.createAction( self.intermediateMnu, "Intermediate Segment Straight", self.menuInterStrightClick) self.intermediateMnu.addAction(self.interStraightCmd) self.interWithIFCmd = QgisHelper.createAction( self.intermediateMnu, "Intermediate Segment With IF", self.menuInterWithIFClick) self.intermediateMnu.addAction(self.interWithIFCmd) self.interWithNoIFCmd = QgisHelper.createAction( self.intermediateMnu, "Intermediate Segment With No IF", self.menuInterWithNoIFClick) self.intermediateMnu.addAction(self.interWithNoIFCmd) self.initialMnu = QtGui.QMenu("Initial Approach Segment") self.approachMenu.addMenu(self.initialMnu) self.initialStraigtCmd = QgisHelper.createAction( self.initialMnu, "Initial Segment Straight", self.menuInitialStrightClick) self.initialMnu.addAction(self.initialStraigtCmd) self.initialDMEArcCmd = QgisHelper.createAction( self.initialMnu, "Initial Segment DME ARCS", self.menuInitialDMEArcClick) self.initialMnu.addAction(self.initialDMEArcCmd)
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(473, 580) font = QtGui.QFont() font.setFamily("Arial") font.setBold(False) font.setWeight(50) Form.setFont(font) self.vlForm = QtGui.QVBoxLayout(Form) self.vlForm.setObjectName(("vlForm")) self.gbMASegmentType = GroupBox(Form) self.gbMASegmentType.Caption = "Missed Approach Segment Type" self.vlForm.addWidget(self.gbMASegmentType) self.txtMASegmentType = TextBoxPanel(self.gbMASegmentType) self.txtMASegmentType.Caption = "Type" self.txtMASegmentType.textBox.setEnabled(False) self.txtMASegmentType.Button = "sort2.png" self.txtMASegmentType.Value = "Straight" self.txtMASegmentType.textBox.setMaximumWidth(10000000) self.txtMASegmentType.hLayoutBoxPanel.removeItem( self.txtMASegmentType.spacerItem) QtCore.QObject.connect(self.txtMASegmentType, QtCore.SIGNAL("Event_1"), self.txtMASegmentType_Event_1) self.gbMASegmentType.Add = self.txtMASegmentType self.gbPosition = GroupBox(Form) self.gbPosition.Caption = "Positions" self.gbPosition.layoutBoxPanel.setSpacing(9) self.vlForm.addWidget(self.gbPosition) self.pnlFafPos = PositionPanel(self.gbPosition) self.pnlFafPos.Caption = "FAF Position" self.pnlFafPos.hideframe_Altitude() self.pnlFafPos.btnCalculater.hide() self.gbPosition.Add = self.pnlFafPos self.pnlMaptPos = PositionPanel(self.gbPosition) self.pnlMaptPos.Caption = "MAPt Position" self.pnlMaptPos.hideframe_Altitude() self.pnlMaptPos.btnCalculater.hide() self.gbPosition.Add = self.pnlMaptPos self.pnlMaTpPos = PositionPanel(self.gbPosition) self.pnlMaTpPos.Caption = "MA TP Position" self.pnlMaTpPos.hideframe_Altitude() self.pnlMaTpPos.btnCalculater.hide() self.gbPosition.Add = self.pnlMaTpPos self.pnlMaTpPos.Visible = False self.gbMaEndPos = GroupBox(self.gbPosition) self.gbMaEndPos.Caption = "MA End Position" self.gbPosition.Add = self.gbMaEndPos self.cmbMaEndType = ComboBoxPanel(self.gbMaEndPos) self.cmbMaEndType.Caption = "Type" self.cmbMaEndType.Items = ["NDB", "VOR"] self.gbMaEndPos.Add = self.cmbMaEndType self.cmbMaEndType.Visible = False self.pnlMaEndPos = PositionPanel(self.gbMaEndPos) self.pnlMaEndPos.hideframe_Altitude() self.pnlMaEndPos.btnCalculater.hide() self.gbMaEndPos.Add = self.pnlMaEndPos self.gbNavAid = GroupBox(self.gbPosition) self.gbNavAid.Caption = "Navigational Aid Position" self.gbPosition.Add = self.gbNavAid self.cmbNavAidType = ComboBoxPanel(self.gbNavAid) self.cmbNavAidType.Caption = "Type" self.cmbNavAidType.Items = ["NDB", "VOR"] self.gbNavAid.Add = self.cmbNavAidType self.pnlNavAidPos = PositionPanel(self.gbNavAid) self.pnlNavAidPos.btnCalculater.hide() self.pnlNavAidPos.hideframe_Altitude() self.gbNavAid.Add = self.pnlNavAidPos self.gbAddNavAid = GroupBox(self.gbPosition) self.gbAddNavAid.Caption = "Additional Navigational Aid Position" self.gbPosition.Add = self.gbAddNavAid self.cmbAddNavAidType = ComboBoxPanel(self.gbAddNavAid) self.cmbAddNavAidType.Caption = "Type" self.cmbAddNavAidType.Items = ["NDB", "VOR"] self.gbAddNavAid.Add = self.cmbAddNavAidType self.pnlAddNavAidPos = PositionPanel(self.gbAddNavAid) self.pnlAddNavAidPos.btnCalculater.hide() self.pnlAddNavAidPos.hideframe_Altitude() self.gbAddNavAid.Add = self.pnlAddNavAidPos self.gbParameters = GroupBox(Form) self.gbParameters.Caption = "Parameters" self.gbParameters.layoutBoxPanel.setSpacing(9) self.vlForm.addWidget(self.gbParameters) self.cmbTypeMapt = ComboBoxPanel(self.gbParameters) self.cmbTypeMapt.Caption = "MAPt Type" self.cmbTypeMapt.Items = ["Navigation facility", "FIX", "Timing"] self.gbParameters.Add = self.cmbTypeMapt self.cmbTypeTP = ComboBoxPanel(self.gbParameters) self.cmbTypeTP.Caption = "TP Type" self.cmbTypeTP.Items = [ "Turn at FIX or Facility", "Turn at Altitude", "Turn at MAPt" ] self.gbParameters.Add = self.cmbTypeTP self.cmbTypeTP.Visible = False self.cmbAircraftCatgory = ComboBoxPanel(self.gbParameters) self.cmbAircraftCatgory.Caption = "Aircraft Category" self.cmbAircraftCatgory.Items = ["A", "B", "C", "D", "E", "H"] self.gbParameters.Add = self.cmbAircraftCatgory self.cmbDirection = ComboBoxPanel(self.gbParameters) self.cmbDirection.Caption = "Direction" self.cmbDirection.Items = ["Left", "Right"] self.gbParameters.Add = self.cmbDirection self.cmbDirection.Visible = False self.pnlAerodromeAlt = AltitudeBoxPanel(self.gbParameters) self.pnlAerodromeAlt.CaptionUnits = "ft" self.pnlAerodromeAlt.Caption = "Aerodrome Altitude" self.gbParameters.Add = self.pnlAerodromeAlt self.pnlPrimaryMoc = AltitudeBoxPanel(self.gbParameters) self.pnlPrimaryMoc.CaptionUnits = "m" self.pnlPrimaryMoc.Caption = "Primary Moc" self.pnlPrimaryMoc.Value = Altitude(75) self.gbParameters.Add = self.pnlPrimaryMoc self.pnlOCA = AltitudeBoxPanel(self.gbParameters) self.pnlOCA.CaptionUnits = "ft" self.pnlOCA.Caption = "OCA" self.gbParameters.Add = self.pnlOCA self.pnlTpAlt = AltitudeBoxPanel(self.gbParameters) self.pnlTpAlt.CaptionUnits = "ft" self.pnlTpAlt.Caption = "TP Altitude" self.gbParameters.Add = self.pnlTpAlt self.pnlTpAlt.Visible = False self.pnlEndTurnAlt = AltitudeBoxPanel(self.gbParameters) self.pnlEndTurnAlt.CaptionUnits = "ft" self.pnlEndTurnAlt.Caption = "End Turn Altitude" self.gbParameters.Add = self.pnlEndTurnAlt self.pnlEndTurnAlt.Visible = False self.pnlEndAlt = AltitudeBoxPanel(self.gbParameters) self.pnlEndAlt.CaptionUnits = "ft" self.pnlEndAlt.Caption = "End Altitude" self.gbParameters.Add = self.pnlEndAlt self.pnlEndAlt.Visible = False self.pnlTurnGradient = AngleGradientBoxPanel(self.gbParameters) self.pnlTurnGradient.CaptionUnits = AngleGradientSlopeUnits.Percent self.pnlTurnGradient.Caption = "Turn Gradient" # self.pnlTurnGradient.Value = AngleGradientSlope(2.5, AngleGradientSlopeUnits.Percent) self.gbParameters.Add = self.pnlTurnGradient self.pnlTurnGradient.Visible = False self.pnlBearing = TrackRadialBoxPanel(self.gbParameters) self.pnlBearing.Caption = "Bearing" self.gbParameters.Add = self.pnlBearing self.pnlBearing.Visible = False self.pnlDistance = DistanceBoxPanel(self.gbParameters, DistanceUnits.NM) self.pnlDistance.Caption = "Distance FAF-MAPt" self.pnlDistance.Button = None self.gbParameters.Add = self.pnlDistance self.pnlClimbGradient = AngleGradientBoxPanel(self.gbParameters) self.pnlClimbGradient.CaptionUnits = AngleGradientSlopeUnits.Percent self.pnlClimbGradient.Caption = "Climb Gradient" self.pnlClimbGradient.Value = AngleGradientSlope( 2.5, AngleGradientSlopeUnits.Percent) self.gbParameters.Add = self.pnlClimbGradient self.cmbTrackGuidance = ComboBoxPanel(self.gbParameters) self.cmbTrackGuidance.Caption = "Track Guidance" self.cmbTrackGuidance.Items = ["Yes", "No"] QtCore.QObject.connect(self.cmbTrackGuidance, QtCore.SIGNAL("Event_0"), self.cmbTrackGuidanceEvent_0) self.gbParameters.Add = self.cmbTrackGuidance self.cmbAddTrackGuidance = ComboBoxPanel(self.gbParameters) self.cmbAddTrackGuidance.Caption = "Additional Track Guidance" self.cmbAddTrackGuidance.Items = ["Yes", "No"] QtCore.QObject.connect(self.cmbAddTrackGuidance, QtCore.SIGNAL("Event_0"), self.cmbAddTrackGuidanceEvent_0) self.gbParameters.Add = self.cmbAddTrackGuidance self.cmbTurnMAPt = ComboBoxPanel(self.gbParameters) self.cmbTurnMAPt.Caption = "Turn Before MAPt" self.cmbTurnMAPt.Items = ["Yes", "No"] # QtCore.QObject.connect(self.cmbTrackGuidance, QtCore.SIGNAL("Event_0"), self.cmbTrackGuidanceEvent_0) self.gbParameters.Add = self.cmbTurnMAPt self.cmbTurnMAPt.Visible = False self.gbTpTolerance = GroupBox(self.gbParameters) self.gbTpTolerance.Caption = "TP Tolerance" self.gbParameters.Add = self.gbTpTolerance self.gbTpTolerance.Visible = False self.txtKEarlist = NumberBoxPanel(self.gbTpTolerance) self.txtKEarlist.CaptionUnits = "nm" self.txtKEarlist.Caption = "K Earliest" self.gbTpTolerance.Add = self.txtKEarlist self.txtLatestFix = NumberBoxPanel(self.gbTpTolerance) self.txtLatestFix.CaptionUnits = "nm" self.txtLatestFix.Caption = "Latest Fix" self.gbTpTolerance.Add = self.txtLatestFix self.txtC = NumberBoxPanel(self.gbTpTolerance) self.txtC.CaptionUnits = "nm" self.txtC.Caption = "C" self.gbTpTolerance.Add = self.txtC self.txtLatestTurn = NumberBoxPanel(self.gbTpTolerance) self.txtLatestTurn.CaptionUnits = "nm" self.txtLatestTurn.Caption = "Latest" self.gbTpTolerance.Add = self.txtLatestTurn self.gbNominalTrack = GroupBox(self.gbParameters) self.gbNominalTrack.Caption = "Nominal Track" self.gbParameters.Add = self.gbNominalTrack self.gbNominalTrack.Visible = False self.pnlTrueStartTrack = TrackRadialBoxPanel(self.gbNominalTrack) self.pnlTrueStartTrack.Caption = "True Start Track" self.gbNominalTrack.Add = self.pnlTrueStartTrack self.pnlTrueEndTrack = TrackRadialBoxPanel(self.gbNominalTrack) self.pnlTrueEndTrack.Caption = "True End Track" self.gbNominalTrack.Add = self.pnlTrueEndTrack self.txtArcLength = NumberBoxPanel(self.gbNominalTrack) self.txtArcLength.CaptionUnits = "nm" self.txtArcLength.Caption = "Arc Length" self.gbNominalTrack.Add = self.txtArcLength self.gbVelocity = GroupBox(self.gbParameters) self.gbVelocity.Caption = "ISA VAR Celsius,IAS,TAS and Wind Velocity" self.gbParameters.Add = self.gbVelocity self.txtISAVAR = NumberBoxPanel(self.gbVelocity, "0.0") self.txtISAVAR.CaptionUnits = define._degreeStr + QtCore.QString("C") self.txtISAVAR.Caption = "ISA" # self.txtISAVAR.Items = ["ISA-30", "ISA-20", "ISA-10", "ISA", "ISA+10", "ISA+15", "ISA+20", "ISA+30"] self.gbVelocity.Add = self.txtISAVAR self.pnlIAS = SpeedBoxPanel(self.gbVelocity, SpeedUnits.KTS) self.pnlIAS.Caption = "IAS" self.gbVelocity.Add = self.pnlIAS # self.pnlWind = WindPanel(self.gbVelocity) # self.gbVelocity.Add = self.pnlWind # self.pnlWind.Visible = False self.pnlTAS = SpeedBoxPanel(self.gbVelocity, SpeedUnits.KTS) self.pnlTAS.Caption = "TAS" self.gbVelocity.Add = self.pnlTAS self.gbTurn = GroupBox(self.gbParameters) self.gbTurn.Caption = "Turn" self.gbParameters.Add = self.gbTurn self.gbTurn.Visible = False self.txtBankAngle = NumberBoxPanel(self.gbTurn) self.txtBankAngle.CaptionUnits = define._degreeStr self.txtBankAngle.Caption = "Bank Angle" self.gbTurn.Add = self.txtBankAngle self.txtRateOfTurn = NumberBoxPanel(self.gbTurn) self.txtRateOfTurn.CaptionUnits = define._degreeStr + QtCore.QString( "/sec") self.txtRateOfTurn.Caption = "Rate Of Turn" self.gbTurn.Add = self.txtRateOfTurn self.txtWindEffect = NumberBoxPanel(self.gbTurn) self.txtWindEffect.Caption = "Wind Effect" self.gbTurn.Add = self.txtWindEffect self.gbMAPtTolerance = GroupBox(self.gbParameters) self.gbMAPtTolerance.Caption = "MAPt Tolerance" self.gbParameters.Add = self.gbMAPtTolerance self.txtEarlist = NumberBoxPanel(self.gbMAPtTolerance) self.txtEarlist.CaptionUnits = "nm" self.txtEarlist.Caption = "Earliest" self.gbMAPtTolerance.Add = self.txtEarlist self.txtLatest = NumberBoxPanel(self.gbMAPtTolerance) self.txtLatest.CaptionUnits = "nm" self.txtLatest.Caption = "Latest" self.gbMAPtTolerance.Add = self.txtLatest self.txtD = NumberBoxPanel(self.gbMAPtTolerance) self.txtD.CaptionUnits = "nm" self.txtD.Caption = "D" self.gbMAPtTolerance.Add = self.txtD self.gbMAPtToSocDist = GroupBox(self.gbParameters) self.gbMAPtToSocDist.Caption = "MAPt to SOC Distance" self.gbParameters.Add = self.gbMAPtToSocDist self.txtX = NumberBoxPanel(self.gbMAPtToSocDist) self.txtX.CaptionUnits = "nm" self.txtX.Caption = "X" self.gbMAPtToSocDist.Add = self.txtX self.txtDistMAPtSOC = DistanceBoxPanel(self.gbMAPtToSocDist, DistanceUnits.NM) self.txtDistMAPtSOC.Caption = "MAPt - SOC Distance" self.txtDistMAPtSOC.Button = None self.gbMAPtToSocDist.Add = self.txtDistMAPtSOC self.txtEarlistTemp = NumberBoxPanel(self.gbParameters) self.gbParameters.Add = self.txtEarlistTemp self.txtEarlistTemp.Visible = False self.txtLatestTemp = NumberBoxPanel(self.gbParameters) self.gbParameters.Add = self.txtLatestTemp self.txtLatestTemp.Visible = False self.missedApproachMenu = QtGui.QMenu() self.strightCmd = QgisHelper.createAction(self.missedApproachMenu, "Straight", self.menuStrightClick) self.missedApproachMenu.addAction(self.strightCmd) self.turningCmd = QgisHelper.createAction(self.missedApproachMenu, "Turning", self.menuTurningClick) self.missedApproachMenu.addAction(self.turningCmd)
def btnDropDown_Click(self): # { # ToolStripMenuItem toolStripMenuItem = null; # self.mnuDropDown.Items.Clear(); menu1 = QMenu(Captions.GNSS) if (RnavVorDme.Result1 != None or RnavVorDme.Result2 != None): toolStripMenuItem00 = QMenu(Captions.VOR_DME) menu1.addMenu(toolStripMenuItem00) # toolStripMenuItem = self.mnuDropDown.Items.Add(Captions.VOR_DME) as ToolStripMenuItem; if (RnavVorDme.Result1 != None): if (RnavVorDme.Result2 == None): toolStripMenuItem00.addAction( self.method_6(Captions.WAYPOINT, RnavVorDme.Result1)) # toolStripMenuItem.DropDownItems.Add(self.method_6(Captions.WAYPOINT, RnavVorDme.Result1)); else: toolStripMenuItem00.addAction( self.method_6(Captions.WAYPOINT_1, RnavVorDme.Result1)) # toolStripMenuItem.DropDownItems.Add(self.method_6(Captions.WAYPOINT_1, RnavVorDme.Result1)); if (RnavVorDme.Result2 != None): if (RnavVorDme.Result1 == None): toolStripMenuItem00.addAction( self.method_6(Captions.WAYPOINT, RnavVorDme.Result2)) # toolStripMenuItem.DropDownItems.Add(self.method_6(Captions.WAYPOINT, RnavVorDme.Result2)); else: toolStripMenuItem00.addAction( self.method_6(Captions.WAYPOINT_2, RnavVorDme.Result2)) # toolStripMenuItem.DropDownItems.Add(self.method_6(Captions.WAYPOINT_2, RnavVorDme.Result2)); if (RnavDmeDme.Result1 != None or RnavDmeDme.Result2 != None): # toolStripMenuItem = self.mnuDropDown.Items.Add(Captions.DME_DME) as ToolStripMenuItem; toolStripMenuItem01 = QMenu(Captions.DME_DME) menu1.addMenu(toolStripMenuItem01) if (RnavDmeDme.Result1 != None): if (RnavDmeDme.Result2 == None): toolStripMenuItem01.addAction( self.method_7(Captions.WAYPOINT, RnavDmeDme.Result1)) # toolStripMenuItem.DropDownItems.Add(self.method_7(Captions.WAYPOINT, RnavDmeDme.Result1)); else: toolStripMenuItem01.addAction( self.method_7(Captions.WAYPOINT_1, RnavDmeDme.Result1)) # toolStripMenuItem.DropDownItems.Add(self.method_7(Captions.WAYPOINT_1, RnavDmeDme.Result1)); if (RnavDmeDme.Result2 != None): if (RnavDmeDme.Result1 == None): toolStripMenuItem01.addAction( self.method_7(Captions.WAYPOINT, RnavDmeDme.Result2)) # toolStripMenuItem.DropDownItems.Add(self.method_7(Captions.WAYPOINT, RnavDmeDme.Result2)); else: toolStripMenuItem01.addAction( self.method_7(Captions.WAYPOINT_2, RnavDmeDme.Result2)) # toolStripMenuItem.DropDownItems.Add(self.method_7(Captions.WAYPOINT_2, RnavDmeDme.Result2)); if self.vorDmeVisible: toolStripMenuItem00 = QMenu(Captions.VOR_DME) menu1.addMenu(toolStripMenuItem00) itemAction = QgisHelper.createAction( self, "WayPoint 1,XTT = 2.56nm,ATT = 2.01nm ", self.setValues, None, None, None) toolStripMenuItem00.addAction(itemAction) itemAction = QgisHelper.createAction( self, "WayPoint 2,XTT = 3.2nm,ATT = 2.07nm ", self.setValues, None, None, None) toolStripMenuItem00.addAction(itemAction) if self.dmeDmeVisible: toolStripMenuItem01 = QMenu(Captions.DME_DME) menu1.addMenu(toolStripMenuItem01) toolStripMenuItem1 = QMenu(Captions.GNSS) self.toolStripMenuItem2 = QMenu(Captions.CAT_A_B_C_D_E) self.toolStripMenuItem3 = QMenu(Captions.CAT_H) toolStripMenuItem1.addMenu(self.toolStripMenuItem2) toolStripMenuItem1.addMenu(self.toolStripMenuItem3) '''menu1 init''' menu1_RNAV5 = QMenu("RNAV 5") self.method_8(menu1_RNAV5, RnavSpecification.Rnav5, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_RNAV5) menu1_RNAV2 = QMenu("RNAV 2") self.method_8(menu1_RNAV2, RnavSpecification.Rnav2, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_RNAV2) menu1_RNAV1 = QMenu("RNAV 1") self.method_8(menu1_RNAV1, RnavSpecification.Rnav1, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_RNAV1) menu1_RNP4 = QMenu("RNP 4") self.method_8(menu1_RNP4, RnavSpecification.Rnp4, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_RNP4) menu1_RNP2 = QMenu("RNP 2") self.method_8(menu1_RNP2, RnavSpecification.Rnp2, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_RNP2) menu1_RNP1 = QMenu("RNP 1") self.method_8(menu1_RNP1, RnavSpecification.Rnp1, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_RNP1) menu1_ARNP2 = QMenu("Advanced RNP 2") self.method_8(menu1_ARNP2, RnavSpecification.ARnp2, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_ARNP2) menu1_ARNP1 = QMenu("Advanced RNP 1") self.method_8(menu1_ARNP1, RnavSpecification.ARnp1, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_ARNP1) menu1_ARNP09 = QMenu("Advanced RNP 0.9") self.method_8(menu1_ARNP09, RnavSpecification.ARnp09, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_ARNP09) menu1_ARNP08 = QMenu("Advanced RNP 0.8") self.method_8(menu1_ARNP08, RnavSpecification.ARnp08, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_ARNP08) menu1_ARNP07 = QMenu("Advanced RNP 0.7") self.method_8(menu1_ARNP07, RnavSpecification.ARnp07, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_ARNP07) menu1_ARNP06 = QMenu("Advanced RNP 0.6") self.method_8(menu1_ARNP06, RnavSpecification.ARnp06, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_ARNP06) menu1_ARNP05 = QMenu("Advanced RNP 0.5") self.method_8(menu1_ARNP05, RnavSpecification.ARnp05, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_ARNP05) menu1_ARNP04 = QMenu("Advanced RNP 0.4") self.method_8(menu1_ARNP04, RnavSpecification.ARnp04, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_ARNP04) menu1_ARNP03 = QMenu("Advanced RNP 0.3") self.method_8(menu1_ARNP03, RnavSpecification.ARnp03, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_ARNP03) menu1_RNPAPCH = QMenu("RNP APCH") self.method_8(menu1_RNPAPCH, RnavSpecification.RnpApch, AircraftSpeedCategory.C) self.toolStripMenuItem2.addMenu(menu1_RNPAPCH) '''menu2 init''' menu2_RNAV5 = QMenu("RNAV 5") self.method_8(menu2_RNAV5, RnavSpecification.Rnav5, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_RNAV5) menu2_RNAV2 = QMenu("RNAV 2") self.method_8(menu2_RNAV2, RnavSpecification.Rnav2, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_RNAV2) menu2_RNAV1 = QMenu("RNAV 1") self.method_8(menu2_RNAV1, RnavSpecification.Rnav1, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_RNAV1) menu2_RNP4 = QMenu("RNP 4") self.method_8(menu2_RNP4, RnavSpecification.Rnp4, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_RNP4) menu2_RNP2 = QMenu("RNP 2") self.method_8(menu2_RNP2, RnavSpecification.Rnp2, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_RNP2) menu2_RNP1 = QMenu("RNP 1") self.method_8(menu2_RNP1, RnavSpecification.Rnp1, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_RNP1) menu2_ARNP2 = QMenu("Advanced RNP 2") self.method_8(menu2_ARNP2, RnavSpecification.ARnp2, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_ARNP2) menu2_ARNP1 = QMenu("Advanced RNP 1") self.method_8(menu2_ARNP1, RnavSpecification.ARnp1, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_ARNP1) menu2_ARNP09 = QMenu("Advanced RNP 0.9") self.method_8(menu2_ARNP09, RnavSpecification.ARnp09, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_ARNP09) menu2_ARNP08 = QMenu("Advanced RNP 0.8") self.method_8(menu2_ARNP08, RnavSpecification.ARnp08, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_ARNP08) menu2_ARNP07 = QMenu("Advanced RNP 0.7") self.method_8(menu2_ARNP07, RnavSpecification.ARnp07, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_ARNP07) menu2_ARNP06 = QMenu("Advanced RNP 0.6") self.method_8(menu2_ARNP06, RnavSpecification.ARnp06, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_ARNP06) menu2_ARNP05 = QMenu("Advanced RNP 0.5") self.method_8(menu2_ARNP05, RnavSpecification.ARnp05, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_ARNP05) menu2_ARNP04 = QMenu("Advanced RNP 0.4") self.method_8(menu2_ARNP04, RnavSpecification.ARnp04, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_ARNP04) menu2_ARNP03 = QMenu("Advanced RNP 0.3") self.method_8(menu2_ARNP03, RnavSpecification.ARnp03, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_ARNP03) menu2_RNPAPCH = QMenu("RNP APCH") self.method_8(menu2_RNPAPCH, RnavSpecification.RnpApch, AircraftSpeedCategory.H) self.toolStripMenuItem3.addMenu(menu2_RNPAPCH) rcRect = self.btnDropDown.geometry() ptPoint = rcRect.bottomLeft() menu1.addMenu(toolStripMenuItem1) menu1.exec_(self.mapToGlobal(ptPoint))