예제 #1
0
    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
예제 #6
0
    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
예제 #7
0
    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)
예제 #8
0
    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))