Exemplo n.º 1
0
    def calcALT(self):
        thrAlt = Unit.ConvertFeetToMeter(self.data["ThrAltitude"])
        rdhAlt = Unit.ConvertFeetToMeter(self.data["RDHAltitude"])
        gradient = self.data["DescentGradient"]
        dx = self.data["dX"]

        for i in range(7):
            item = self.stdModel.item(1,
                                      self.data["CatOfAcftCount"][0] + 5 + i)
            val = 0.0
            try:
                val = float(item.text())
            except:
                continue
            dist = val * 1852
            valueHgt = Unit.ConvertFeetToMeter(
                (dist - dx) * math.tan(Unit.ConvertDegToRad(gradient)))
            valueAlt = valueHgt + thrAlt + rdhAlt
            if valueAlt > int(valueAlt):
                valueAlt = int(valueAlt) + 1
            if valueHgt > int(valueHgt):
                valueHgt = int(valueHgt) + 1

            itemTemp = QStandardItem(
                str(valueAlt) + "\n(" + str(valueHgt) + ")")
            itemTemp.setTextAlignment(Qt.AlignCenter)
            self.stdModel.setItem(2, self.data["CatOfAcftCount"][0] + 5 + i,
                                  itemTemp)
    def changeType(self):

        if self.ui.txtToal != "" and self.ui.cmbMeasureType.currentIndex(
        ) != self.measureType:
            if self.measureType == DistanceUnits.M:
                if self.ui.cmbMeasureType.currentIndex() == DistanceUnits.FT:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertMeterToFeet(dist)))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.KM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(dist / 1000.0))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.NM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertMeterToNM(dist)))
            elif self.measureType == DistanceUnits.FT:
                if self.ui.cmbMeasureType.currentIndex() == DistanceUnits.M:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertFeetToMeter(dist)))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.KM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(
                        str(Unit.ConvertFeetToMeter(dist) / 1000.0))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.NM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertFeetToNM(dist)))
            elif self.measureType == DistanceUnits.KM:
                if self.ui.cmbMeasureType.currentIndex() == DistanceUnits.M:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertKMToMeters(dist)))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.FT:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertKMToFeet(dist)))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.NM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertKMToNM(dist)))
            elif self.measureType == DistanceUnits.NM:
                if self.ui.cmbMeasureType.currentIndex() == DistanceUnits.M:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(str(Unit.ConvertNMToMeter(dist)))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.FT:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(
                        str(
                            Unit.ConvertMeterToFeet(
                                Unit.ConvertNMToMeter(dist))))
                elif self.ui.cmbMeasureType.currentIndex() == DistanceUnits.KM:
                    dist = float(self.ui.txtToal.text())
                    self.ui.txtToal.setText(
                        str(Unit.ConvertNMToMeter(dist) / 1000.0))

        self.measureType = self.ui.cmbMeasureType.currentIndex()
Exemplo n.º 3
0
    def initParametersPan(self):
        ui = Ui_IasToTas()
        self.parametersPanel = ui
        FlightPlanBaseSimpleDlg.initParametersPan(self)

        self.parametersPanel.pnlWind = WindPanel(
            self.parametersPanel.gbNonStandard)
        self.parametersPanel.pnlWind.lblIA.setMinimumSize(180, 0)
        self.parametersPanel.pnlWind.speedBox.setEnabled(False)
        self.parametersPanel.vLayoutNonStandard.insertWidget(
            0, self.parametersPanel.pnlWind)
        self.parametersPanel.pnlWind.setAltitude(
            Altitude(float(self.parametersPanel.txtAltitude.text()),
                     AltitudeUnits.FT))

        self.parametersPanel.txtAltitude.textChanged.connect(
            self.txtAltitudeChanged)
        self.parametersPanel.cmbType.addItems([
            IasTasSegmentType.Departure, IasTasSegmentType.Enroute,
            IasTasSegmentType.Holding, IasTasSegmentType.InitialRR,
            IasTasSegmentType.InitialDR, IasTasSegmentType.IafIfFaf,
            IasTasSegmentType.MissedApproach
        ])
        self.parametersPanel.cmbType.currentIndexChanged.connect(
            self.method_29)
        self.parametersPanel.txtIAS.textChanged.connect(self.method_29)
        self.parametersPanel.txtAltitude.textChanged.connect(self.method_29)
        self.parametersPanel.txtTime.textChanged.connect(self.method_29)
        self.parametersPanel.txtISA.textChanged.connect(self.method_29)

        self.parametersPanel.btnEST.clicked.connect(self.btnESTClicked)
        self.parametersPanel.btnREA.clicked.connect(self.btnREAClicked)
        self.parametersPanel.btnC.clicked.connect(self.btnCClicked)
        self.parametersPanel.btnD.clicked.connect(self.btnDClicked)
        self.parametersPanel.btnX.clicked.connect(self.btnXClicked)
        self.parametersPanel.btnNonStd.clicked.connect(self.btnNonStdClicked)

        self.parametersPanel.txtAltitudeM.textChanged.connect(
            self.txtAltitudeMChanged)
        self.parametersPanel.txtAltitude.textChanged.connect(
            self.txtAltitudeFtChanged)

        self.flag = 0
        if self.flag == 0:
            self.flag = 2
        if self.flag == 1:
            self.flag = 0
        if self.flag == 2:
            try:
                self.parametersPanel.txtAltitudeM.setText(
                    str(
                        Unit.ConvertFeetToMeter(
                            float(self.parametersPanel.txtAltitude.text()))))
            except:
                self.parametersPanel.txtAltitudeM.setText("0.0")

        self.method_29()
    def initParametersPan(self):
        ui = Ui_DmeToleranceDlg()
        self.parametersPanel = ui
        FlightPlanBaseSimpleDlg.initParametersPan(self)
        
        '''init panel'''
        self.parametersPanel.pnlDME = PositionPanel(ui.gbConstruction)
        self.parametersPanel.pnlDME.groupBox.setTitle("DME Position")
        self.parametersPanel.pnlDME.btnCalculater.hide()
        self.parametersPanel.pnlDME.hideframe_Altitude()
        self.parametersPanel.pnlDME.setObjectName("positionDme")        
        ui.vl_gbConstruction.insertWidget(1, self.parametersPanel.pnlDME)
        
        self.parametersPanel.cmbCalculationType.addItems([DmeToleranceCalculationType.Ground, DmeToleranceCalculationType.Aircraft])
        self.parametersPanel.cmbConstructionType.addItems([DmeToleranceConstructionType.Circle, DmeToleranceConstructionType.Arc])
        self.parametersPanel.btnMesureSlant.setVisible(False)
        self.parametersPanel.btnMesureTolerance.setVisible(False)
        # self.parametersPanel.txtRadial.setText("0")
        self.parametersPanel.cmbCalculationType.setCurrentIndex(1)
        '''signal and slost'''
        self.parametersPanel.cmbCalculationType.currentIndexChanged.connect(self.method_30)
        self.parametersPanel.txtDistance.textChanged.connect(self.method_30)
        self.parametersPanel.btnMesureDist.clicked.connect(self.measureToolDistance)
        self.parametersPanel.txtAcAltitude.textChanged.connect(self.method_30)
        self.parametersPanel.txtDmeAltitude.textChanged.connect(self.method_30)
        self.parametersPanel.cmbConstructionType.currentIndexChanged.connect(self.method_28)
        # self.parametersPanel.btnCaptureRadial.clicked.connect(self.captureRadial)
        self.parametersPanel.btnMesureAltitude.clicked.connect(self.measureToolAltitude)

        self.parametersPanel.txtAcAltitudeM.textChanged.connect(self.txtAcAltitudeMChanged)
        self.parametersPanel.txtAcAltitude.textChanged.connect(self.txtAcAltitudeFtChanged)

        self.flag = 0
        if self.flag==0:
            self.flag=2;
        if self.flag==1:
            self.flag=0;
        if self.flag==2:
            try:
                self.parametersPanel.txtAcAltitudeM.setText(str(round(Unit.ConvertFeetToMeter(float(self.parametersPanel.txtAcAltitude.text())), 4)))
            except:
                self.parametersPanel.txtAcAltitudeM.setText("0.0")

        self.parametersPanel.txtDmeAltitude.textChanged.connect(self.txtDmeAltitudeMChanged)
        self.parametersPanel.txtDmeAltitudeFt.textChanged.connect(self.txtDmeAltitudeFtChanged)

        self.flag1 = 0
        if self.flag1==0:
            self.flag1=1;
        if self.flag1==2:
            self.flag1=0;
        if self.flag1==1:
            try:
                self.parametersPanel.txtDmeAltitudeFt.setText(str(round(Unit.ConvertMeterToFeet(float(self.parametersPanel.txtDmeAltitude.text())), 4)))
            except:
                self.parametersPanel.txtDmeAltitudeFt.setText("0.0")
 def txtDmeAltitudeFtChanged(self):
     if self.flag1==0:
         self.flag1=2;
     if self.flag1==1:
         self.flag1=0;
     if self.flag1==2:
         try:
             self.parametersPanel.txtDmeAltitude.setText(str(round(Unit.ConvertFeetToMeter(float(self.parametersPanel.txtDmeAltitudeFt.text())), 4)))
         except:
             self.parametersPanel.txtDmeAltitude.setText("0.0")
Exemplo n.º 6
0
 def altitudeFtChanged(self):
     if self.flag==0:
         self.flag=2;
     if self.flag==1:
         self.flag=0;
     if self.flag==2:
         try:
             self.parametersPanel.txtAltitudeM.setText(str(Unit.ConvertFeetToMeter(float(self.parametersPanel.txtAltitude.text()))))
         except:
             self.parametersPanel.txtAltitudeM.setText("0.0")
 def txtMinTurnHeight_CATH_2Changed(self):
     if self.flag3==0:
         self.flag3=2;
     if self.flag3==1:
         self.flag3=0;
     if self.flag3==2:
         try:
             self.parametersPanel.txtMinTurnHeight_CATH.setText(str(round(Unit.ConvertFeetToMeter(float(self.parametersPanel.txtMinTurnHeight_CATH_2.text())), 4)))
         except:
             self.parametersPanel.txtMinTurnHeight_CATH.setText("0.0")
     self.calcRadiusArea3()
 def txtTurningAltitudeChanged(self):
     if self.flag1==0:
         self.flag1=2;
     if self.flag1==1:
         self.flag1=0;
     if self.flag1==2:
         try:
             self.parametersPanel.txtTurningAltitudeM.setText(str(round(Unit.ConvertFeetToMeter(float(self.parametersPanel.txtTurningAltitude.text())), 4)))
         except:
             self.parametersPanel.txtTurningAltitudeM.setText("0.0")
     self.calcRadiusArea3()
Exemplo n.º 9
0
    def altitudeFtChanged(self):
        if self.flag==0:
            self.flag=2;
        if self.flag==1:
            self.flag=0;
        if self.flag==2:
            try:
                self.parametersPanel.txtAltitudeM.setText(str(Unit.ConvertFeetToMeter(float(self.parametersPanel.txtAltitudeFt.text()))))
            except:
                self.parametersPanel.txtAltitudeM.setText("0.0")

        self.parametersPanel.pnlWind.setAltitude(Altitude(float(self.parametersPanel.txtAltitudeFt.text()), AltitudeUnits.FT))
        try:
            self.parametersPanel.txtTas.setText(str(Speed.smethod_0(Speed(float(self.parametersPanel.txtIas.text())), float(self.parametersPanel.txtIsa.text()), Altitude(float(self.parametersPanel.txtAltitudeFt.text()), AltitudeUnits.FT)).Knots))
        except:
            raise ValueError("Value Invalid")
 def txtMinTurnHeightFtChanged(self):
     if self.flag2 == 0:
         self.flag2 = 2
     if self.flag2 == 1:
         self.flag2 = 0
     if self.flag2 == 2:
         try:
             self.parametersPanel.txtMinTurnHeight.setText(
                 str(
                     round(
                         Unit.ConvertFeetToMeter(
                             float(self.parametersPanel.txtMinTurnHeightFt.
                                   text())), 4)))
         except:
             self.parametersPanel.txtMinTurnHeight.setText("0.0")
     self.calcRadiusArea3()
 def txtAltitudeFtChanged(self):
     try:
         test = float(self.txtAltitudeFt.text())
         if self.flag==0:
             self.flag=1;
         if self.flag==2:
             self.flag=0;
         if self.flag==1:
             try:
                 self.txtAltitudeM.setText(str(round(Unit.ConvertFeetToMeter(float(self.txtAltitudeFt.text())), 4)))
             except:
                 self.txtAltitudeM.setText("0.0")
             self.emit(SIGNAL("Event_0"), self)
     except:
         str0 = "You must input the float type in \"%s\"."%(self.Caption)
         QMessageBox.warning(self, "Warning" , str0)
         self.txtAltitudeM.setText("0.0")
Exemplo n.º 12
0
 def _chageFromFtToM(self):
     if self.flag == 0:
         self.flag = 2
     if self.flag == 1:
         self.flag = 0
     if self.flag == 2:
         try:
             self.txtAltitudeM.setText(
                 str(
                     round(
                         Unit.ConvertFeetToMeter(
                             float(self.txtAltitudeFt.text())), 4)))
             try:
                 self.resultPoint3d = Point3D(
                     self.resultPoint3d.get_X(), self.resultPoint3d.get_Y(),
                     float(self.txtAltitudeM.text()))
             except:
                 pass
         except ValueError:
             self.txtAltitudeM.setText("")
Exemplo n.º 13
0
    def initParametersPan(self):
        ui = Ui_TurnArea()
        self.parametersPanel = ui
        FlightPlanBaseDlg.initParametersPan(self)
        
        self.parametersPanel.txtTas.setEnabled(False)
        self.CaptureCoordTool = CaptureCoordinateToolUpdate(define._canvas)
        self.connect(self.CaptureCoordTool, SIGNAL("resultPointValueList"), self.resultPointValueListMethod)
        self.parametersPanel.pnlWind = WindPanel(self.parametersPanel.gbParameters)
        self.parametersPanel.pnlWind.lblIA.setMinimumSize(100, 0)
        self.parametersPanel.pnlWind.lblIA.setMaximumSize(100, 10000)
        self.parametersPanel.vl_gbParameters.insertWidget(6, self.parametersPanel.pnlWind)
        self.parametersPanel.pnlWind.setAltitude(Altitude(float(self.parametersPanel.txtAltitudeFt.text()), AltitudeUnits.FT))

        self.parametersPanel.cmbOrientation.addItems(["Right", "Left"])
                
#         self.parametersPanel.cmbHoldingFunctionality.currentIndexChanged.connect(self.cmbHoldingFunctionalityCurrentIndexChanged)
#         self.parametersPanel.cmbOutboundLimit.currentIndexChanged.connect(self.cmbOutboundLimitCurrentIndexChanged)
#         self.parametersPanel.btnCaptureTrack.clicked.connect(self.captureBearing)
#         self.parametersPanel.btnCaptureDistance.clicked.connect(self.measureDistance)
#         self.parametersPanel.btnCaptureLength.clicked.connect(self.measureLength)        
        self.parametersPanel.txtAltitudeFt.textChanged.connect(self.altitudeFtChanged)
        self.parametersPanel.txtAltitudeM.textChanged.connect(self.altitudeMChanged)
#         self.parametersPanel.cmbAircraftCategory.currentIndexChanged.connect(self.changeCategory)
#         self.parametersPanel.btnIasHelp.clicked.connect(self.iasHelpShow)
        self.parametersPanel.txtIas.textChanged.connect(self.iasChanged)
        self.parametersPanel.txtIsa.textChanged.connect(self.isaChanged)
        
        self.parametersPanel.txtTas.setText(str(round(Speed.smethod_0(Speed(float(self.parametersPanel.txtIas.text())), float(self.parametersPanel.txtIsa.text()), Altitude(float(self.parametersPanel.txtAltitudeFt.text()), AltitudeUnits.FT)).Knots, 4)))

        self.flag = 0
        if self.flag==0:
            self.flag=2;
        if self.flag==1:
            self.flag=0;
        if self.flag==2:
            try:
                self.parametersPanel.txtAltitudeM.setText(str(round(Unit.ConvertFeetToMeter(float(self.parametersPanel.txtAltitudeFt.text())), 4)))
            except:
                self.parametersPanel.txtAltitudeM.setText("0.0")
Exemplo n.º 14
0
    def initParametersPan(self):
        self.parametersPanel.pnlNavAid = PositionPanel(
            self.parametersPanel.gbNavAid)
        #         self.parametersPanel.pnlWaypoint.groupBox.setTitle("FAWP")
        self.parametersPanel.pnlNavAid.btnCalculater.hide()
        #         self.parametersPanel.pnlNavAid.hideframe_Altitude()
        self.parametersPanel.pnlNavAid.setObjectName("pnlNavAid")
        self.parametersPanel.vl_NavAid.addWidget(
            self.parametersPanel.pnlNavAid)
        # self.connect(self.parametersPanel.pnlNavAid, SIGNAL("positionChanged"), self.initResultPanel)

        self.parametersPanel.cmbNavAidType.addItems(
            [Captions.VOR, Captions.NDB])

        #         self.parametersPanel.cmbHoldingFunctionality.currentIndexChanged.connect(self.cmbHoldingFunctionalityCurrentIndexChanged)
        #         self.parametersPanel.cmbOutboundLimit.currentIndexChanged.connect(self.cmbOutboundLimitCurrentIndexChanged)
        #         self.parametersPanel.btnCaptureTrack.clicked.connect(self.captureBearing)
        #         self.parametersPanel.btnCaptureDistance.clicked.connect(self.measureDistance)
        #         self.parametersPanel.btnCaptureLength.clicked.connect(self.measureLength)
        self.parametersPanel.txtAltitude.textChanged.connect(
            self.altitudeFtChanged)
        self.parametersPanel.txtAltitudeM.textChanged.connect(
            self.altitudeMChanged)

        self.flag = 0
        if self.flag == 0:
            self.flag = 2
        if self.flag == 1:
            self.flag = 0
        if self.flag == 2:
            try:
                self.parametersPanel.txtAltitudeM.setText(
                    str(
                        round(
                            Unit.ConvertFeetToMeter(
                                float(
                                    self.parametersPanel.txtAltitude.text())),
                            4)))
            except:
                self.parametersPanel.txtAltitudeM.setText("0.0")

        # FixConstruction Part
        self.parametersPanel.pnlTrackingPosition = PositionPanel(
            self.parametersPanel.gbTrackingAid)
        self.parametersPanel.pnlTrackingPosition.btnCalculater.hide()
        self.parametersPanel.pnlTrackingPosition.hideframe_Altitude()
        self.parametersPanel.pnlTrackingPosition.setObjectName(
            "pnlTrackingPosition")
        self.parametersPanel.vl_gbTrackingAid.insertWidget(
            1, self.parametersPanel.pnlTrackingPosition)
        # self.connect(self.parametersPanel.pnlNavAid, SIGNAL("positionChanged"), self.initResultPanel)

        self.parametersPanel.pnlIntersectingPosition = PositionPanel(
            self.parametersPanel.gbIntersectingAid)
        self.parametersPanel.pnlIntersectingPosition.btnCalculater.hide()
        self.parametersPanel.pnlIntersectingPosition.hideframe_Altitude()
        self.parametersPanel.pnlIntersectingPosition.setObjectName(
            "pnlIntersectingPosition")
        self.parametersPanel.vl_gbIntersectingAid.insertWidget(
            1, self.parametersPanel.pnlIntersectingPosition)
        # self.connect(self.parametersPanel.pnlNavAid, SIGNAL("positionChanged"), self.initResultPanel)

        self.parametersPanel.cmbTrackingType.addItems(
            [Captions.VOR, Captions.NDB, Captions.LOC])
        self.parametersPanel.cmbIntersectingType.addItems(
            [Captions.VOR, Captions.NDB, Captions.DME])

        self.parametersPanel.cmbTrackingType.currentIndexChanged.connect(
            self.method_30)
        self.parametersPanel.cmbIntersectingType.currentIndexChanged.connect(
            self.method_30)
        # self.parametersPanel.btnCaptureTrackingRadialTrack.clicked.connect(self.captureTrackingRadialTrack)
        # self.parametersPanel.btnCaptureIntersectingRadialTrack.clicked.connect(self.captureIntersectingRadialTrack)
        self.parametersPanel.btnMeasureDmeOffset.clicked.connect(
            self.measureDmeOffset)
        self.parametersPanel.btnMeasureIntersectingDistance.clicked.connect(
            self.measureIntersectingDistance)
        self.parametersPanel.chb0dmeAtThr.clicked.connect(self.method_30)
        self.method_30()
        self.parametersPanel.btnClose.clicked.connect(self.dlgClose)
        self.parametersPanel.btnClose_2.clicked.connect(self.dlgClose)
Exemplo n.º 15
0
    def initParametersPan(self):
        ui = Ui_HoldingRnpGeneral()
        self.parametersPanel = ui

        FlightPlanBaseDlg.initParametersPan(self)
        self.parametersPanel.txtTas.setEnabled(False)
        self.parametersPanel.pnlWaypoint = PositionPanel(
            self.parametersPanel.holding)
        self.parametersPanel.pnlWaypoint.groupBox.setTitle("Waypoint Position")

        self.parametersPanel.pnlWaypoint.hideframe_Altitude()
        self.parametersPanel.pnlWaypoint.setObjectName("positionWaypoint")
        self.parametersPanel.pnlWaypoint.btnCalculater.hide()
        self.parametersPanel.verticalLayout.insertWidget(
            0, self.parametersPanel.pnlWaypoint)

        self.parametersPanel.pnlWind = WindPanel(
            self.parametersPanel.grbParameters)
        self.parametersPanel.vLayout_grbParameters.insertWidget(
            5, self.parametersPanel.pnlWind)
        self.parametersPanel.pnlWind.setAltitude(
            Altitude(float(self.parametersPanel.txtAltitude.text()),
                     AltitudeUnits.FT))

        #         self.resize(460,600)
        self.parametersPanel.cmbConstruction.addItems(["2D", "3D"])
        self.parametersPanel.cmbAircraftCategory_2.addItems(
            ["A", "B", "C", "D", "E", "H", "Custom"])
        self.parametersPanel.cmbOrientation.addItems(
            [OrientationType.Left, OrientationType.Right])
        #         self.parametersPanel.cmbOrientation.setCurrentIndex(1)
        #
        #         '''Event Handlers Connect'''
        #
        self.parametersPanel.txtAltitude.textChanged.connect(self.method_31)
        #         self.parametersPanel.cmbTurnLimitation.currentIndexChanged.connect(self.method_28)
        #         self.parametersPanel.btnCaptureTrack.clicked.connect(self.captureBearing)
        self.parametersPanel.cmbAircraftCategory_2.currentIndexChanged.connect(
            self.changeCategory)
        self.parametersPanel.cmbAircraftCategory_2.setCurrentIndex(3)

        self.frame_8_1 = QFrame(self)
        sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        #         sizePolicy.setHeightForWidth(self.frame_8.sizePolicy().hasHeightForWidth())
        self.frame_8_1.setSizePolicy(sizePolicy)
        self.frame_8_1.setFrameShape(QFrame.StyledPanel)
        self.frame_8_1.setFrameShadow(QFrame.Raised)
        self.frame_8_1.setObjectName("frame_8")
        self.horizontalLayout_10_1 = QHBoxLayout(self.frame_8_1)
        self.horizontalLayout_10_1.setAlignment(Qt.AlignHCenter)
        self.horizontalLayout_10_1.setSpacing(0)
        self.horizontalLayout_10_1.setMargin(0)
        self.horizontalLayout_10_1.setObjectName("horizontalLayout_10")
        self.label_2_1 = QLabel(self.frame_8_1)
        self.label_2_1.setMinimumSize(QSize(140, 16777215))
        #         self.label_2_1.setFixedWidth(100)
        self.label_2_1.setText("MOCmultiplier")

        font = QFont()
        font.setFamily("Arial")
        font.setBold(False)
        font.setWeight(50)
        self.label_2_1.setFont(font)
        self.label_2_1.setObjectName("label_2_1")
        self.horizontalLayout_10_1.addWidget(self.label_2_1)

        self.parametersPanel.mocSpinBox = QSpinBox(self.frame_8_1)
        self.parametersPanel.mocSpinBox.setFont(font)
        self.parametersPanel.mocSpinBox.setObjectName("mocSpinBox")
        sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding,
                                 QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.parametersPanel.mocSpinBox.sizePolicy().hasHeightForWidth())
        self.parametersPanel.mocSpinBox.setSizePolicy(sizePolicy)
        self.parametersPanel.mocSpinBox.setMinimum(1)
        self.parametersPanel.mocSpinBox.setMinimumSize(QSize(140, 16777215))

        #         self.parametersPanel.mocSpinBox.setFixedWidth(100)
        self.horizontalLayout_10_1.addWidget(self.parametersPanel.mocSpinBox)
        #         self.verticalLayout_9.addWidget(self.frame_8_1)

        self.parametersPanel.vLayout_grbParameters.addWidget(self.frame_8_1)
        self.parametersPanel.btnIasHelp.clicked.connect(self.iasHelpShow)
        self.parametersPanel.frame_ConstructionType_2.hide()

        self.parametersPanel.txtIas.textChanged.connect(self.iasChanged)
        self.parametersPanel.txtIsa.textChanged.connect(self.isaChanged)
        #         self.parametersPanel.txtIsa.textChanged.connect(self.isaChanged)
        self.parametersPanel.txtAltitudeM.textChanged.connect(
            self.txtAltitudeMChanged)
        self.parametersPanel.txtAltitude.textChanged.connect(
            self.txtAltitudeFtChanged)

        self.flag = 0
        if self.flag == 0:
            self.flag = 2
        if self.flag == 1:
            self.flag = 0
        if self.flag == 2:
            try:
                self.parametersPanel.txtAltitudeM.setText(
                    str(
                        round(
                            Unit.ConvertFeetToMeter(
                                float(
                                    self.parametersPanel.txtAltitude.text())),
                            4)))
            except:
                self.parametersPanel.txtAltitudeM.setText("0.0")
        self.parametersPanel.txtMoc.textChanged.connect(self.txtMocMChanged)
        self.parametersPanel.txtMocFt.textChanged.connect(self.txtMocFtChanged)

        self.flag1 = 0
        if self.flag1 == 0:
            self.flag1 = 1
        if self.flag1 == 2:
            self.flag1 = 0
        if self.flag1 == 1:
            try:
                self.parametersPanel.txtMocFt.setText(
                    str(
                        round(
                            Unit.ConvertMeterToFeet(
                                float(self.parametersPanel.txtMoc.text())),
                            4)))
            except:
                self.parametersPanel.txtMocFt.setText("0.0")

        self.parametersPanel.txtTas.setText(
            str(
                round(
                    Speed.smethod_0(
                        Speed(float(self.parametersPanel.txtIas.text())),
                        float(self.parametersPanel.txtIsa.text()),
                        Altitude(
                            float(self.parametersPanel.txtAltitude.text()),
                            AltitudeUnits.FT)).Knots, 4)))
    def initParametersPan(self):
        ui = Ui_DepartureOmnidirectional()
        self.parametersPanel = ui
        FlightPlanBaseDlg.initParametersPan(self)

        self.parametersPanel.chbHideCloseInObst = QCheckBox(self.ui.grbResult)
        font = QFont()
        font.setBold(False)
        font.setWeight(50)
        self.parametersPanel.chbHideCloseInObst.setFont(font)
        self.parametersPanel.chbHideCloseInObst.setObjectName(
            "chbHideCloseInObst")
        self.ui.vlResultGroup.addWidget(
            self.parametersPanel.chbHideCloseInObst)
        self.parametersPanel.chbHideCloseInObst.setText(
            "Hide close-in obstacles")
        self.parametersPanel.txtRadiusFt.setEnabled(False)
        self.parametersPanel.txtRadius.setEnabled(False)

        self.parametersPanel.frameMinTurnHeight_CATH.setVisible(False)

        self.parametersPanel.pnlDer = PositionPanel(
            self.parametersPanel.gbRunway)
        self.parametersPanel.pnlDer.groupBox.setTitle("DER Position")
        self.parametersPanel.pnlDer.btnCalculater.hide()
        #         self.parametersPanel.pnlRwyDir.hideframe_Altitude()
        self.parametersPanel.pnlDer.setObjectName("pnlDer")
        ui.vl_gbRunway.addWidget(self.parametersPanel.pnlDer)
        #         self.connect(self.parametersPanel.pnlRwyDir, SIGNAL("positionChanged"), self.initResultPanel)

        self.parametersPanel.pnlRwyStart = PositionPanel(
            self.parametersPanel.gbRunway)
        self.parametersPanel.pnlRwyStart.groupBox.setTitle(
            "Start of RWY/FATO Position")
        self.parametersPanel.pnlRwyStart.btnCalculater.hide()
        self.parametersPanel.pnlRwyStart.hideframe_Altitude()
        self.parametersPanel.pnlRwyStart.setObjectName("pnlRwyStart")
        ui.vl_gbRunway.insertWidget(1, self.parametersPanel.pnlRwyStart)
        self.calcRadiusArea3()
        self.parametersPanel.cmbSelectionMode.addItems(["Automatic", "Manual"])
        self.parametersPanel.cmbSelectionMode.currentIndexChanged.connect(
            self.manualEvent)
        #         self.parametersPanel.cmbHoldingFunctionality.currentIndexChanged.connect(self.cmbHoldingFunctionalityCurrentIndexChanged)
        #         self.parametersPanel.cmbOutboundLimit.currentIndexChanged.connect(self.cmbOutboundLimitCurrentIndexChanged)
        #         self.parametersPanel.btnCaptureDer.clicked.connect(self.captureBearing)
        self.parametersPanel.chbHideCloseInObst.stateChanged.connect(
            self.chbHideCloseInObstStateChanged)
        self.parametersPanel.chbCatH.stateChanged.connect(
            self.chbCATHStateChanged)
        self.parametersPanel.txtPdg.textChanged.connect(self.calcRadiusArea3)
        self.parametersPanel.pnlDer.txtPointX.textChanged.connect(
            self.calcRadiusArea3)
        self.parametersPanel.pnlDer.txtAltitudeM.textChanged.connect(
            self.calcRadiusArea3)
        self.parametersPanel.txtNextSegmentAltitude.textChanged.connect(
            self.txtNextSegmentAltitudeChanged)
        self.parametersPanel.txtTurningAltitude.textChanged.connect(
            self.txtTurningAltitudeChanged)
        self.parametersPanel.txtNextSegmentAltitudeM.textChanged.connect(
            self.txtNextSegmentAltitudeMChanged)
        self.parametersPanel.txtTurningAltitudeM.textChanged.connect(
            self.txtTurningAltitudeMChanged)

        self.parametersPanel.txtMinTurnHeight.textChanged.connect(
            self.txtMinTurnHeightChanged)
        self.parametersPanel.txtMinTurnHeightFt.textChanged.connect(
            self.txtMinTurnHeightFtChanged)
        self.parametersPanel.txtMinTurnHeight_CATH.textChanged.connect(
            self.txtMinTurnHeight_CATHChanged)
        self.parametersPanel.txtMinTurnHeight_CATH_2.textChanged.connect(
            self.txtMinTurnHeight_CATH_2Changed)
        #         self.parametersPanel.btnCaptureDistance.clicked.connect(self.measureDistance)
        #         self.parametersPanel.btnCaptureLength.clicked.connect(self.measureLength)
        #         self.parametersPanel.txtAltitude.textChanged.connect(self.altitudeChanged)
        #         self.parametersPanel.cmbAircraftCategory.currentIndexChanged.connect(self.changeCategory)
        #         self.parametersPanel.btnIasHelp.clicked.connect(self.iasHelpShow)
        #         self.parametersPanel.txtIas.textChanged.connect(self.iasChanged)
        #         self.parametersPanel.txtIsa.textChanged.connect(self.isaChanged)
        #
        self.txtTFlag = True
        self.txtNFlag = True
        self.txtTMFlag = False
        self.txtNMFlag = False

        self.flag = 0
        self.flag1 = 0
        self.flag2 = 0
        self.flag3 = 0
        try:
            self.parametersPanel.txtNextSegmentAltitudeM.setText(
                str(
                    round(
                        Unit.ConvertFeetToMeter(
                            float(self.parametersPanel.txtNextSegmentAltitude.
                                  text())), 4)))
        except:
            self.parametersPanel.txtNextSegmentAltitudeM.setText("0.0")
        try:
            self.parametersPanel.txtTurningAltitudeM.setText(
                str(
                    round(
                        Unit.ConvertFeetToMeter(
                            float(self.parametersPanel.txtTurningAltitude.text(
                            ))), 4)))
        except:
            self.parametersPanel.txtTurningAltitudeM.setText("0.0")

        try:
            self.parametersPanel.txtMinTurnHeightFt.setText(
                str(
                    round(
                        Unit.ConvertMeterToFeet(
                            float(
                                self.parametersPanel.txtMinTurnHeight.text())),
                        4)))
        except:
            self.parametersPanel.txtMinTurnHeightFt.setText("0.0")
        try:
            self.parametersPanel.txtMinTurnHeight_CATH_2.setText(
                str(
                    round(
                        Unit.ConvertMeterToFeet(
                            float(self.parametersPanel.txtMinTurnHeight_CATH.
                                  text())), 4)))
        except:
            self.parametersPanel.txtMinTurnHeight_CATH_2.setText("0.0")