class Ui_NpaOnFix(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(435, 580)
        self.verticalLayout = QVBoxLayout(Form)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))

        self.gbParameters = GroupBox(Form)
        self.gbParameters.Caption = "General"
        self.verticalLayout.addWidget(self.gbParameters)

        self.cmbAerodrome = ComboBoxPanel(self.gbParameters, True)
        self.cmbAerodrome.Caption = "Aerodrome"
        self.cmbAerodrome.LabelWidth = 150
        self.cmbAerodrome.Width = 150
        self.gbParameters.Add = self.cmbAerodrome

        self.cmbRwyDir = ComboBoxPanel(self.gbParameters, True)
        self.cmbRwyDir.Caption = "Runway Direction"
        self.cmbRwyDir.LabelWidth = 150
        self.cmbRwyDir.Width = 150
        self.gbParameters.Add = self.cmbRwyDir

        self.annotationFAWP = QgsTextAnnotationItem(define._canvas)
        self.annotationFAWP.setDocument(QTextDocument("FAF"))
        self.annotationFAWP.hide()

        self.pnlFafPosition = PositionPanel(self.gbParameters,
                                            self.annotationFAWP)
        self.pnlFafPosition.Caption = "FAF Position"
        self.pnlFafPosition.btnCalculater.hide()
        self.pnlFafPosition.hideframe_Altitude()
        self.gbParameters.Add = self.pnlFafPosition

        self.pnlThrPosition = PositionPanel(self.gbParameters)
        self.pnlThrPosition.Caption = "Threshold Position"
        self.pnlThrPosition.btnCalculater.hide()
        self.gbParameters.Add = self.pnlThrPosition

        # self.annotationMapt = QgsTextAnnotationItem(define._canvas)
        # self.annotationMapt.setDocument(QTextDocument("MAPt"))
        # self.annotationMapt.hide()

        self.pnlMaPtPosition = PositionPanel(self.gbParameters)
        self.pnlMaPtPosition.Caption = "MAPt Position"
        self.pnlMaPtPosition.btnCalculater.hide()
        self.pnlMaPtPosition.hideframe_Altitude()
        self.gbParameters.Add = self.pnlMaPtPosition

        self.pnlRwyEndPosition = PositionPanel(self.gbParameters)
        self.pnlRwyEndPosition.Caption = "Rwy End Position"
        self.pnlRwyEndPosition.btnCalculater.hide()
        self.pnlRwyEndPosition.hideframe_Altitude()
        self.gbParameters.Add = self.pnlRwyEndPosition
        self.pnlRwyEndPosition.Visible = False

        self.pnlInboundTrack = TrackRadialBoxPanel(self.gbParameters)
        self.pnlInboundTrack.Caption = "In-bound Track"
        self.pnlInboundTrack.LabelWidth = 150
        self.pnlInboundTrack.Enabled = False
        self.gbParameters.Add = self.pnlInboundTrack

        self.pnlEstimatedAltitude = AltitudeBoxPanel(self.gbParameters)
        self.pnlEstimatedAltitude.Caption = "Estimated Altitude"
        self.pnlEstimatedAltitude.LabelWidth = 150
        self.pnlEstimatedAltitude.Value = Altitude(1000)
        self.gbParameters.Add = self.pnlEstimatedAltitude

        self.pnlAerodromeAltitude = AltitudeBoxPanel(self.gbParameters)
        self.pnlAerodromeAltitude.Caption = "Aerodrome Altitude"
        self.pnlAerodromeAltitude.LabelWidth = 150
        self.pnlAerodromeAltitude.Value = Altitude(1000)
        self.gbParameters.Add = self.pnlAerodromeAltitude

        self.pnlIsa = NumberBoxPanel(self.gbParameters, "0.0")
        self.pnlIsa.CaptionUnits = define._degreeStr + "C"
        self.pnlIsa.Caption = "ISA"
        self.pnlIsa.LabelWidth = 150
        self.pnlIsa.Value = 15
        self.gbParameters.Add = self.pnlIsa

        self.cmbAircraftCategory = ComboBoxPanel(self.gbParameters)
        self.cmbAircraftCategory.Caption = "Aircraft Category"
        self.cmbAircraftCategory.LabelWidth = 150
        self.gbParameters.Add = self.cmbAircraftCategory

        # self.pnlHeightLoss = AltitudeBoxPanel(self.gbParameters)
        # self.pnlHeightLoss.Caption = "Height Loss"
        # self.pnlHeightLoss.LabelWidth = 150
        # self.gbParameters.Add = self.pnlHeightLoss

        self.pnlIas = SpeedBoxPanel(self.gbParameters)
        self.pnlIas.Caption = "IAS"
        self.pnlIas.LabelWidth = 150
        self.pnlIas.Value = Speed(100)
        self.pnlIas.Enabled = False
        self.gbParameters.Add = self.pnlIas

        self.pnlTas = SpeedBoxPanel(self.gbParameters)
        self.pnlTas.Caption = "TAS"
        self.pnlTas.Enabled = False
        self.pnlTas.LabelWidth = 150
        self.gbParameters.Add = self.pnlTas

        self.pnlWind = WindPanel(self.gbParameters)
        self.pnlWind.LabelWidth = 145
        self.gbParameters.Add = self.pnlWind

        self.pnlSocAltitude = AltitudeBoxPanel(self.gbParameters)
        self.pnlSocAltitude.Caption = "SOC Altitude"
        self.pnlSocAltitude.LabelWidth = 150
        self.gbParameters.Add = self.pnlSocAltitude

        self.pnlDistFixTolerance = DistanceBoxPanel(self.gbParameters,
                                                    DistanceUnits.M,
                                                    DistanceUnits.NM)
        self.pnlDistFixTolerance.Caption = "FIX Tolerance"
        self.pnlDistFixTolerance.LabelWidth = 150
        self.pnlDistFixTolerance.Button = "coordinate_capture.png"
        self.pnlDistFixTolerance.Value = Distance(900)
        # self.pnlDistFixTolerance.Enabled = False
        self.gbParameters.Add = self.pnlDistFixTolerance

        self.pnlDistD = DistanceBoxPanel(self.gbParameters, DistanceUnits.M,
                                         DistanceUnits.NM)
        self.pnlDistD.Caption = "d(10kts/3s)"
        self.pnlDistD.LabelWidth = 150
        self.pnlDistD.Button = None
        self.pnlDistD.Value = Distance(900)
        self.pnlDistD.Enabled = False
        self.gbParameters.Add = self.pnlDistD

        self.pnlDistX = DistanceBoxPanel(self.gbParameters, DistanceUnits.M,
                                         DistanceUnits.NM)
        self.pnlDistX.Caption = "X(10kts/15s)"
        self.pnlDistX.LabelWidth = 150
        self.pnlDistX.Button = None
        self.pnlDistX.Value = Distance(900)
        self.pnlDistX.Enabled = False
        self.gbParameters.Add = self.pnlDistX

        self.pnlDistOfFafMapt = DistanceBoxPanel(self.gbParameters,
                                                 DistanceUnits.M,
                                                 DistanceUnits.NM)
        self.pnlDistOfFafMapt.Caption = "FAP-MAPt Distance"
        self.pnlDistOfFafMapt.LabelWidth = 150
        self.pnlDistOfFafMapt.Button = None
        self.pnlDistOfFafMapt.Enabled = False
        self.gbParameters.Add = self.pnlDistOfFafMapt

        self.pnlDistOfMaptThr = DistanceBoxPanel(self.gbParameters,
                                                 DistanceUnits.M,
                                                 DistanceUnits.NM)
        self.pnlDistOfMaptThr.Caption = "MAPt-THR Distance"
        self.pnlDistOfMaptThr.LabelWidth = 150
        self.pnlDistOfMaptThr.Button = None
        self.pnlDistOfMaptThr.Enabled = False
        self.gbParameters.Add = self.pnlDistOfMaptThr

        self.pnlDistOfMaptSoc = DistanceBoxPanel(self.gbParameters,
                                                 DistanceUnits.M,
                                                 DistanceUnits.NM)
        self.pnlDistOfMaptSoc.Caption = "MAPt-SOC Distance"
        self.pnlDistOfMaptSoc.LabelWidth = 150
        self.pnlDistOfMaptSoc.Button = None
        self.pnlDistOfMaptSoc.Enabled = False
        self.gbParameters.Add = self.pnlDistOfMaptSoc

        self.pnlDistOfSocThr = DistanceBoxPanel(self.gbParameters,
                                                DistanceUnits.M,
                                                DistanceUnits.NM)
        self.pnlDistOfSocThr.Caption = "THR-SOC Distance"
        self.pnlDistOfSocThr.LabelWidth = 150
        self.pnlDistOfSocThr.Button = None
        self.pnlDistOfSocThr.Enabled = False
        self.gbParameters.Add = self.pnlDistOfSocThr
class Ui_ShieldingGeneral(object):
    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.vlForm.setSpacing(0)
        self.vlForm.setMargin(0)

        self.gbParameters = GroupBox(Form)
        self.gbParameters.Caption = "Parameters"
        self.vlForm.addWidget(self.gbParameters)

        self.pnlNavType = ComboBoxPanel(self.gbParameters)
        self.pnlNavType.Caption = "Navigation Type"
        self.pnlNavType.LabelWidth = 120
        self.gbParameters.Add = self.pnlNavType

        self.gbNavAid = GroupBox(Form)
        self.gbNavAid.Caption = "Navigational Aid"
        self.gbParameters.Add = self.gbNavAid

        self.pnlRunwayGroup = Frame(self.gbNavAid, "HL")
        self.gbNavAid.Add = self.pnlRunwayGroup

        self.pnlNavAid = ComboBoxPanel(self.pnlRunwayGroup, False, True)
        self.pnlNavAid.Caption = ""
        self.pnlNavAid.LabelWidth = 0
        self.pnlRunwayGroup.Add = self.pnlNavAid

        self.btnNavAidAdd = QtGui.QPushButton(self.pnlRunwayGroup)
        self.btnNavAidAdd.setObjectName("btnNavAidAdd")
        self.btnNavAidAdd.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/add.png"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.btnNavAidAdd.setIcon(icon)
        self.pnlRunwayGroup.Add = self.btnNavAidAdd

        self.btnNavAidModify = QtGui.QPushButton(self.pnlRunwayGroup)
        self.btnNavAidModify.setObjectName("btnNavAidModify")
        self.btnNavAidModify.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/mIconEditableEdits.png"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnNavAidModify.setIcon(icon)
        self.pnlRunwayGroup.Add = self.btnNavAidModify

        self.btnNavAidRemove = QtGui.QPushButton(self.pnlRunwayGroup)
        self.btnNavAidRemove.setObjectName("btnNavAidRemove")
        self.btnNavAidRemove.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/remove.png"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnNavAidRemove.setIcon(icon)
        self.pnlRunwayGroup.Add = self.btnNavAidRemove

        self.pnlNavAidPos = PositionPanel(self.gbNavAid)
        self.pnlNavAidPos.Caption = "Position"
        self.pnlNavAidPos.btnCalculater.setVisible(False)
        self.gbNavAid.Add = self.pnlNavAidPos

        self.gbWaypoint1 = GroupBox(self.gbParameters)
        self.gbWaypoint1.Caption = "Waypoint 1"
        self.gbParameters.Add = self.gbWaypoint1

        self.pnlWaypoint1 = PositionPanel(self.gbWaypoint1)
        self.pnlWaypoint1.Caption = ""
        self.pnlWaypoint1.btnCalculater.setVisible(False)
        self.pnlWaypoint1.hideframe_Altitude()
        self.gbWaypoint1.Add = self.pnlWaypoint1

        self.chbTurningWaypoint1 = CheckBox(self.gbWaypoint1)
        self.chbTurningWaypoint1.Caption = "Turning Waypoint"
        self.gbWaypoint1.Add = self.chbTurningWaypoint1

        self.gbWaypoint2 = GroupBox(self.gbParameters)
        self.gbWaypoint2.Caption = "Waypoint 2"
        self.gbParameters.Add = self.gbWaypoint2

        self.pnlWaypoint2 = PositionPanel(self.gbWaypoint2)
        self.pnlWaypoint2.Caption = ""
        self.pnlWaypoint2.btnCalculater.setVisible(False)
        self.pnlWaypoint2.hideframe_Altitude()
        self.gbWaypoint2.Add = self.pnlWaypoint2

        self.chbTurningWaypoint2 = CheckBox(self.gbWaypoint2)
        self.chbTurningWaypoint2.Caption = "Turning Waypoint"
        self.gbWaypoint2.Add = self.chbTurningWaypoint2

        self.pnlTrack = TrackRadialBoxPanel(self.gbParameters)
        self.pnlTrack.Caption = "Track"
        self.pnlTrack.LabelWidth = 150
        self.gbParameters.Add = self.pnlTrack

        self.pnlDistToThr = DistanceBoxPanel(self.gbParameters,
                                             DistanceUnits.M)
        self.pnlDistToThr.Caption = "Distance to Threshold"
        self.pnlDistToThr.LabelWidth = 150
        self.gbParameters.Add = self.pnlDistToThr

        self.pnlMinimumAltitude = AltitudeBoxPanel(self.gbParameters)
        self.pnlMinimumAltitude.CaptionUnits = "ft"
        self.pnlMinimumAltitude.Caption = "Minimum Altitude"
        self.pnlMinimumAltitude.Value = Altitude(2000, AltitudeUnits.FT)
        self.pnlMinimumAltitude.LabelWidth = 150
        self.gbParameters.Add = self.pnlMinimumAltitude

        self.pnlSegmentWidth = DistanceBoxPanel(self.gbParameters,
                                                DistanceUnits.NM)
        self.pnlSegmentWidth.Caption = "Segment Width"
        self.pnlSegmentWidth.LabelWidth = 150
        self.pnlSegmentWidth.Value = Distance(5, DistanceUnits.NM)
        self.gbParameters.Add = self.pnlSegmentWidth

        self.chbEarthCurvature = CheckBox(self.gbParameters)
        self.chbEarthCurvature.Caption = "Allow for Earth Curvature"
        self.gbParameters.Add = self.chbEarthCurvature

        self.gbConstruction = GroupBox(Form)
        self.gbConstruction.Caption = "Construction"
        self.vlForm.addWidget(self.gbConstruction)

        self.pnlConstructionType = ComboBoxPanel(self.gbConstruction)
        self.pnlConstructionType.Caption = "Construction Type"
        self.pnlConstructionType.LabelWidth = 150
        self.gbConstruction.Add = self.pnlConstructionType

        self.pnlMarkAltitudes = Frame(self.gbConstruction, "HL")
        self.gbConstruction.Add = self.pnlMarkAltitudes

        self.chbMarkAltitudes = CheckBox(self.pnlMarkAltitudes)
        self.chbMarkAltitudes.Caption = "Mark Contour Altitudes"
        self.chbMarkAltitudes.setMinimumSize(QSize(150, 0))
        self.chbMarkAltitudes.setMaximumSize(QSize(150, 16777215))
        self.pnlMarkAltitudes.Add = self.chbMarkAltitudes

        self.pnlMarkAltitudesIn = Frame(self.pnlMarkAltitudes)
        self.pnlMarkAltitudes.Add = self.pnlMarkAltitudesIn

        self.pnlAltitudesEvery = AltitudeBoxPanel(self.pnlMarkAltitudesIn)
        self.pnlAltitudesEvery.CaptionUnits = "m"
        self.pnlAltitudesEvery.Caption = "Every"
        self.pnlAltitudesEvery.Value = Altitude(5)
        # self.pnlAltitudesEvery.LabelWidth = 60
        self.pnlMarkAltitudesIn.Add = self.pnlAltitudesEvery

        self.pnlAltitudesTextHeight = NumberBoxPanel(self.pnlMarkAltitudesIn)
        self.pnlAltitudesTextHeight.Caption = "Text Height"
        self.pnlAltitudesTextHeight.Value = 5
        # self.pnlAltitudesTextHeight.LabelWidth = 60
        self.pnlMarkAltitudesIn.Add = self.pnlAltitudesTextHeight

        self.pnl3DQuality = Frame(self.gbConstruction, "HL")
        self.gbConstruction.Add = self.pnl3DQuality

        self.lbl3DQuality = QtGui.QLabel(self.pnl3DQuality)
        self.lbl3DQuality.setObjectName("lbl3DQuality")
        self.lbl3DQuality.setText("Rendering Quality:")
        self.lbl3DQuality.setMinimumSize(QSize(150, 0))
        self.lbl3DQuality.setMaximumSize(QSize(150, 16777215))
        self.pnl3DQuality.Add = self.lbl3DQuality

        self.pnlTrackbar = Frame(self.pnl3DQuality, "HL")
        self.pnl3DQuality.Add = self.pnlTrackbar

        self.lblCoarse = QtGui.QLabel(self.pnlTrackbar)
        self.lblCoarse.setObjectName("lblCoarse")
        self.lblCoarse.setText("Coarse")
        self.pnlTrackbar.Add = self.lblCoarse

        self.trackBar = QtGui.QSlider(self.pnlTrackbar)
        self.trackBar.setObjectName("trackBar")
        self.trackBar.setOrientation(Qt.Horizontal)
        self.trackBar.setMinimum(10)
        self.trackBar.setMaximum(200)
        # self.trackBar.setSingleStep(10)
        self.trackBar.setValue(20)
        self.pnlTrackbar.Add = self.trackBar

        self.lblSmooth = QtGui.QLabel(self.pnlTrackbar)
        self.lblSmooth.setObjectName("lblSmooth")
        self.lblSmooth.setText("Smooth")
        self.pnlTrackbar.Add = self.lblSmooth
Exemple #3
0
class Ui_form_VSS(object):
    def setupUi(self, form_VSS):
        form_VSS.setObjectName(_fromUtf8("form_VSS"))
        form_VSS.resize(375, 372)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        form_VSS.setFont(font)
        self.verticalLayout = QtGui.QVBoxLayout(form_VSS)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.grbRunway = QtGui.QGroupBox(form_VSS)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.grbRunway.setFont(font)
        self.grbRunway.setObjectName(_fromUtf8("grbRunway"))
        self.vLayout_grbRunway = QtGui.QVBoxLayout(self.grbRunway)
        self.vLayout_grbRunway.setObjectName(_fromUtf8("vLayout_grbRunway"))

        self.cmbAerodrome = ComboBoxPanel(self.grbRunway, True)
        self.cmbAerodrome.Caption = "Aerodrome"
        self.cmbAerodrome.LabelWidth = 120
        self.vLayout_grbRunway.addWidget(self.cmbAerodrome)

        self.cmbRwyDir = ComboBoxPanel(self.grbRunway, True)
        self.cmbRwyDir.Caption = "Runway Direction"
        self.cmbRwyDir.LabelWidth = 120
        self.cmbRwyDir.Width = 120
        self.vLayout_grbRunway.addWidget(self.cmbRwyDir)

        self.pnlTHR = PositionPanel(self.grbRunway)
        self.pnlTHR.groupBox.setTitle("Runway Thr")
        self.pnlTHR.btnCalculater.hide()
        self.pnlTHR.setObjectName("positionTHR")
        self.vLayout_grbRunway.addWidget(self.pnlTHR)

        self.pnlRwyEnd = PositionPanel(self.grbRunway)
        self.pnlRwyEnd.groupBox.setTitle("Runway End")
        self.pnlRwyEnd.hideframe_Altitude()
        self.pnlRwyEnd.btnCalculater.hide()
        self.pnlRwyEnd.setObjectName("positionRwyEnd")
        self.vLayout_grbRunway.addWidget(self.pnlRwyEnd)

        self.txtRwyDir = TrackRadialBoxPanel(self.grbRunway)
        self.txtRwyDir.Caption = "Runway In-bound Direction"
        self.txtRwyDir.LabelWidth = 160
        self.vLayout_grbRunway.addWidget(self.txtRwyDir)

        icon = QtGui.QIcon()
        icon.addPixmap(
            QtGui.QPixmap(_fromUtf8("Resource/coordinate_capture.png")),
            QtGui.QIcon.Normal, QtGui.QIcon.Off)

        self.cmbRwyCode = ComboBoxPanel(self.grbRunway)
        self.cmbRwyCode.Caption = "Code"
        self.cmbRwyCode.LabelWidth = 160
        self.vLayout_grbRunway.addWidget(self.cmbRwyCode)

        self.txtStripWidth = DistanceBoxPanel(self.grbRunway, DistanceUnits.M)
        self.txtStripWidth.Caption = "Strip Width"
        self.txtStripWidth.Value = Distance(300)
        self.txtStripWidth.LabelWidth = 160
        self.vLayout_grbRunway.addWidget(self.txtStripWidth)

        self.verticalLayout.addWidget(self.grbRunway)

        self.grbParameters = QtGui.QGroupBox(form_VSS)
        self.grbParameters.setObjectName(_fromUtf8("grbParameters"))
        self.vLayout_grbParameters = QtGui.QVBoxLayout(self.grbParameters)
        self.vLayout_grbParameters.setObjectName(
            _fromUtf8("vLayout_grbParameters"))

        self.cmbApproachType = ComboBoxPanel(self.grbParameters)
        self.cmbApproachType.Caption = "Approach Type"
        self.cmbApproachType.LabelWidth = 160
        self.vLayout_grbParameters.addWidget(self.cmbApproachType)

        self.txtTrack = TrackRadialBoxPanel(self.grbParameters)
        self.txtTrack.Caption = "In-bound Track"
        self.txtTrack.LabelWidth = 160
        self.vLayout_grbParameters.addWidget(self.txtTrack)

        self.txtThrFaf = DistanceBoxPanel(self.grbParameters, DistanceUnits.NM)
        self.txtThrFaf.Caption = "THR to FAF Distance"
        self.txtThrFaf.Value = Distance(5, DistanceUnits.NM)
        self.txtThrFaf.LabelWidth = 160
        self.vLayout_grbParameters.addWidget(self.txtThrFaf)

        self.txtDescAngle = AngleGradientBoxPanel(self.grbParameters)
        self.txtDescAngle.CaptionUnits = AngleGradientSlopeUnits.Degrees
        self.txtDescAngle.Caption = "Descent Angle"
        self.txtDescAngle.LabelWidth = 160
        self.txtDescAngle.Value = AngleGradientSlope(
            3, AngleGradientSlopeUnits.Degrees)
        self.vLayout_grbParameters.addWidget(self.txtDescAngle)

        self.pnlOCAH = MCAHPanel(self.grbParameters)
        self.pnlOCAH.lblMCAH.setText("Minimum Altitude (ft):")
        self.pnlOCAH.lblMCAH.setMaximumWidth(160)
        self.pnlOCAH.lblMCAH.setMinimumWidth(160)
        self.pnlOCAH.setValue(Altitude(800, AltitudeUnits.FT))
        self.pnlOCAH.cmbMCAH.clear()
        self.pnlOCAH.cmbMCAH.addItems([OCAHType.OCA, OCAHType.OCH])
        self.vLayout_grbParameters.addWidget(self.pnlOCAH)

        self.cmbConstructionType = ComboBoxPanel(self.grbParameters)
        self.cmbConstructionType.Caption = "Construction Type"
        self.cmbConstructionType.LabelWidth = 160
        self.vLayout_grbParameters.addWidget(self.cmbConstructionType)

        self.chbAdCodeF = CheckBox(self.grbParameters)
        self.chbAdCodeF.Caption = "Aerodrome Code Letter"
        self.vLayout_grbParameters.addWidget(self.chbAdCodeF)

        self.verticalLayout.addWidget(self.grbParameters)
        spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Expanding)
        self.verticalLayout.addItem(spacerItem)

        self.retranslateUi(form_VSS)
        QtCore.QMetaObject.connectSlotsByName(form_VSS)

    def retranslateUi(self, form_VSS):
        form_VSS.setWindowTitle(_translate("form_VSS", "Form", None))
        self.grbRunway.setTitle(_translate("form_VSS", "Runway", None))
        # self.label_69.setText(_translate("form_VSS", "Direction (°):", None))
        # self.txtRwyDir.setText(_translate("form_VSS", "0", None))
        # self.label_66.setText(_translate("form_VSS", "Code :", None))
        # self.label_70.setText(_translate("form_VSS", "Strip Width (m):", None))
        # self.txtStripWidth.setText(_translate("form_VSS", "300", None))
        self.grbParameters.setTitle(_translate("form_VSS", "Parameters", None))
class Ui_RaceTrackAndHolding(object):
    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.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", "NDB/DME", "VOR", "VOR/DME"]
        self.cmbNavAidType.LabelWidth = 140
        self.gbNavAid.Add = self.cmbNavAidType

        self.cmbBasedOn = ComboBoxPanel(self.gbNavAid, True)
        self.cmbBasedOn.Caption = "Based On"
        self.cmbBasedOn.LabelWidth = 140
        self.cmbBasedOn.Width = 121
        self.gbNavAid.Add = self.cmbBasedOn

        self.pnlNavAidPos = PositionPanel(self.gbNavAid)
        self.pnlNavAidPos.btnCalculater.hide()
        self.pnlNavAidPos.hideframe_Altitude()
        self.gbNavAid.Add = self.pnlNavAidPos

        self.pnlDmePos = PositionPanel(self.gbPosition)
        self.pnlDmePos.Caption = "DME Position"
        self.pnlDmePos.btnCalculater.hide()
        self.pnlDmePos.hideframe_Altitude()
        self.gbPosition.Add = self.pnlDmePos

        self.cmbEntry = ComboBoxPanel(self.gbPosition)
        self.cmbEntry.Caption = "Entry"
        self.cmbEntry.Items = ["Omnidirectional", "On Track"]
        self.cmbEntry.LabelWidth = 140
        self.gbPosition.Add = self.cmbEntry

        self.txtBearing = TrackRadialBoxPanel(self.gbPosition)
        self.txtBearing.Caption = "Outbound Track"
        self.txtBearing.LabelWidth = 140
        self.gbPosition.Add = self.txtBearing



        self.gbParameters = GroupBox(Form)
        self.gbParameters.Caption = "Parameters"
        self.gbParameters.layoutBoxPanel.setSpacing(9)
        self.vlForm.addWidget(self.gbParameters)

        self.cmbDirection = ComboBoxPanel(self.gbParameters)
        self.cmbDirection.Caption = "Turn Direction"
        self.cmbDirection.Items = ["Right", "Left"]
        self.cmbDirection.LabelWidth = 140
        self.cmbDirection.Width = 70
        self.gbParameters.Add = self.cmbDirection

        self.cmbAircraftCatgory = ComboBoxPanel(self.gbParameters)
        self.cmbAircraftCatgory.Caption = "Aircraft Category"
        self.cmbAircraftCatgory.Items = ["A", "B", "C", "D", "E"]
        self.cmbAircraftCatgory.LabelWidth = 140
        self.cmbAircraftCatgory.Width = 50
        self.gbParameters.Add = self.cmbAircraftCatgory

        self.cmbCondition = ComboBoxPanel(self.gbParameters)
        self.cmbCondition.Caption = "Condition"
        self.cmbCondition.Items = ["Normal Condition", "Turbulence Condition"]
        self.cmbCondition.LabelWidth = 140
        self.gbParameters.Add = self.cmbCondition

        self.txtNAVAlt = AltitudeBoxPanel(self.gbParameters)
        self.txtNAVAlt.CaptionUnits = "ft"
        self.txtNAVAlt.Caption = "NAV Altitude"
        self.txtNAVAlt.LabelWidth = 140
        self.gbParameters.Add = self.txtNAVAlt

        self.txtInitialAlt = AltitudeBoxPanel(self.gbParameters)
        self.txtInitialAlt.CaptionUnits = "ft"
        self.txtInitialAlt.Caption = "Initial Altitude"
        self.txtInitialAlt.LabelWidth = 140
        self.gbParameters.Add = self.txtInitialAlt

        self.txtTurnAlt = AltitudeBoxPanel(self.gbParameters)
        self.txtTurnAlt.CaptionUnits = "ft"
        self.txtTurnAlt.Caption = "Turn Altitude"
        self.txtTurnAlt.LabelWidth = 140
        self.gbParameters.Add = self.txtTurnAlt

        self.txtFinalAlt = AltitudeBoxPanel(self.gbParameters)
        self.txtFinalAlt.CaptionUnits = "ft"
        self.txtFinalAlt.Caption = "Final Altitude"
        self.txtFinalAlt.LabelWidth = 140
        self.gbParameters.Add = self.txtFinalAlt

        self.txtLimitDistance = DistanceBoxPanel(self.gbParameters, DistanceUnits.NM)
        self.txtLimitDistance.Caption = "Limiting Distance"
        self.txtLimitDistance.Button = None
        self.txtLimitDistance.LabelWidth = 140
        self.gbParameters.Add = self.txtLimitDistance

        self.txtOutboundTime = NumberBoxPanel(self.gbParameters )
        self.txtOutboundTime.Caption = "Outbound Time"
        self.txtOutboundTime.LabelWidth = 140
        self.gbParameters.Add = self.txtOutboundTime

        self.txtOutboundLeg = DistanceBoxPanel(self.gbParameters, DistanceUnits.NM)
        self.txtOutboundLeg.Caption = "Outbound Leg"
        self.txtOutboundLeg.Button = None
        self.txtOutboundLeg.LabelWidth = 140
        self.gbParameters.Add = self.txtOutboundLeg

        self.txtISA = NumberBoxPanel(self.gbParameters, "0.0")
        self.txtISA.CaptionUnits = define._degreeStr
        self.txtISA.Caption = "ISA"
        self.txtISA.LabelWidth = 140
        self.gbParameters.Add = self.txtISA

        self.txtIAS = SpeedBoxPanel(self.gbParameters, SpeedUnits.KTS)
        self.txtIAS.Caption = "IAS"
        self.txtIAS.LabelWidth = 140
        self.gbParameters.Add = self.txtIAS

        self.txtTAS = SpeedBoxPanel(self.gbParameters, SpeedUnits.KTS)
        self.txtTAS.Caption = "TAS"
        self.txtTAS.LabelWidth = 140
        self.gbParameters.Add = self.txtTAS
Exemple #5
0
class DlgAixmNewPCP(QDialog):
    def __init__(self, parent=None):
        QDialog.__init__(self, parent)

        self.resize(290, 136)
        self.setWindowTitle("New PCP DB Entry")
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
        self.setSizePolicy(sizePolicy)
        verticalLayoutDlg = QVBoxLayout(self)
        verticalLayoutDlg.setObjectName(("verticalLayoutDlg"))

        self.groupBox1 = GroupBox(self)
        verticalLayoutDlg.addWidget(self.groupBox1)

        self.pnlDesig = TextBoxPanel(self.groupBox1)
        self.pnlDesig.Caption = "Designator"
        self.groupBox1.Add = self.pnlDesig

        self.pnlType = TextBoxPanel(self.groupBox1)
        self.pnlType.Caption = "Type / Description"
        self.groupBox1.Add = self.pnlType

        self.pnlPosition = PositionPanel(self.groupBox1, None, None, "Degree")
        self.pnlPosition.hideframe_Altitude()
        self.pnlPosition.btnCalculater.hide()
        self.groupBox1.Add = self.pnlPosition

        self.txtRemarks = TextBoxPanel(self.groupBox1, True)
        self.txtRemarks.Caption = "Remarks"
        self.groupBox1.Add = self.txtRemarks

        self.btnBoxOkCancel = QDialogButtonBox(self)
        self.btnBoxOkCancel.setObjectName(("btnBoxOkCancel"))
        self.btnBoxOkCancel.setStandardButtons(QDialogButtonBox.Cancel
                                               | QDialogButtonBox.Ok)
        btnOK = self.btnBoxOkCancel.button(QDialogButtonBox.Ok)
        btnOK.setText("Create")
        self.connect(self.btnBoxOkCancel, SIGNAL("accepted()"), self.acceptDlg)
        self.connect(self.btnBoxOkCancel, SIGNAL("rejected()"), self.reject)

        verticalLayoutDlg.addWidget(self.btnBoxOkCancel)

        self.data = None
        self.dbEntry = None

        # self.pnlCodeType.Items = CodeTypeDesigPtAixm.Items

    def acceptDlg(self):
        degree = None
        degree1 = None
        value = self.pnlDesig.Value
        result, degree, degree1 = self.pnlPosition.method_3()
        if (self.data.method_26(
                self.pnlDesig.Value,
                Degrees(degree1, None, None, DegreesType.Latitude),
                Degrees(degree, None, None, DegreesType.Latitude)) != None):
            strS = "Cannot create a duplicate PCP entry.\n\nCodeID = {0}\nLatitude = {1}\nLongitude = {2}".format(
                value, str(degree), str(degree1))
            QMessageBox.warning(self, "Error", strS)
            return
        self.dbEntry = ProcEntityPCP(
            None, value,
            Degrees(degree1, None, None, DegreesType.Latitude).ToString(),
            Degrees(degree, None, None, DegreesType.Longitude).ToString(),
            self.pnlType.Value, self.txtRemarks.Value, True)
        self.data.method_24(self.dbEntry)
        self.accept()

    @staticmethod
    def smethod_0(dataBaseProcedureData_0, degrees_0, degrees_1):
        flag = False
        procEntityBase_0 = None
        dlgAixmNewPCP = DlgAixmNewPCP()
        dlgAixmNewPCP.data = dataBaseProcedureData_0
        dlgAixmNewPCP.pnlPosition.method_5(degrees_0, degrees_1)
        resultDlg = dlgAixmNewPCP.exec_()
        if (resultDlg == 0):
            flag = False
        else:
            procEntityBase_0 = dlgAixmNewPCP.dbEntry
            flag = True
        return flag, procEntityBase_0
Exemple #6
0
class Ui_OsaDlg(object):
    def setupUi(self, Dialog, catType):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(300, 300)
        Dialog.setMinimumSize(QtCore.QSize(0, 0))
        self.verticalLayout_11 = QtGui.QVBoxLayout(Dialog)
        self.verticalLayout_11.setObjectName(_fromUtf8("verticalLayout_11"))
        self.tabControls = QtGui.QTabWidget(Dialog)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.tabControls.setFont(font)
        self.tabControls.setAutoFillBackground(False)
        self.tabControls.setStyleSheet(_fromUtf8(""))
        self.tabControls.setObjectName(_fromUtf8("tabControls"))
        self.tab_General = QtGui.QWidget(Dialog)
        self.tab_General.setObjectName(_fromUtf8("tab_General"))
        self.horizontalLayout_29 = QtGui.QHBoxLayout(self.tab_General)
        self.horizontalLayout_29.setMargin(3)
        self.horizontalLayout_29.setObjectName(_fromUtf8("horizontalLayout_29"))

        self.tabCtrlGeneral = QtGui.QTabWidget(self.tab_General)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.tabCtrlGeneral.setFont(font)
        self.tabCtrlGeneral.setAutoFillBackground(False)
        self.tabCtrlGeneral.setStyleSheet(_fromUtf8(""))
        self.tabCtrlGeneral.setObjectName(_fromUtf8("tabCtrlGeneral"))
        self.horizontalLayout_29.addWidget(self.tabCtrlGeneral)

        self.tabInputData = QtGui.QWidget(self.tabCtrlGeneral)
        self.tabInputData.setObjectName(_fromUtf8("tabInputData"))

        self.vLayoutTabInputData = QtGui.QVBoxLayout(self.tabInputData)
        self.vLayoutTabInputData.setMargin(3)
        self.vLayoutTabInputData.setObjectName(_fromUtf8("vLayoutTabInputData"))
        self.tabCtrlGeneral.addTab(self.tabInputData, "Input Data")

        self.tabOasIls = QtGui.QWidget(self.tabCtrlGeneral)
        self.tabOasIls.setObjectName(_fromUtf8("tabOasIls"))
        self.vLayoutTabOasIls = QtGui.QHBoxLayout(self.tabOasIls)
        self.vLayoutTabOasIls.setMargin(3)
        self.vLayoutTabOasIls.setObjectName(_fromUtf8("vLayoutTabOasIls"))
        if catType == "ILS":
            self.tabCtrlGeneral.addTab(self.tabOasIls, "OAS ILS")
        else:
            self.tabCtrlGeneral.addTab(self.tabOasIls, "OAS SBAS")



        self.groupBox_11 = QtGui.QGroupBox(self.tabInputData)
        self.groupBox_11.setTitle(_fromUtf8(""))
        self.groupBox_11.setObjectName(_fromUtf8("groupBox_11"))
        self.verticalLayout_5 = QtGui.QVBoxLayout(self.groupBox_11)
        self.verticalLayout_5.setMargin(5)
        self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5"))

        self.cmbAerodrome = ComboBoxPanel(self.groupBox_11, True)
        self.cmbAerodrome.Caption = "Aerodrome"
        self.cmbAerodrome.LabelWidth = 120
        # self.cmbAerodrome.Editable = True
        self.verticalLayout_5.addWidget(self.cmbAerodrome)

        self.cmbRwyDir = ComboBoxPanel(self.groupBox_11, True)
        self.cmbRwyDir.Caption = "Runway Direction"
        self.cmbRwyDir.LabelWidth = 120
        self.cmbRwyDir.Width = 120
        self.verticalLayout_5.addWidget(self.cmbRwyDir)

        self.pnlThr = PositionPanel(self.groupBox_11)
        self.pnlThr.groupBox.setTitle("Threshold Position")
        self.pnlThr.btnCalculater.setVisible(False)
        self.verticalLayout_5.addWidget(self.pnlThr)

        self.pnlRwyEnd = PositionPanel(self.groupBox_11)
        self.pnlRwyEnd.groupBox.setTitle("Runway End Position")
        self.pnlRwyEnd.btnCalculater.setVisible(False)
        self.pnlRwyEnd.hideframe_Altitude()
        self.verticalLayout_5.addWidget(self.pnlRwyEnd)

        self.txtTrack = TrackRadialBoxPanel(self.groupBox_11)
        self.txtTrack.Caption = "In-Bound Track"
        self.txtTrack.LabelWidth = 120
        self.verticalLayout_5.addWidget(self.txtTrack)

        self.frame_37 = QtGui.QFrame(self.tabOasIls)
        self.frame_37.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_37.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_37.setObjectName(_fromUtf8("frame_37"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.frame_37)
        self.verticalLayout_2.setMargin(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.groupBox_20 = QtGui.QGroupBox(self.frame_37)
        self.groupBox_20.setObjectName(_fromUtf8("groupBox_20"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.groupBox_20)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))

        self.cmbSelectionMode = ComboBoxPanel(self.groupBox_20)
        self.cmbSelectionMode.Caption = "Selection Mode"
        self.verticalLayout_3.addWidget(self.cmbSelectionMode)



        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/coordinate_capture.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)

        self.txtOCAH = OCAHPanel(self.groupBox_20)
        self.txtOCAH.Value = Altitude(2000, AltitudeUnits.FT)
        self.verticalLayout_3.addWidget(self.txtOCAH)

        self.txtMOC = AltitudeBoxPanel(self.groupBox_20)
        self.txtMOC.Caption = "Intermediate Segment MOC"
        self.txtMOC.CaptionUnits = "m"
        self.txtMOC.Value = Altitude(150)
        self.verticalLayout_3.addWidget(self.txtMOC)

        self.cmbConstructionType = ComboBoxPanel(self.groupBox_20)
        self.cmbConstructionType.Caption = "Construction Type"
        self.verticalLayout_3.addWidget(self.cmbConstructionType)

        self.verticalLayout_2.addWidget(self.groupBox_20)
        self.groupBox_2 = QtGui.QGroupBox(self.frame_37)
        self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
        self.verticalLayout = QtGui.QVBoxLayout(self.groupBox_2)
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setMargin(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.frame_5 = QtGui.QFrame(self.groupBox_2)
        self.frame_5.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_5.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_5.setObjectName(_fromUtf8("frame_5"))
        self.horizontalLayout = QtGui.QHBoxLayout(self.frame_5)
        self.horizontalLayout.setSpacing(0)
        self.horizontalLayout.setMargin(0)
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.frame_6 = QtGui.QFrame(self.frame_5)
        self.frame_6.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_6.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_6.setObjectName(_fromUtf8("frame_6"))
        self.verticalLayout_9 = QtGui.QVBoxLayout(self.frame_6)
        self.verticalLayout_9.setContentsMargins(-1, -1, -1, 0)
        self.verticalLayout_9.setObjectName(_fromUtf8("verticalLayout_9"))

        self.cmbOasCategory = ComboBoxPanel(self.frame_6)
        self.cmbOasCategory.Caption = "Category"
        self.cmbOasCategory.LabelWidth = 150
        self.verticalLayout_9.addWidget(self.cmbOasCategory)

        self.cmbGPA = ComboBoxPanel(self.frame_6)
        self.cmbGPA.CaptionUnits = define._degreeStr
        self.cmbGPA.Caption = "Glide Path Angle"
        self.cmbGPA.LabelWidth = 150
        self.verticalLayout_9.addWidget(self.cmbGPA)

        self.cmbMACG = ComboBoxPanel(self.frame_6)
        self.cmbMACG.CaptionUnits = "%"
        self.cmbMACG.Caption = "MA Climb Gradient"
        self.cmbMACG.LabelWidth = 150
        self.verticalLayout_9.addWidget(self.cmbMACG)

        self.txtRDH = NumberBoxPanel(self.frame_6)
        self.txtRDH.CaptionUnits = "m"
        self.txtRDH.Caption = "RDH at Threshold"
        self.txtRDH.LabelWidth = 150
        self.txtRDH.Value = 15
        self.verticalLayout_9.addWidget(self.txtRDH)

        self.horizontalLayout.addWidget(self.frame_6)

        self.frame_7 = QtGui.QFrame(self.frame_5)
        self.frame_7.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_7.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_7.setObjectName(_fromUtf8("frame_7"))
        self.verticalLayout_13 = QtGui.QVBoxLayout(self.frame_7)
        self.verticalLayout_13.setContentsMargins(9, -1, -1, 0)
        self.verticalLayout_13.setObjectName(_fromUtf8("verticalLayout_13"))

        self.txtCW = NumberBoxPanel(self.frame_7)
        self.txtCW.CaptionUnits = "m"
        self.txtCW.Caption = "LOC Course Width at THR"
        self.txtCW.LabelWidth = 175
        self.txtCW.Value = 210
        self.verticalLayout_13.addWidget(self.txtCW)

        self.txtDLT = DistanceBoxPanel(self.frame_7, DistanceUnits.M)
        self.txtDLT.Caption = "LOC to THR Distance"
        self.txtDLT.LabelWidth = 175
        self.txtDLT.Value = Distance(2000)
        self.verticalLayout_13.addWidget(self.txtDLT)

        self.txtContourHeight = NumberBoxPanel(self.frame_7)
        self.txtContourHeight.CaptionUnits = "m"
        self.txtContourHeight.Caption = "OCA Contour Height AGL"
        self.txtContourHeight.LabelWidth = 175
        self.txtContourHeight.Value = 300
        self.verticalLayout_13.addWidget(self.txtContourHeight)

        self.cmbMAMethod = ComboBoxPanel(self.frame_7)
        self.cmbMAMethod.Caption = "MA Obstacles Evaluation"
        self.cmbMAMethod.LabelWidth = 175
        self.verticalLayout_13.addWidget(self.cmbMAMethod)

        self.horizontalLayout.addWidget(self.frame_7)
        self.verticalLayout.addWidget(self.frame_5)

        self.frame_4 = QtGui.QFrame(self.groupBox_2)
        self.frame_4.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_4.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_4.setObjectName(_fromUtf8("frame_4"))
        self.horizontalLayout_2 = QtGui.QHBoxLayout(self.frame_4)
        self.horizontalLayout_2.setSpacing(0)
        self.horizontalLayout_2.setMargin(0)
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.groupBox_3 = QtGui.QGroupBox(self.frame_4)
        self.groupBox_3.setObjectName(_fromUtf8("groupBox_3"))
        self.horizontalLayout_6 = QtGui.QHBoxLayout(self.groupBox_3)
        self.horizontalLayout_6.setSpacing(0)
        self.horizontalLayout_6.setMargin(0)
        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
        self.frame_8 = QtGui.QFrame(self.groupBox_3)
        self.frame_8.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_8.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_8.setObjectName(_fromUtf8("frame_8"))
        self.verticalLayout_14 = QtGui.QVBoxLayout(self.frame_8)
        self.verticalLayout_14.setContentsMargins(6, 0, -1, -1)
        self.verticalLayout_14.setObjectName(_fromUtf8("verticalLayout_14"))

        self.cmbAcCategory = ComboBoxPanel(self.frame_8)
        self.cmbAcCategory.Caption = "Category"
        self.cmbAcCategory.LabelWidth = 150
        self.verticalLayout_14.addWidget(self.cmbAcCategory)

        self.txtHL = NumberBoxPanel(self.frame_8)
        self.txtHL.CaptionUnits = "m"
        self.txtHL.Caption = "Height Loss"
        self.txtHL.LabelWidth = 150
        self.txtHL.Value = 40
        self.verticalLayout_14.addWidget(self.txtHL)

        self.horizontalLayout_6.addWidget(self.frame_8)
        self.frame_9 = QtGui.QFrame(self.groupBox_3)
        self.frame_9.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_9.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_9.setObjectName(_fromUtf8("frame_9"))
        self.verticalLayout_15 = QtGui.QVBoxLayout(self.frame_9)
        self.verticalLayout_15.setContentsMargins(3, 0, -1, -1)
        self.verticalLayout_15.setObjectName(_fromUtf8("verticalLayout_15"))

        self.txtWSS = NumberBoxPanel(self.frame_9, "0.0")
        self.txtWSS.CaptionUnits = "m"
        self.txtWSS.Caption = "Wing Semi Span"
        self.txtWSS.LabelWidth = 175
        self.txtWSS.Value = 30
        self.verticalLayout_15.addWidget(self.txtWSS)

        self.txtWH = NumberBoxPanel(self.frame_9, "0")
        self.txtWH.CaptionUnits = "m"
        self.txtWH.Caption = "Wheel Height"
        self.txtWH.LabelWidth = 175
        self.txtWH.Value = 6
        self.verticalLayout_15.addWidget(self.txtWH)

        self.horizontalLayout_6.addWidget(self.frame_9)
        self.horizontalLayout_2.addWidget(self.groupBox_3)
        self.verticalLayout.addWidget(self.frame_4)
        self.lblConstants = QtGui.QLabel(self.groupBox_2)
        font = QtGui.QFont()
        font.setUnderline(True)
        self.lblConstants.setFont(font)
        self.lblConstants.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.lblConstants.setStyleSheet(_fromUtf8("color: rgb(0, 0, 255);"))
        self.lblConstants.setAlignment(QtCore.Qt.AlignCenter)
        self.lblConstants.setObjectName(_fromUtf8("lblConstants"))
        self.verticalLayout.addWidget(self.lblConstants)
        self.verticalLayout_2.addWidget(self.groupBox_2)
        self.vLayoutTabOasIls.addWidget(self.frame_37)
        spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.verticalLayout_5.addItem(spacerItem)
        self.vLayoutTabInputData.addWidget(self.groupBox_11)
        self.frame_38 = QtGui.QFrame(self.tab_General)
        self.frame_38.setMaximumSize(QtCore.QSize(100, 16777215))
        self.frame_38.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_38.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_38.setObjectName(_fromUtf8("frame_38"))
        self.verticalLayout_7 = QtGui.QVBoxLayout(self.frame_38)
        self.verticalLayout_7.setObjectName(_fromUtf8("verticalLayout_7"))
        self.btnOpenData = QtGui.QPushButton(self.frame_38)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.btnOpenData.setFont(font)
        self.btnOpenData.setObjectName(_fromUtf8("btnOpenData"))
        self.verticalLayout_7.addWidget(self.btnOpenData)
        self.btnSaveData = QtGui.QPushButton(self.frame_38)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.btnSaveData.setFont(font)
        self.btnSaveData.setObjectName(_fromUtf8("btnSaveData"))
        self.verticalLayout_7.addWidget(self.btnSaveData)
        self.btnConstruct = QtGui.QPushButton(self.frame_38)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.btnConstruct.setFont(font)
        self.btnConstruct.setObjectName(_fromUtf8("btnConstruct"))
        self.verticalLayout_7.addWidget(self.btnConstruct)
        self.btnEvaluate = QtGui.QPushButton(self.frame_38)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.btnEvaluate.setFont(font)
        self.btnEvaluate.setObjectName(_fromUtf8("btnEvaluate"))
        self.verticalLayout_7.addWidget(self.btnEvaluate)
        self.btnUpdateQA = QtGui.QPushButton(self.frame_38)
        self.btnUpdateQA.setEnabled(False)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.btnUpdateQA.setFont(font)
        self.btnUpdateQA.setObjectName(_fromUtf8("btnUpdateQA"))
        self.verticalLayout_7.addWidget(self.btnUpdateQA)
        self.btnClose = QtGui.QPushButton(self.frame_38)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.btnClose.setFont(font)
        self.btnClose.setObjectName(_fromUtf8("btnClose"))
        self.verticalLayout_7.addWidget(self.btnClose)
        spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.verticalLayout_7.addItem(spacerItem1)
        self.horizontalLayout_29.addWidget(self.frame_38)
        self.tabControls.addTab(self.tab_General, _fromUtf8(""))
        self.tab_Results = QtGui.QWidget(Dialog)
        self.tab_Results.setObjectName(_fromUtf8("tab_Results"))
        self.horizontalLayout_3 = QtGui.QHBoxLayout(self.tab_Results)
        self.horizontalLayout_3.setSpacing(3)
        self.horizontalLayout_3.setMargin(3)
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        self.groupBox = QtGui.QGroupBox(self.tab_Results)
        self.groupBox.setTitle(_fromUtf8(""))
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.verticalLayout_6 = QtGui.QVBoxLayout(self.groupBox)
        self.verticalLayout_6.setMargin(3)
        self.verticalLayout_6.setObjectName(_fromUtf8("verticalLayout_6"))
        self.groupBox_32 = QtGui.QGroupBox(self.groupBox)
        self.groupBox_32.setObjectName(_fromUtf8("groupBox_32"))
        self.verticalLayout_16 = QtGui.QVBoxLayout(self.groupBox_32)
        self.verticalLayout_16.setContentsMargins(-1, 0, -1, 3)
        self.verticalLayout_16.setObjectName(_fromUtf8("verticalLayout_16"))
        self.frame_2 = QtGui.QFrame(self.groupBox_32)
        self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_2.setObjectName(_fromUtf8("frame_2"))
        self.horizontalLayout_4 = QtGui.QHBoxLayout(self.frame_2)
        self.horizontalLayout_4.setSpacing(0)
        self.horizontalLayout_4.setMargin(0)
        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
        self.frame_3 = QtGui.QFrame(self.frame_2)
        self.frame_3.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_3.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_3.setObjectName(_fromUtf8("frame_3"))
        self.verticalLayout_19 = QtGui.QVBoxLayout(self.frame_3)
        self.verticalLayout_19.setMargin(0)
        self.verticalLayout_19.setObjectName(_fromUtf8("verticalLayout_19"))
        self.frame_107 = QtGui.QFrame(self.frame_3)
        self.frame_107.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_107.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_107.setObjectName(_fromUtf8("frame_107"))
        self.horizontalLayout_94 = QtGui.QHBoxLayout(self.frame_107)
        self.horizontalLayout_94.setSpacing(0)
        self.horizontalLayout_94.setMargin(0)
        self.horizontalLayout_94.setObjectName(_fromUtf8("horizontalLayout_94"))
        self.label_115 = QtGui.QLabel(self.frame_107)
        self.label_115.setMinimumSize(QtCore.QSize(200, 0))
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.label_115.setFont(font)
        self.label_115.setObjectName(_fromUtf8("label_115"))
        self.horizontalLayout_94.addWidget(self.label_115)
        self.txtID = QtGui.QLineEdit(self.frame_107)
        self.txtID.setEnabled(False)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtID.setFont(font)
        self.txtID.setText(_fromUtf8(""))
        self.txtID.setObjectName(_fromUtf8("txtID"))
        self.horizontalLayout_94.addWidget(self.txtID)
        self.verticalLayout_19.addWidget(self.frame_107)
        self.frame_109 = QtGui.QFrame(self.frame_3)
        self.frame_109.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_109.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_109.setObjectName(_fromUtf8("frame_109"))
        self.horizontalLayout_96 = QtGui.QHBoxLayout(self.frame_109)
        self.horizontalLayout_96.setSpacing(0)
        self.horizontalLayout_96.setMargin(0)
        self.horizontalLayout_96.setObjectName(_fromUtf8("horizontalLayout_96"))
        self.label_119 = QtGui.QLabel(self.frame_109)
        self.label_119.setMinimumSize(QtCore.QSize(200, 0))
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.label_119.setFont(font)
        self.label_119.setObjectName(_fromUtf8("label_119"))
        self.horizontalLayout_96.addWidget(self.label_119)
        self.txtX = QtGui.QLineEdit(self.frame_109)
        self.txtX.setEnabled(False)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtX.setFont(font)
        self.txtX.setObjectName(_fromUtf8("txtX"))
        self.horizontalLayout_96.addWidget(self.txtX)
        self.verticalLayout_19.addWidget(self.frame_109)
        self.frame_110 = QtGui.QFrame(self.frame_3)
        self.frame_110.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_110.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_110.setObjectName(_fromUtf8("frame_110"))
        self.horizontalLayout_97 = QtGui.QHBoxLayout(self.frame_110)
        self.horizontalLayout_97.setSpacing(0)
        self.horizontalLayout_97.setMargin(0)
        self.horizontalLayout_97.setObjectName(_fromUtf8("horizontalLayout_97"))
        self.label_120 = QtGui.QLabel(self.frame_110)
        self.label_120.setMinimumSize(QtCore.QSize(200, 0))
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.label_120.setFont(font)
        self.label_120.setObjectName(_fromUtf8("label_120"))
        self.horizontalLayout_97.addWidget(self.label_120)
        self.txtY = QtGui.QLineEdit(self.frame_110)
        self.txtY.setEnabled(False)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtY.setFont(font)
        self.txtY.setObjectName(_fromUtf8("txtY"))
        self.horizontalLayout_97.addWidget(self.txtY)
        self.verticalLayout_19.addWidget(self.frame_110)
        self.horizontalLayout_4.addWidget(self.frame_3)
        self.toolButton = QtGui.QToolButton(self.frame_2)
        self.toolButton.setMaximumSize(QtCore.QSize(25, 250))
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/mActionZoomFullExtent.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.toolButton.setIcon(icon2)
        self.toolButton.setObjectName(_fromUtf8("toolButton"))
        self.horizontalLayout_4.addWidget(self.toolButton)
        self.verticalLayout_16.addWidget(self.frame_2)
        self.frame_108 = QtGui.QFrame(self.groupBox_32)
        self.frame_108.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_108.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_108.setObjectName(_fromUtf8("frame_108"))
        self.horizontalLayout_95 = QtGui.QHBoxLayout(self.frame_108)
        self.horizontalLayout_95.setSpacing(0)
        self.horizontalLayout_95.setMargin(0)
        self.horizontalLayout_95.setObjectName(_fromUtf8("horizontalLayout_95"))
        self.label_116 = QtGui.QLabel(self.frame_108)
        self.label_116.setMinimumSize(QtCore.QSize(200, 0))
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.label_116.setFont(font)
        self.label_116.setObjectName(_fromUtf8("label_116"))
        self.horizontalLayout_95.addWidget(self.label_116)
        self.txtAltitude = QtGui.QLineEdit(self.frame_108)
        self.txtAltitude.setEnabled(False)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtAltitude.setFont(font)
        self.txtAltitude.setObjectName(_fromUtf8("txtAltitude"))
        self.horizontalLayout_95.addWidget(self.txtAltitude)
        self.label_117 = QtGui.QLabel(self.frame_108)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.label_117.setFont(font)
        self.label_117.setObjectName(_fromUtf8("label_117"))
        self.horizontalLayout_95.addWidget(self.label_117)
        self.txtAltitudeM = QtGui.QLineEdit(self.frame_108)
        self.txtAltitudeM.setEnabled(False)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtAltitudeM.setFont(font)
        self.txtAltitudeM.setObjectName(_fromUtf8("txtAltitudeM"))
        self.horizontalLayout_95.addWidget(self.txtAltitudeM)
        self.label_118 = QtGui.QLabel(self.frame_108)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.label_118.setFont(font)
        self.label_118.setObjectName(_fromUtf8("label_118"))
        self.horizontalLayout_95.addWidget(self.label_118)
        self.verticalLayout_16.addWidget(self.frame_108)
        self.frame_111 = QtGui.QFrame(self.groupBox_32)
        self.frame_111.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_111.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_111.setObjectName(_fromUtf8("frame_111"))
        self.horizontalLayout_98 = QtGui.QHBoxLayout(self.frame_111)
        self.horizontalLayout_98.setSpacing(0)
        self.horizontalLayout_98.setMargin(0)
        self.horizontalLayout_98.setObjectName(_fromUtf8("horizontalLayout_98"))
        self.label_121 = QtGui.QLabel(self.frame_111)
        self.label_121.setMinimumSize(QtCore.QSize(200, 0))
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.label_121.setFont(font)
        self.label_121.setObjectName(_fromUtf8("label_121"))
        self.horizontalLayout_98.addWidget(self.label_121)
        self.txtSurface = QtGui.QLineEdit(self.frame_111)
        self.txtSurface.setEnabled(False)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtSurface.setFont(font)
        self.txtSurface.setObjectName(_fromUtf8("txtSurface"))
        self.horizontalLayout_98.addWidget(self.txtSurface)
        self.verticalLayout_16.addWidget(self.frame_111)
        self.verticalLayout_6.addWidget(self.groupBox_32)
        self.groupBox_33 = QtGui.QGroupBox(self.groupBox)
        self.groupBox_33.setObjectName(_fromUtf8("groupBox_33"))
        self.verticalLayout_17 = QtGui.QVBoxLayout(self.groupBox_33)
        self.verticalLayout_17.setSpacing(0)
        self.verticalLayout_17.setContentsMargins(-1, 0, -1, 3)
        self.verticalLayout_17.setObjectName(_fromUtf8("verticalLayout_17"))
        self.frame_112 = QtGui.QFrame(self.groupBox_33)
        self.frame_112.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_112.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_112.setObjectName(_fromUtf8("frame_112"))
        self.horizontalLayout_99 = QtGui.QHBoxLayout(self.frame_112)
        self.horizontalLayout_99.setSpacing(0)
        self.horizontalLayout_99.setMargin(0)
        self.horizontalLayout_99.setObjectName(_fromUtf8("horizontalLayout_99"))
        self.label_122 = QtGui.QLabel(self.frame_112)
        self.label_122.setMinimumSize(QtCore.QSize(200, 0))
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.label_122.setFont(font)
        self.label_122.setObjectName(_fromUtf8("label_122"))
        self.horizontalLayout_99.addWidget(self.label_122)
        self.cmbUnits = QtGui.QComboBox(self.frame_112)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.cmbUnits.sizePolicy().hasHeightForWidth())
        self.cmbUnits.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        self.cmbUnits.setFont(font)
        self.cmbUnits.setEditable(False)
        self.cmbUnits.setObjectName(_fromUtf8("cmbUnits"))
        self.horizontalLayout_99.addWidget(self.cmbUnits)
        self.verticalLayout_17.addWidget(self.frame_112)
        self.frame_113 = QtGui.QFrame(self.groupBox_33)
        self.frame_113.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_113.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_113.setObjectName(_fromUtf8("frame_113"))
        self.horizontalLayout_100 = QtGui.QHBoxLayout(self.frame_113)
        self.horizontalLayout_100.setSpacing(0)
        self.horizontalLayout_100.setMargin(0)
        self.horizontalLayout_100.setObjectName(_fromUtf8("horizontalLayout_100"))
        self.txtOCH = QtGui.QLineEdit(self.frame_113)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtOCH.setFont(font)
        self.txtOCH.setObjectName(_fromUtf8("txtOCH"))
        self.horizontalLayout_100.addWidget(self.txtOCH)
        self.txtOCHResults = QtGui.QLineEdit(self.frame_113)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtOCHResults.setFont(font)
        self.txtOCHResults.setObjectName(_fromUtf8("txtOCHResults"))
        self.horizontalLayout_100.addWidget(self.txtOCHResults)
        self.verticalLayout_17.addWidget(self.frame_113)
        self.frame_114 = QtGui.QFrame(self.groupBox_33)
        self.frame_114.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_114.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_114.setObjectName(_fromUtf8("frame_114"))
        self.horizontalLayout_101 = QtGui.QHBoxLayout(self.frame_114)
        self.horizontalLayout_101.setSpacing(0)
        self.horizontalLayout_101.setMargin(0)
        self.horizontalLayout_101.setObjectName(_fromUtf8("horizontalLayout_101"))
        self.txtOCA = QtGui.QLineEdit(self.frame_114)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtOCA.setFont(font)
        self.txtOCA.setObjectName(_fromUtf8("txtOCA"))
        self.horizontalLayout_101.addWidget(self.txtOCA)
        self.txtOCAResults = QtGui.QLineEdit(self.frame_114)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtOCAResults.setFont(font)
        self.txtOCAResults.setObjectName(_fromUtf8("txtOCAResults"))
        self.horizontalLayout_101.addWidget(self.txtOCAResults)
        self.verticalLayout_17.addWidget(self.frame_114)
        self.frame_116 = QtGui.QFrame(self.groupBox_33)
        self.frame_116.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_116.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_116.setObjectName(_fromUtf8("frame_116"))
        self.horizontalLayout_103 = QtGui.QHBoxLayout(self.frame_116)
        self.horizontalLayout_103.setSpacing(0)
        self.horizontalLayout_103.setMargin(0)
        self.horizontalLayout_103.setObjectName(_fromUtf8("horizontalLayout_103"))
        self.txtOCA_2 = QtGui.QLineEdit(self.frame_116)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtOCA_2.setFont(font)
        self.txtOCA_2.setObjectName(_fromUtf8("txtOCA_2"))
        self.horizontalLayout_103.addWidget(self.txtOCA_2)
        self.txtResultSocText = QtGui.QLineEdit(self.frame_116)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.txtResultSocText.setFont(font)
        self.txtResultSocText.setObjectName(_fromUtf8("txtResultSocText"))
        self.horizontalLayout_103.addWidget(self.txtResultSocText)
        self.verticalLayout_17.addWidget(self.frame_116)
        self.verticalLayout_6.addWidget(self.groupBox_33)
        self.groupBox_34 = QtGui.QGroupBox(self.groupBox)
        self.groupBox_34.setObjectName(_fromUtf8("groupBox_34"))
        self.verticalLayout_18 = QtGui.QVBoxLayout(self.groupBox_34)
        self.verticalLayout_18.setContentsMargins(-1, 0, -1, 3)
        self.verticalLayout_18.setObjectName(_fromUtf8("verticalLayout_18"))
        self.frame_115 = QtGui.QFrame(self.groupBox_34)
        self.frame_115.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_115.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_115.setObjectName(_fromUtf8("frame_115"))
        self.horizontalLayout_102 = QtGui.QHBoxLayout(self.frame_115)
        self.horizontalLayout_102.setSpacing(0)
        self.horizontalLayout_102.setMargin(0)
        self.horizontalLayout_102.setObjectName(_fromUtf8("horizontalLayout_102"))
        self.label_123 = QtGui.QLabel(self.frame_115)
        self.label_123.setMinimumSize(QtCore.QSize(200, 0))
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.label_123.setFont(font)
        self.label_123.setObjectName(_fromUtf8("label_123"))
        self.horizontalLayout_102.addWidget(self.label_123)
        self.cmbSurface = QtGui.QComboBox(self.frame_115)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.cmbSurface.sizePolicy().hasHeightForWidth())
        self.cmbSurface.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.cmbSurface.setFont(font)
        self.cmbSurface.setObjectName(_fromUtf8("cmbSurface"))
        self.horizontalLayout_102.addWidget(self.cmbSurface)
        self.verticalLayout_18.addWidget(self.frame_115)
        self.tblObstacles = TableViewObstacle(self.groupBox_34)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        self.tblObstacles.setFont(font)
        self.tblObstacles.setObjectName(_fromUtf8("tblObstacles"))
        self.verticalLayout_18.addWidget(self.tblObstacles)
        self.verticalLayout_6.addWidget(self.groupBox_34)
        self.horizontalLayout_3.addWidget(self.groupBox)
        self.frame = QtGui.QFrame(self.tab_Results)
#         self.frame.setMinimumSize(QtCore.QSize(105, 16777215))
        self.frame.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtGui.QFrame.Raised)
        self.frame.setObjectName(_fromUtf8("frame"))
        self.verticalLayout_4 = QtGui.QVBoxLayout(self.frame)
        self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
        self.btnMarkSoc = QtGui.QPushButton(self.frame)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.btnMarkSoc.setFont(font)
        self.btnMarkSoc.setObjectName(_fromUtf8("btnMarkSoc"))
        self.verticalLayout_4.addWidget(self.btnMarkSoc)
        self.btnLocate = QtGui.QPushButton(self.frame)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.btnLocate.setFont(font)
        self.btnLocate.setObjectName(_fromUtf8("btnLocate"))
        self.verticalLayout_4.addWidget(self.btnLocate)
        self.btnUpdateQA_2 = QtGui.QPushButton(self.frame)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.btnUpdateQA_2.setFont(font)
        self.btnUpdateQA_2.setObjectName(_fromUtf8("btnUpdateQA_2"))
        self.verticalLayout_4.addWidget(self.btnUpdateQA_2)
        self.btnClose_2 = QtGui.QPushButton(self.frame)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.btnClose_2.setFont(font)
        self.btnClose_2.setObjectName(_fromUtf8("btnClose_2"))
        self.verticalLayout_4.addWidget(self.btnClose_2)
        spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.verticalLayout_4.addItem(spacerItem2)
        self.horizontalLayout_3.addWidget(self.frame)
        self.tabControls.addTab(self.tab_Results, _fromUtf8(""))
        self.verticalLayout_11.addWidget(self.tabControls)

        self.retranslateUi(Dialog)
        self.tabControls.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
        
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/btnImage/openData.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnOpenData.setIcon(icon)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/btnImage/saveData.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnSaveData.setIcon(icon)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/btnImage/construct.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnConstruct.setIcon(icon)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/btnImage/evaluate.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnEvaluate.setIcon(icon)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/btnImage/close.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnClose.setIcon(icon)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/btnImage/locate.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnLocate.setIcon(icon)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/btnImage/pdtCheck.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
#         self.btnPDCheck.setIcon(icon)
        icon = QtGui.QIcon()        
        icon.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/btnImage/close.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnClose_2.setIcon(icon)
        self.iconExport = QtGui.QIcon()        
        self.iconExport.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/btnImage/exportResult.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
#         self.btnExportResult.setIcon(icon)
        self.iconMark = QtGui.QIcon()        
        self.iconMark.addPixmap(QtGui.QPixmap(_fromUtf8("Resource/btnImage/locate0.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnMarkSoc.setIcon(self.iconMark)
        
        self.btnClose.setToolTip(_fromUtf8("Close"))
        self.btnClose_2.setToolTip(_fromUtf8("Close"))
        self.btnConstruct.setToolTip(_fromUtf8("Construct"))
        self.btnEvaluate.setToolTip(_fromUtf8("Evaluate"))
        self.btnLocate.setToolTip(_fromUtf8("Locate"))
#         self.btnExportResult.setToolTip(_fromUtf8("Export Result"))
        self.btnOpenData.setToolTip(_fromUtf8("Open Data"))
        self.btnSaveData.setToolTip(_fromUtf8("Save Data"))
        self.btnMarkSoc.setToolTip(_fromUtf8("Mark SOC"))

        self.btnClose.setIconSize(QtCore.QSize(32,32))
        self.btnClose_2.setIconSize(QtCore.QSize(32,32))
        self.btnConstruct.setIconSize(QtCore.QSize(32,32))
        self.btnEvaluate.setIconSize(QtCore.QSize(32,32))
        self.btnLocate.setIconSize(QtCore.QSize(32,32))
        self.btnMarkSoc.setIconSize(QtCore.QSize(32,32))
        self.btnOpenData.setIconSize(QtCore.QSize(32,32))
        self.btnSaveData.setIconSize(QtCore.QSize(32,32))
        # self.btnPDTCheck.setIconSize(QtCore.QSize(32,32))

    def retranslateUi(self, Dialog):
        # Dialog.setWindowTitle(_translate("Dialog", "Obstacle Assessment Surfaces (OAS)", None))
        self.groupBox_20.setTitle(_translate("Dialog", "Parameters", None))

        self.groupBox_2.setTitle(_translate("Dialog", "Additional Parameters / Constants", None))
        # self.lblDLT.setText(_translate("Dialog", "LOC to THR Distance (m):", None))
        # self.txtDLT.setText(_translate("Dialog", "2000", None))
        # self.btnCaptureDLT.setText(_translate("Dialog", "...", None))
        # self.label_82.setText(_translate("Dialog", "OCA Contour Height AGL (m):", None))
        # self.txtContourHeight.setText(_translate("Dialog", "300", None))
        # self.label_83.setText(_translate("Dialog", "MA Obstacles Evaluation:", None))
        self.groupBox_3.setTitle(_translate("Dialog", "Aircraft", None))
        # self.label_84.setText(_translate("Dialog", "Category:", None))
        # self.label_85.setText(_translate("Dialog", "Height Loss (m):", None))
        # self.txtHL.setText(_translate("Dialog", "40", None))
        # self.label_86.setText(_translate("Dialog", "Wing Semi Span (m):", None))
        # self.txtWSS.setText(_translate("Dialog", "30", None))
        # self.label_87.setText(_translate("Dialog", "Wheel Height (m):", None))
        # self.txtWH.setText(_translate("Dialog", "6", None))
        self.lblConstants.setText(_translate("Dialog", "Constants", None))
        self.tabControls.setTabText(self.tabControls.indexOf(self.tab_General), _translate("Dialog", "General", None))
        self.groupBox_32.setTitle(_translate("Dialog", "The Most Critical Obstacle", None))
        self.label_115.setText(_translate("Dialog", "ID:", None))
        self.label_119.setText(_translate("Dialog", "X:", None))
        self.label_120.setText(_translate("Dialog", "Y:", None))
        self.toolButton.setText(_translate("Dialog", "...", None))
        self.label_116.setText(_translate("Dialog", "Altitude:", None))
        self.label_117.setText(_translate("Dialog", " m ", None))
        self.label_118.setText(_translate("Dialog", "ft", None))
        self.label_121.setText(_translate("Dialog", "Surface:", None))
        self.groupBox_33.setTitle(_translate("Dialog", "Results", None))
        self.label_122.setText(_translate("Dialog", "Units:", None))
        self.txtOCH.setText(_translate("Dialog", "OCH", None))
        self.txtOCA.setText(_translate("Dialog", "OCA", None))
        self.txtOCA_2.setText(_translate("Dialog", "Start of Climb", None))
        self.groupBox_34.setTitle(_translate("Dialog", "Checked Ostacles", None))
        self.label_123.setText(_translate("Dialog", "Surface:", None))
#         self.btnMarkSoc.setText(_translate("Dialog", "Mark Soc", None))
#         self.btnLocate.setText(_translate("Dialog", "Locate", None))
#         self.btnUpdateQA_2.setText(_translate("Dialog", "Update QA", None))
#         self.btnClose_2.setText(_translate("Dialog", "Close", None))
        self.tabControls.setTabText(self.tabControls.indexOf(self.tab_Results), _translate("Dialog", "Results/Checked Obstacles", None))
class Ui_TurnProtectionAndObstacleAssessment(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(435, 580)
        self.verticalLayout = QVBoxLayout(Form)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))

        self.gbGeneral = GroupBox(Form)
        self.gbGeneral.Caption = "General"
        self.verticalLayout.addWidget(self.gbGeneral)

        # self.cmbAerodrome = ComboBoxPanel(self.gbGeneral, True)
        # self.cmbAerodrome.Caption = "Aerodrome"
        # self.cmbAerodrome.LabelWidth = 120
        # self.gbGeneral.Add = self.cmbAerodrome
        #
        # self.cmbRwyDir = ComboBoxPanel(self.gbGeneral, True)
        # self.cmbRwyDir.Caption = "Runway Direction"
        # self.cmbRwyDir.LabelWidth = 120
        # self.cmbRwyDir.Width = 120
        # self.gbGeneral.Add = self.cmbRwyDir

        self.cmbRnavSpecification = ComboBoxPanel(self.gbGeneral)
        self.cmbRnavSpecification.Caption = "Rnav Specification"
        self.cmbRnavSpecification.LabelWidth = 150
        self.gbGeneral.Add = self.cmbRnavSpecification

        self.frameChbThree = Frame(self.gbGeneral, "HL")
        self.gbGeneral.Add = self.frameChbThree

        self.chbUseTwoWpt = CheckBox(self.frameChbThree)
        self.chbUseTwoWpt.Caption = "Use 2 Waypoints"
        self.frameChbThree.Add = self.chbUseTwoWpt

        self.chbInsertSymbol = CheckBox(self.frameChbThree)
        self.chbInsertSymbol.Caption = "Insert Symbol(s)"
        self.frameChbThree.Add = self.chbInsertSymbol

        self.chbCatH = CheckBox(self.frameChbThree)
        self.chbCatH.Caption = "Cat.H"
        self.frameChbThree.Add = self.chbCatH

        self.cmbPhaseOfFlight = ComboBoxPanel(self.gbGeneral)
        self.cmbPhaseOfFlight.Caption = "Phase Of Flight"
        self.cmbPhaseOfFlight.LabelWidth = 150
        self.gbGeneral.Add = self.cmbPhaseOfFlight

        self.pnlArp = PositionPanel(self.gbGeneral)
        self.pnlArp.Caption = "Aerodrome Reference Point(ARP)"
        self.pnlArp.btnCalculater.hide()
        self.pnlArp.hideframe_Altitude()
        self.gbGeneral.Add = self.pnlArp

        self.gbWaypoint1 = GroupBox(self.gbGeneral)
        self.gbWaypoint1.Caption = "Waypoint1"
        self.gbGeneral.Add = self.gbWaypoint1

        self.cmbType1 = ComboBoxPanel(self.gbWaypoint1)
        self.cmbType1.Caption = "Type"
        self.cmbType1.LabelWidth = 150
        self.gbWaypoint1.Add = self.cmbType1

        self.pnlTolerances = RnavTolerancesPanel(self.gbWaypoint1)
        self.pnlTolerances.set_Att(Distance(0.8, DistanceUnits.NM))
        self.pnlTolerances.set_Xtt(Distance(1, DistanceUnits.NM))
        self.pnlTolerances.set_Asw(Distance(2, DistanceUnits.NM))
        self.gbWaypoint1.Add = self.pnlTolerances

        self.pnlWaypoint1 = PositionPanel(self.gbWaypoint1)
        self.pnlWaypoint1.btnCalculater.hide()
        self.pnlWaypoint1.hideframe_Altitude()
        self.gbWaypoint1.Add = self.pnlWaypoint1

        self.gbWaypoint2 = GroupBox(self.gbGeneral)
        self.gbWaypoint2.Caption = "Waypoint2"
        self.gbGeneral.Add = self.gbWaypoint2

        self.cmbType2 = ComboBoxPanel(self.gbWaypoint2)
        self.cmbType2.Caption = "Type"
        self.cmbType2.LabelWidth = 150
        self.gbWaypoint2.Add = self.cmbType2

        self.pnlTolerances2 = RnavTolerancesPanel(self.gbWaypoint2)
        self.pnlTolerances2.set_Att(Distance(0.8, DistanceUnits.NM))
        self.pnlTolerances2.set_Xtt(Distance(1, DistanceUnits.NM))
        self.pnlTolerances2.set_Asw(Distance(2, DistanceUnits.NM))
        self.gbWaypoint2.Add = self.pnlTolerances2

        self.pnlWaypoint2 = PositionPanel(self.gbWaypoint2)
        self.pnlWaypoint2.btnCalculater.hide()
        self.pnlWaypoint2.hideframe_Altitude()
        self.gbWaypoint2.Add = self.pnlWaypoint2

        self.frmRadioBtns = Frame(self.gbGeneral, "HL")
        self.gbGeneral.Add = self.frmRadioBtns

        self.rdnTF = QRadioButton(self.frmRadioBtns)
        self.rdnTF.setObjectName("rdnTF")
        self.rdnTF.setText("TF")
        self.rdnTF.setChecked(True)
        self.frmRadioBtns.Add = self.rdnTF

        self.rdnDF = QRadioButton(self.frmRadioBtns)
        self.rdnDF.setObjectName("rdnDF")
        self.rdnDF.setText("DF")
        self.frmRadioBtns.Add = self.rdnDF

        self.rdnCF = QRadioButton(self.frmRadioBtns)
        self.rdnCF.setObjectName("rdnCF")
        self.rdnCF.setText("CF")
        self.frmRadioBtns.Add = self.rdnCF


        self.chbCircularArcs = CheckBox(self.gbGeneral)
        self.chbCircularArcs.Caption = "Use Circular Arcs Method for Turns <= 30"
        self.gbGeneral.Add = self.chbCircularArcs

        self.gbParameters = GroupBox(Form)
        self.gbParameters.Caption = "Parameters"
        self.verticalLayout.addWidget(self.gbParameters)

        self.cmbSelectionMode = ComboBoxPanel(self.gbParameters)
        self.cmbSelectionMode.Caption = "Selection Mode"
        self.cmbSelectionMode.LabelWidth = 150
        self.gbParameters.Add = self.cmbSelectionMode


        self.pnlInbound = TrackRadialBoxPanel(self.gbParameters)
        self.pnlInbound.Caption = "In-bound Track"
        self.pnlInbound.LabelWidth = 150
        self.gbParameters.Add = self.pnlInbound

        self.pnlOutbound = TrackRadialBoxPanel(self.gbParameters)
        self.pnlOutbound.Caption = "Out-bound Track"
        self.pnlOutbound.LabelWidth = 150
        self.gbParameters.Add = self.pnlOutbound


        # icon = QIcon()
        # icon.addPixmap(QPixmap(_fromUtf8("Resource/coordinate_capture.png")), QIcon.Normal, QIcon.Off)

        self.pnlIas = SpeedBoxPanel(self.gbParameters)
        self.pnlIas.Caption = "IAS"
        self.pnlIas.LabelWidth = 150
        self.pnlIas.Value = Speed(250)
        self.gbParameters.Add = self.pnlIas

        self.pnlTas = SpeedBoxPanel(self.gbParameters)
        self.pnlTas.Caption = "TAS"
        self.pnlTas.Enabled = False
        self.pnlTas.LabelWidth = 150
        self.gbParameters.Add = self.pnlTas

        self.pnlAltitude = AltitudeBoxPanel(self.gbParameters)
        self.pnlAltitude.Caption = "Altitude"
        self.pnlAltitude.LabelWidth = 150
        self.pnlAltitude.Value = Altitude(1000)
        self.gbParameters.Add = self.pnlAltitude

        self.pnlIsa = NumberBoxPanel(self.gbParameters, "0.0")
        self.pnlIsa.CaptionUnits = define._degreeStr + "C"
        self.pnlIsa.Caption = "ISA"
        self.pnlIsa.LabelWidth = 150
        self.pnlIsa.Value = 15
        self.gbParameters.Add = self.pnlIsa

        self.pnlBankAngle = NumberBoxPanel(self.gbParameters, "0.0")
        self.pnlBankAngle.CaptionUnits = define._degreeStr
        self.pnlBankAngle.Caption = "Bank Angle"
        self.pnlBankAngle.LabelWidth = 150
        self.pnlBankAngle.Value = 25
        self.gbParameters.Add = self.pnlBankAngle

        self.pnlBankEstTime = NumberBoxPanel(self.gbParameters, "0.0")
        self.pnlBankEstTime.Caption = "Bank Establishment Time"
        self.pnlBankEstTime.Value = 1
        self.pnlBankEstTime.LabelWidth = 150
        self.pnlBankEstTime.Value = 5
        self.gbParameters.Add = self.pnlBankEstTime

        self.pnlPilotTime = NumberBoxPanel(self.gbParameters, "0.0")
        self.pnlPilotTime.Caption = "Pilot Reaction Time"
        self.pnlPilotTime.Value = 6
        self.pnlPilotTime.LabelWidth = 150
        self.gbParameters.Add = self.pnlPilotTime

        self.pnlWind = WindPanel(self.gbParameters)
        self.pnlWind.LabelWidth = 145
        self.gbParameters.Add = self.pnlWind

        self.pnlPrimaryMoc = AltitudeBoxPanel(self.gbParameters)
        self.pnlPrimaryMoc.Caption = "Primary Moc"
        self.pnlPrimaryMoc.LabelWidth = 150
        self.gbParameters.Add = self.pnlPrimaryMoc

        self.cmbConstructionType = ComboBoxPanel(self.gbParameters)
        self.cmbConstructionType.Caption = "Construction Type"
        self.cmbConstructionType.LabelWidth = 150
        self.gbParameters.Add = self.cmbConstructionType

        self.frameMOCmultipiler = Frame(self.gbParameters, "HL")
        self.gbParameters.Add = self.frameMOCmultipiler

        self.labelMOCmultipiler = QLabel(self.frameMOCmultipiler)
        self.labelMOCmultipiler.setMinimumSize(QSize(145, 0))
        self.labelMOCmultipiler.setMaximumSize(QSize(145, 16777215))
        font = QFont()
        font.setBold(False)
        font.setWeight(50)
        self.labelMOCmultipiler.setFont(font)
        self.labelMOCmultipiler.setObjectName(_fromUtf8("labelMOCmultipiler"))
        self.labelMOCmultipiler.setText("MOCmultipiler")
        self.frameMOCmultipiler.Add = self.labelMOCmultipiler

        self.mocSpinBox = QSpinBox(self.frameMOCmultipiler)
        sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.mocSpinBox.sizePolicy().hasHeightForWidth())
        self.mocSpinBox.setSizePolicy(sizePolicy)
        self.mocSpinBox.setMinimumSize(QSize(70, 0))
        self.mocSpinBox.setMaximumSize(QSize(70, 16777215))
        self.mocSpinBox.setMinimum(1)
        self.mocSpinBox.setObjectName(_fromUtf8("mocSpinBox"))
        self.frameMOCmultipiler.Add = self.mocSpinBox

        spacerItem = QSpacerItem(10,10,QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.frameMOCmultipiler.layoutBoxPanel.addItem(spacerItem)

        self.chbDrawTolerance = CheckBox(self.gbParameters)
        self.chbDrawTolerance.Caption = "Draw Waypoint Tolerance"
        self.gbParameters.Add = self.chbDrawTolerance
class Ui_ChartingGrid(object):
    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.vlForm.setSpacing(0)
        self.vlForm.setMargin(0)

        self.gbParameters = GroupBox(Form)
        self.gbParameters.Caption = "Parameters"
        self.vlForm.addWidget(self.gbParameters)

        self.chbDrawRectangle = CheckBox(self.gbParameters)
        self.chbDrawRectangle.Caption = "Draw Rectangle"
        # self.chbDrawRectangle.Visible = False
        self.gbParameters.Add = self.chbDrawRectangle

        self.pnlMinorLinesTickLength = DistanceBoxPanel(
            self.gbParameters, DistanceUnits.M)
        self.pnlMinorLinesTickLength.Caption = "Minor Lines Tick Length"
        # self.pnlMinorLinesTickLength.Visible = False
        self.gbParameters.Add = self.pnlMinorLinesTickLength

        self.pnlMinorLines = Frame(self.gbParameters, "HL")
        # self.pnlMinorLines.Visible = False
        self.gbParameters.Add = self.pnlMinorLines

        self.cmbMinorLines = ComboBoxPanel(self.pnlMinorLines)
        self.cmbMinorLines.Caption = "Minor Lines"
        self.pnlMinorLines.Add = self.cmbMinorLines

        self.txtMinorLinesEvery = NumberBoxPanel(self.pnlMinorLines, "0.0")
        self.txtMinorLinesEvery.LabelWidth = 0
        self.txtMinorLinesEvery.Value = 1
        self.pnlMinorLines.Add = self.txtMinorLinesEvery

        self.pnlIntermediateLinesTickLength = DistanceBoxPanel(
            self.gbParameters, DistanceUnits.M)
        self.pnlIntermediateLinesTickLength.Caption = "Intermediate Lines Tick Length"
        # self.pnlIntermediateLinesTickLength.Visible = False
        self.gbParameters.Add = self.pnlIntermediateLinesTickLength

        self.pnlIntermediateLines = Frame(self.gbParameters, "HL")
        # self.pnlIntermediateLines.Visible = False
        self.gbParameters.Add = self.pnlIntermediateLines

        self.cmbIntermediateLines = ComboBoxPanel(self.pnlIntermediateLines)
        self.cmbIntermediateLines.Caption = "Intermediate Lines"
        self.pnlIntermediateLines.Add = self.cmbIntermediateLines

        self.txtIntermediateLinesEvery = NumberBoxPanel(
            self.pnlIntermediateLines, "0.0")
        self.txtIntermediateLinesEvery.LabelWidth = 0
        self.txtIntermediateLinesEvery.Value = 5
        self.pnlIntermediateLines.Add = self.txtIntermediateLinesEvery

        self.pnlMajorLinesTickLength = DistanceBoxPanel(
            self.gbParameters, DistanceUnits.M)
        self.pnlMajorLinesTickLength.Caption = "Major Lines Tick Length"
        self.gbParameters.Add = self.pnlMajorLinesTickLength

        self.pnlMajorLines = Frame(self.gbParameters, "HL")
        # self.pnlMajorLines.Visible = False
        self.gbParameters.Add = self.pnlMajorLines

        self.cmbMajorLines = ComboBoxPanel(self.pnlMajorLines)
        self.cmbMajorLines.Caption = "Major Lines"
        self.pnlMajorLines.Add = self.cmbMajorLines

        self.txtMajorLinesEvery = NumberBoxPanel(self.pnlMajorLines, "0.0")
        self.txtMajorLinesEvery.LabelWidth = 0
        self.txtMajorLinesEvery.Value = 10
        self.pnlMajorLines.Add = self.txtMajorLinesEvery

        self.pnlLonFormat = ComboBoxPanel(self.gbParameters)
        self.pnlLonFormat.Caption = "Longitude Text Format"
        self.gbParameters.Add = self.pnlLonFormat

        self.pnlLatFormat = Frame(self.gbParameters, "HL")
        self.gbParameters.Add = self.pnlLatFormat

        self.cmbLatFormat = ComboBoxPanel(self.pnlLatFormat)
        self.cmbLatFormat.Caption = "Latitude Text Format"
        self.pnlLatFormat.Add = self.cmbLatFormat

        self.chbMultiline = CheckBox(self.pnlLatFormat)
        self.chbMultiline.Caption = "Multiline"
        self.pnlLatFormat.Add = self.chbMultiline

        self.pnlTextHeight = NumberBoxPanel(self.gbParameters, "0")
        self.pnlTextHeight.Caption = "Text Height"
        self.pnlTextHeight.Value = 6
        self.gbParameters.Add = self.pnlTextHeight

        self.pnlMapScale = MapScalePanel(self.gbParameters,
                                         MapScaleDropDownType.All)
        self.pnlMapScale.Caption = "Eventual Map Scale"
        self.gbParameters.Add = self.pnlMapScale

        self.gbArea = GroupBox(Form, "HL")
        self.gbArea.Caption = "Rectangular Grid Area"
        self.vlForm.addWidget(self.gbArea)

        self.frameAreaPosition = Frame(self.gbArea)
        self.gbArea.Add = self.frameAreaPosition

        self.pnlUR = PositionPanel(self.frameAreaPosition, None, None,
                                   "Degree")
        self.pnlUR.Caption = "Upper Right Corner"
        self.pnlUR.hideframe_Altitude()
        self.pnlUR.btnCalculater.setVisible(False)
        self.pnlUR.btnCapture.setVisible(False)
        self.pnlUR.groupBox.setEnabled(False)
        self.frameAreaPosition.Add = self.pnlUR

        self.pnlLL = PositionPanel(self.frameAreaPosition, None, None,
                                   "Degree")
        self.pnlLL.Caption = "Lower Left Corner"
        self.pnlLL.hideframe_Altitude()
        self.pnlLL.btnCalculater.setVisible(False)
        self.pnlLL.btnCapture.setVisible(False)
        self.pnlLL.groupBox.setEnabled(False)
        self.frameAreaPosition.Add = self.pnlLL

        self.btnPickArea = QtGui.QPushButton(self.gbArea)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.btnPickArea.sizePolicy().hasHeightForWidth())
        self.btnPickArea.setSizePolicy(sizePolicy)
        self.btnPickArea.setMinimumSize(QtCore.QSize(25, 0))
        self.btnPickArea.setMaximumSize(QtCore.QSize(25, 16777215))
        self.btnPickArea.setText((""))
        self.btnPickArea.setObjectName("btnCapture")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(("Resource/coordinate_capture.png")),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnPickArea.setIcon(icon)
        self.gbArea.Add = self.btnPickArea
class Ui_PathTerminators(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(473, 580)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        Form.setFont(font)
        self.vlForm = QtGui.QVBoxLayout(Form)
        self.vlForm.setObjectName(_fromUtf8("vlForm"))

        self.gbGeneral = QtGui.QGroupBox(Form)
        self.gbGeneral.setObjectName(_fromUtf8("gbGeneral"))
        self.gbGeneral.setTitle("General")
        self.vl_gbGeneral = QtGui.QVBoxLayout(self.gbGeneral)
        self.vl_gbGeneral.setObjectName(_fromUtf8("vl_gbGeneral"))

        self.pnlProcType = ComboBoxPanel(self.gbGeneral)
        self.pnlProcType.Caption = "Procedure Type"
        self.vl_gbGeneral.addWidget(self.pnlProcType)

        self.pnlBasedOn = ComboBoxPanel(self.gbGeneral)
        self.pnlBasedOn.Caption = "Path Terminators Based On"
        self.vl_gbGeneral.addWidget(self.pnlBasedOn)
        self.vlForm.addWidget(self.gbGeneral)

        self.gbParameters = QtGui.QGroupBox(Form)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.gbParameters.setFont(font)
        self.gbParameters.setObjectName(_fromUtf8("gbParameters"))
        self.gbParameters.setTitle("Path Terminators")
        self.vl_gbParameters = QtGui.QVBoxLayout(self.gbParameters)
        self.vl_gbParameters.setObjectName(_fromUtf8("vl_gbParameters"))

        self.pnlPT = ComboBoxPanel(self.gbParameters)
        self.pnlPT.Caption = "Type"
        self.vl_gbParameters.addWidget(self.pnlPT)

        self.pnlProperties = QtGui.QFrame(self.gbParameters)
        self.pnlProperties.setObjectName("pnlProperties")
        self.hl_pnlProperties = QtGui.QHBoxLayout(self.pnlProperties)
        self.hl_pnlProperties.setObjectName("hl_pnlProperties")
        # self.hl_pnlProperties.setMargin(0)
        # self.hl_pnlProperties.setSpacing(0)

        self.pnlLeft = QtGui.QFrame(self.pnlProperties)
        self.pnlLeft.setFrameShape(QtGui.QFrame.NoFrame)
        self.pnlLeft.setFrameShadow(QtGui.QFrame.Raised)
        self.pnlLeft.setObjectName("pnlLeft")
        self.vl_pnlLeft = QtGui.QVBoxLayout(self.pnlLeft)
        self.vl_pnlLeft.setObjectName("vl_pnlLeft")
        self.vl_pnlLeft.setMargin(0)
        self.vl_pnlLeft.setSpacing(0)

        self.gbWpt = QtGui.QGroupBox(self.pnlLeft)
        self.gbWpt.setObjectName("gbWpt")
        self.gbWpt.setTitle("Waypoint")
        self.vl_gbWpt = QtGui.QVBoxLayout(self.gbWpt)
        self.vl_gbWpt.setObjectName("vl_gbWpt")

        self.pnlWpt = PositionPanel(self.gbWpt, None, None, "Degree")
        self.pnlWpt.btnCalculater.hide()
        self.pnlWpt.showframe_ID()
        self.pnlWpt.hideframe_Altitude()
        self.pnlWpt.degreeFormat = "ddmmss.ssssH"
        self.vl_gbWpt.addWidget(self.pnlWpt)

        self.pnlFlyOver = ComboBoxPanel(self.gbWpt)
        self.pnlFlyOver.Caption = "Fly-over"
        self.pnlFlyOver.LabelWidth = 150
        self.vl_gbWpt.addWidget(self.pnlFlyOver)
        self.vl_pnlLeft.addWidget(self.gbWpt)

        self.pnlAltitude = AltitudeBoxPanel(self.pnlLeft)
        self.pnlAltitude.Caption = "Altitude Restriction"
        self.pnlAltitude.CaptionUnits = "ft"
        self.pnlAltitude.LabelWidth = 150
        self.vl_pnlLeft.addWidget(self.pnlAltitude)

        self.pnlSpeed = SpeedBoxPanel(self.pnlLeft, SpeedUnits.KTS)
        self.pnlSpeed.Caption = "Speed Limit"
        self.pnlSpeed.LabelWidth = 150
        self.vl_pnlLeft.addWidget(self.pnlSpeed)

        self.hl_pnlProperties.addWidget(self.pnlLeft)

        self.pnlRight = QtGui.QFrame(self.pnlProperties)
        self.pnlRight.setObjectName("pnlRight")
        self.pnlRight.setFrameShape(QtGui.QFrame.NoFrame)
        self.pnlRight.setFrameShadow(QtGui.QFrame.Raised)
        self.vl_pnlRight = QtGui.QVBoxLayout(self.pnlRight)
        self.vl_pnlRight.setObjectName("vl_pnlRight")
        self.vl_pnlRight.setMargin(0)
        self.vl_pnlRight.setSpacing(0)

        self.pnlCourse = TrackRadialBoxPanel(self.pnlRight)
        self.pnlCourse.Caption = "Course"
        self.pnlCourse.LabelWidth = 150
        self.vl_pnlRight.addWidget(self.pnlCourse)

        self.pnlTurnDir = ComboBoxPanel(self.pnlRight)
        self.pnlTurnDir.Caption = "Turn Direction"
        self.pnlTurnDir.LabelWidth = 150
        self.vl_pnlRight.addWidget(self.pnlTurnDir)

        self.pnlDist = DistanceBoxPanel(self.pnlRight, DistanceUnits.NM)
        self.pnlDist.Caption = "Distance"
        self.pnlDist.LabelWidth = 150
        self.vl_pnlRight.addWidget(self.pnlDist)

        self.pnlTime = NumberBoxPanel(self.pnlRight)
        self.pnlTime.CaptionUnits = "min"
        self.pnlTime.Caption = "Time"
        self.pnlTime.LabelWidth = 150
        self.vl_pnlRight.addWidget(self.pnlTime)

        self.pnlArcCen = PositionPanel(self.pnlRight, None, None, "Degree")
        self.pnlArcCen.groupBox.setTitle("Arc Center")
        self.pnlArcCen.btnCalculater.hide()
        self.pnlArcCen.hideframe_Altitude()
        self.pnlWpt.degreeFormat = "ddmmss.ssssH"
        self.vl_pnlRight.addWidget(self.pnlArcCen)

        self.hl_pnlProperties.addWidget(self.pnlRight)
        self.vl_gbParameters.addWidget(self.pnlProperties)

        self.frameResult = Frame(self.gbParameters, "HL")
        self.vl_gbParameters.addWidget(self.frameResult)

        self.grid = QtGui.QTableView(self.frameResult)
        self.grid.setObjectName("grid")
        self.frameResult.Add = self.grid

        self.lblError = QtGui.QLabel(self.gbParameters)
        self.lblError.setObjectName("lblError")
        self.lblError.setAlignment(QtCore.Qt.AlignCenter)
        font = QtGui.QFont()
        font.setBold(True)
        font.setPointSize(10)
        self.lblError.setFont(font)
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(207, 56, 86, 255))
        # brush.setStyle(Qt::SolidPattern);
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText,
                         brush)
        # palette.setBrush(QPalette.Inactive, QPalette.WindowText, brush2);
        # palette.setBrush(QPalette.Disabled, QPalette.WindowText, brush1);
        self.lblError.setPalette(palette)
        self.vl_gbParameters.addWidget(self.lblError)

        self.gridStdModel = QtGui.QStandardItemModel()
        self.gridStdModel.setHorizontalHeaderLabels([
            "#", "ID", "Latitude", "Longitude", "P/T", "Fly-over",
            unicode("Course (° T)", "utf-8"), "Turn Direction",
            "Altitude (ft)", "Dist. (nm) / Time (min)", "Speed Limit (kts)",
            "Center Latitude", "Center Longitude"
        ])
        # self.gridSelectionModel = QtGui.QSortFilterProxyModel()
        #
        # self.gridSelectionModel.setSourceModel(self.gridStdModel)
        self.grid.setModel(self.gridStdModel)
        self.grid.setSelectionBehavior(1)
        # self.grid.setSelectionMode(1)

        self.pnlTreeViewActions = QtGui.QFrame(self.frameResult)
        self.pnlTreeViewActions.setObjectName("pnlTreeViewActions")
        self.vl_pnlTreeViewActions = QtGui.QVBoxLayout(self.pnlTreeViewActions)
        self.vl_pnlTreeViewActions.setObjectName("vl_pnlTreeViewActions")

        self.btnAdd = QtGui.QPushButton(self.pnlTreeViewActions)
        self.btnAdd.setObjectName("btnAdd")
        self.btnAdd.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/add.png"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.btnAdd.setIcon(icon)
        self.vl_pnlTreeViewActions.addWidget(self.btnAdd)

        self.btnRemove = QtGui.QPushButton(self.pnlTreeViewActions)
        self.btnRemove.setObjectName("btnRemove")
        self.btnRemove.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/remove.png"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnRemove.setIcon(icon)
        self.vl_pnlTreeViewActions.addWidget(self.btnRemove)

        self.btnUp = QtGui.QPushButton(self.pnlTreeViewActions)
        self.btnUp.setObjectName("btnUp")
        self.btnUp.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/up.png"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.btnUp.setIcon(icon)
        self.vl_pnlTreeViewActions.addWidget(self.btnUp)

        self.btnDown = QtGui.QPushButton(self.pnlTreeViewActions)
        self.btnDown.setObjectName("btnDown")
        self.btnDown.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/down.png"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.btnDown.setIcon(icon)
        self.vl_pnlTreeViewActions.addWidget(self.btnDown)

        self.frameResult.Add = self.pnlTreeViewActions

        self.vlForm.addWidget(self.gbParameters)
Exemple #10
0
class Ui_MASegment(object):
    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 cmbTrackGuidanceEvent_0(self):
        self.cmbAddTrackGuidance.Enabled = self.cmbTrackGuidance.SelectedIndex == 0
        self.gbAddNavAid.Enabled = self.cmbTrackGuidance.SelectedIndex == 0 and self.cmbAddTrackGuidance.SelectedIndex == 0

    def cmbAddTrackGuidanceEvent_0(self):
        self.gbAddNavAid.Enabled = self.cmbAddTrackGuidance.SelectedIndex == 0

    def txtMASegmentType_Event_1(self):
        rcRect = self.txtMASegmentType.imageButton.geometry()
        ptPoint = rcRect.bottomLeft()
        self.missedApproachMenu.exec_(
            self.txtMASegmentType.mapToGlobal(ptPoint))

    def menuStrightClick(self):
        self.txtMASegmentType.Value = "Straight"

        self.cmbTypeTP.Visible = False
        self.cmbDirection.Visible = False
        self.pnlTpAlt.Visible = False
        self.pnlEndTurnAlt.Visible = False
        self.pnlEndAlt.Visible = False
        self.pnlTurnGradient.Visible = False
        self.pnlBearing.Visible = False
        self.pnlMaTpPos.Visible = False
        self.cmbTurnMAPt.Visible = False
        self.gbTpTolerance.Visible = False
        self.gbNominalTrack.Visible = False
        # self.pnlWind.Visible = False
        self.gbTurn.Visible = False
        self.cmbMaEndType.Visible = False

        self.cmbTypeMapt.Visible = True
        self.pnlAerodromeAlt.Visible = True
        self.pnlOCA.Visible = True
        self.pnlDistance.Visible = True
        self.pnlClimbGradient.Visible = True
        self.gbMAPtTolerance.Visible = True
        self.gbMAPtToSocDist.Visible = True

    def menuTurningClick(self):
        self.txtMASegmentType.Value = "Turning"

        self.cmbTypeTP.Visible = True
        self.cmbDirection.Visible = True
        self.pnlTpAlt.Visible = True
        self.pnlEndTurnAlt.Visible = True
        self.pnlEndAlt.Visible = True
        self.pnlTurnGradient.Visible = True
        self.pnlBearing.Visible = True
        self.pnlMaTpPos.Visible = True
        self.cmbTurnMAPt.Visible = True
        self.gbTpTolerance.Visible = True
        self.gbNominalTrack.Visible = True
        # self.pnlWind.Visible = True
        self.gbTurn.Visible = True
        self.cmbMaEndType.Visible = True

        self.cmbTypeMapt.Visible = False
        self.pnlAerodromeAlt.Visible = False
        self.pnlOCA.Visible = False
        self.pnlDistance.Visible = False
        self.pnlClimbGradient.Visible = False
        self.gbMAPtTolerance.Visible = False
        self.gbMAPtToSocDist.Visible = False
Exemple #11
0
class Ui_IlsBasic(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(366, 261)
        self.form = Form
        self.verticalLayout = QtGui.QVBoxLayout(Form)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))

        self.tabCtrlGeneral = QtGui.QTabWidget(Form)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.tabCtrlGeneral.setFont(font)
        self.tabCtrlGeneral.setAutoFillBackground(False)
        self.tabCtrlGeneral.setStyleSheet(_fromUtf8(""))
        self.tabCtrlGeneral.setObjectName(_fromUtf8("tabCtrlGeneral"))
        self.verticalLayout.addWidget(self.tabCtrlGeneral)

        self.tabInputData = QtGui.QWidget(self.tabCtrlGeneral)
        self.tabInputData.setObjectName(_fromUtf8("tabInputData"))

        self.vLayoutTabInputData = QtGui.QVBoxLayout(self.tabInputData)
        self.vLayoutTabInputData.setMargin(3)
        self.vLayoutTabInputData.setObjectName(
            _fromUtf8("vLayoutTabInputData"))
        self.tabCtrlGeneral.addTab(self.tabInputData, "Input Data")

        self.tabIls = QtGui.QWidget(self.tabCtrlGeneral)
        self.tabIls.setObjectName(_fromUtf8("tabOasIls"))
        self.vLayoutTabIls = QtGui.QHBoxLayout(self.tabIls)
        self.vLayoutTabIls.setMargin(3)
        self.vLayoutTabIls.setObjectName(_fromUtf8("vLayoutTabIls"))
        self.tabCtrlGeneral.addTab(self.tabIls, "ILS Basic")

        self.cmbAerodrome = ComboBoxPanel(self.tabInputData, True)
        self.cmbAerodrome.Caption = "Aerodrome"
        self.cmbAerodrome.LabelWidth = 120
        self.vLayoutTabInputData.addWidget(self.cmbAerodrome)

        self.cmbRwyDir = ComboBoxPanel(self.tabInputData, True)
        self.cmbRwyDir.Caption = "Runway Direction"
        self.cmbRwyDir.LabelWidth = 120
        self.cmbRwyDir.Width = 120
        self.vLayoutTabInputData.addWidget(self.cmbRwyDir)

        self.pnlThr = PositionPanel(self.tabInputData)
        self.pnlThr.groupBox.setTitle("Threshold Position")
        self.pnlThr.setObjectName("positionThr")
        self.pnlThr.btnCalculater.hide()
        self.vLayoutTabInputData.addWidget(self.pnlThr)

        self.pnlRwyEnd = PositionPanel(self.tabInputData)
        self.pnlRwyEnd.groupBox.setTitle("Runway End Position")
        self.pnlRwyEnd.btnCalculater.setVisible(False)
        self.pnlRwyEnd.hideframe_Altitude()
        self.vLayoutTabInputData.addWidget(self.pnlRwyEnd)

        self.txtTrack = TrackRadialBoxPanel(self.tabInputData)
        self.txtTrack.Caption = "In-bound Track"
        self.txtTrack.LabelWidth = 120
        self.vLayoutTabInputData.addWidget(self.txtTrack)

        self.grbParameters = QtGui.QGroupBox(self.tabIls)
        self.grbParameters.setObjectName(_fromUtf8("grbParameters"))
        self.vLayout_grbParameters = QtGui.QVBoxLayout(self.grbParameters)
        self.vLayout_grbParameters.setObjectName(
            _fromUtf8("vLayout_grbParameters"))

        self.cmbGPA = ComboBoxPanel(self.grbParameters)
        self.cmbGPA.Caption = "Glide Path Angle"
        self.vLayout_grbParameters.addWidget(self.cmbGPA)

        self.txtRDH = AltitudeBoxPanel(self.grbParameters)
        self.txtRDH.CaptionUnits = "m"
        self.txtRDH.Caption = "ILS RDH at Threshold"
        self.txtRDH.Value = Altitude(15)
        self.vLayout_grbParameters.addWidget(self.txtRDH)

        self.cmbSelectionMode = ComboBoxPanel(self.grbParameters)
        self.cmbSelectionMode.Caption = "Selection Mode"
        self.vLayout_grbParameters.addWidget(self.cmbSelectionMode)

        self.cmbConstructionType = ComboBoxPanel(self.grbParameters)
        self.cmbConstructionType.Caption = "Construction Type"
        self.vLayout_grbParameters.addWidget(self.cmbConstructionType)

        self.groupBox_3 = QtGui.QGroupBox(self.grbParameters)
        self.groupBox_3.setObjectName(_fromUtf8("groupBox_3"))
        self.horizontalLayout_6 = QtGui.QHBoxLayout(self.groupBox_3)
        self.horizontalLayout_6.setSpacing(0)
        self.horizontalLayout_6.setMargin(0)
        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
        self.frame_8 = QtGui.QFrame(self.groupBox_3)
        self.frame_8.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_8.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_8.setObjectName(_fromUtf8("frame_8"))
        self.verticalLayout_14 = QtGui.QVBoxLayout(self.frame_8)
        self.verticalLayout_14.setContentsMargins(6, 0, -1, -1)
        self.verticalLayout_14.setObjectName(_fromUtf8("verticalLayout_14"))

        self.cmbAcCategory = ComboBoxPanel(self.frame_8)
        self.cmbAcCategory.Caption = "Category"
        self.cmbAcCategory.LabelWidth = 194
        self.verticalLayout_14.addWidget(self.cmbAcCategory)

        self.txtHL = AltitudeBoxPanel(self.frame_8)
        self.txtHL.CaptionUnits = "m"
        self.txtHL.Caption = "Height Loss"
        self.txtHL.Value = Altitude(40)
        self.txtHL.LabelWidth = 194
        self.verticalLayout_14.addWidget(self.txtHL)

        self.horizontalLayout_6.addWidget(self.frame_8)
        self.vLayout_grbParameters.addWidget(self.groupBox_3)
        self.vLayoutTabIls.addWidget(self.grbParameters)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        Form.setWindowTitle(_translate("Form", "Form", None))
        self.grbParameters.setTitle(_translate("Form", "Parameters", None))
        # self.label_73.setText(_translate("Form", "In-bound Track ():", None))
        # self.txtTrack.setText(_translate("Form", "0", None))
        # self.label_69.setText(_translate("Form", "Glide Path Angle:", None))
        # self.txtRDH.setText(_translate("Form", "15", None))
        # self.label_4.setText(_translate("Form", "ILS RDH at Threshold(m):", None))
        # self.label_68.setText(_translate("Form", "Selection Mode:", None))
        # self.label_8.setText(_translate("Form", "Construction Type:", None))
        self.groupBox_3.setTitle(_translate("Form", "Aircraft", None))
class PinSVisualSegmentDepDlg(FlightPlanBaseDlg):
    def __init__(self, parent):
        QDialog.__init__(self, parent)
        self.ui = ui_PinSVisualSegmentDepDlg()
        self.ui.setupUi(self)
        self.surfaceType = SurfaceTypes.PinSVisualSegmentDep
        QgisHelper.matchingDialogSize(self, 700, 650)
        ''' UI State Initialize '''
        #         self.ui.btnOpenData.setDisabled(True)
        #         self.ui.btnSaveData.setDisabled(True)
        self.ui.btnExportResult.setDisabled(True)
        self.ui.btnEvaluate.setEnabled(False)
        self.ui.btnUpdateQA.setVisible(False)
        self.ui.btnUpdateQA_2.setVisible(False)

        self.pnlMCAH = MCAHPanel(self.ui.groupBox_20)
        self.pnlMCAH.lblMCAH.setText("Minimum (ft):")
        self.pnlMCAH.setValue(Altitude(500, AltitudeUnits.FT))
        self.ui.verticalLayout_5.insertWidget(4, self.pnlMCAH)
        self.ui.cmbSegmentType.Items = [
            PinsVisualSegmentType.Direct, PinsVisualSegmentType.Manoeuvring
        ]
        self.ui.cmbDepartureType.Items = [
            PinsOperationType.DayOnly, PinsOperationType.DayNight
        ]
        self.ui.cmbDepartureType.SelectedIndex = 1
        #         self.ui.cmbMCAH.addItems([MCAHType.MCA, MCAHType.MCH])
        self.ui.cmbDepartureType.Visible = False
        self.ui.txtTakeOffSurfaceTrack.Visible = False
        self.ui.frame_Limitation.hide()

        self.pnlHRP = PositionPanel(self.ui.grbIDF)
        self.pnlHRP.groupBox.setTitle("Heliport Reference point (HRP)")
        self.pnlHRP.btnCalculater.hide()
        self.pnlHRP.setObjectName("positionHRP")
        self.ui.verticalLayout_HRP.insertWidget(0, self.pnlHRP)
        self.connect(self.pnlHRP, SIGNAL("positionChanged"),
                     self.initResultPanel)

        self.pnlIDF = PositionPanel(self.ui.grbIDF)
        self.pnlIDF.groupBox.setTitle("")
        self.pnlIDF.hideframe_Altitude()
        self.pnlIDF.setObjectName("positionIDF")
        self.pnlIDF.btnCalculater.hide()
        self.ui.verticalLayout_IDF.insertWidget(0, self.pnlIDF)
        self.connect(self.pnlIDF, SIGNAL("positionChanged"),
                     self.initResultPanel)

        self.ui.cmbConstructionType.Items = [
            ConstructionType.Construct2D, ConstructionType.Construct3D
        ]
        self.ui.tblObstacles.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.ui.tblObstacles.setSortingEnabled(True)
        '''Event Handlers Connect'''
        self.ui.btnOpenData.clicked.connect(self.openData)
        self.ui.btnSaveData.clicked.connect(self.saveData)
        self.connect(self.ui.cmbSegmentType, SIGNAL("Event_0"),
                     self.chbLeftTurnProhibited_Click)
        self.connect(self.ui.cmbDepartureType, SIGNAL("Event_0"),
                     self.chbLeftTurnProhibited_Click)
        self.connect(self.ui.txtVSDG, SIGNAL("Event_0"),
                     self.chbLeftTurnProhibited_Click)
        self.connect(self.ui.txtTakeOffSurfaceTrack, SIGNAL("Event_0"),
                     self.chbLeftTurnProhibited_Click)
        # self.ui.btnCaptureSurfaceTrack.clicked.connect(self.method_39)
        self.ui.chbLeftTurnProhibited.clicked.connect(
            self.chbLeftTurnProhibited_Click)
        self.ui.chbRightTurnProhibited.clicked.connect(
            self.chbLeftTurnProhibited_Click)
        # self.ui.btnCaptureTrackFrom.clicked.connect(self.method_37)
        self.pnlIDF.txtPointX.textChanged.connect(
            self.chbLeftTurnProhibited_Click)
        self.pnlIDF.txtPointY.textChanged.connect(
            self.chbLeftTurnProhibited_Click)
        self.pnlHRP.txtPointX.textChanged.connect(
            self.chbLeftTurnProhibited_Click)
        self.pnlHRP.txtPointY.textChanged.connect(
            self.chbLeftTurnProhibited_Click)
        self.pnlHRP.txtAltitudeM.textChanged.connect(
            self.chbLeftTurnProhibited_Click)
        self.ui.btnClose.clicked.connect(self.reject)
        self.ui.btnClose_2.clicked.connect(self.reject)
        self.ui.btnConstruct.clicked.connect(self.btnConstruct_Click)
        self.ui.btnEvaluate.clicked.connect(self.btnEvaluate_Click)
        self.ui.cmbSurface.currentIndexChanged.connect(self.cmbSurfaceChanged)
        self.ui.btnExportResult.clicked.connect(self.exportResult)
        self.obstaclesModel = None

        lstTextControls = self.ui.groupBox_20.findChildren(QLineEdit)
        for ctrl in lstTextControls:
            ctrl.textChanged.connect(self.initResultPanel)

        lstComboControls = self.ui.groupBox_20.findChildren(QComboBox)
        for ctrl in lstComboControls:
            ctrl.currentIndexChanged.connect(self.initResultPanel)

    def initResultPanel(self):
        self.ui.btnEvaluate.setEnabled(False)
        self.ui.btnExportResult.setEnabled(False)
        if self.obstaclesModel != None:
            self.obstaclesModel.clear()

    def cmbSurfaceChanged(self):
        if self.obstaclesModel == None:
            return
        if self.ui.cmbSurface.currentIndex(
        ) == 0 and self.ui.cmbSurface.currentText() == "All":
            self.obstaclesModel.setFilterFixedString("")
        else:
            self.obstaclesModel.setFilterFixedString(
                self.ui.cmbSurface.currentText())

    def btnEvaluate_Click(self):
        try:
            self.obstaclesModel = PinSVisualSegmentDepObstacles(
                [self.pinSVisualSegmentDepManouvering])
            rnpArMapLayers = QgisHelper.getSurfaceLayers(
                SurfaceTypes.PinSVisualSegmentDep)
            self.obstaclesModel.loadObstacles(rnpArMapLayers)
            self.obstaclesModel.setLocateBtn(self.ui.btnLocate)
            self.ui.tblObstacles.setModel(self.obstaclesModel)
            self.obstaclesModel.setTableView(self.ui.tblObstacles)
            self.obstaclesModel.setHiddenColumns(self.ui.tblObstacles)
            self.ui.cmbSurface.setCurrentIndex(0)
            self.ui.tabControls.setCurrentIndex(1)

            self.ui.cmbSurface.clear()
            if self.ui.cmbSegmentType.SelectedIndex != 0:
                self.ui.cmbSurface.addItems([
                    "All", PinsSurfaceType.PinsSurfaceType_LevelOIS,
                    PinsSurfaceType.PinsSurfaceType_OCS
                ])
            else:
                self.ui.cmbSurface.addItem("All")
                self.ui.cmbSurface.addItem(PinsSurfaceType.PinsSurfaceType_OIS)
            self.ui.btnExportResult.setEnabled(True)
#             raise ValueError, ""
        except UserWarning as e:
            QMessageBox.warning(self, "Information", e.message)

    def method_27(self, bool_0):
        if not self.pnlIDF.IsValid():
            raise UserWarning, "IDF poisition value is incorrect. "
        # if (self.ui.cmbSegmentType.SelectedIndex == 0):
        #     self.valueValidate(self.ui.txtTrackFrom, "Track From")
        # self.valueValidate(self.ui.txtMOC, "Moc")
        if not self.pnlHRP.IsValid():
            raise UserWarning, "HRP poisition value is incorrect."
        # self.valueValidate(self.ui.txtHSAL, "Safety Area Length")
        # self.valueValidate(self.ui.txtHSAW, "Safety Area Width")
        # if self.valueValidate(self.ui.txtVSDG, "VSDG") and float(self.ui.txtVSDG.text()) < 5:
        #     raise UserWarning ,Validations.VALUE_CANNOT_BE_SMALLER_THAN%5
        # if (self.ui.cmbSegmentType.SelectedIndex== 1):
        #     self.valueValidate(self.ui.txtTakeOffSurfaceTrack.txtRadialPlan, "TakeOffSurfaceTrack")
        self.valueValidate(self.pnlMCAH.txtMCAH, "Minimum")
        return True

    def method_29(self):
        self.ui.cmbSurface.clear()

    def method_32(self):
        self.ui.cmbDepartureType.Visible = self.ui.cmbSegmentType.SelectedIndex == 1
        self.ui.txtTakeOffSurfaceTrack.Visible = self.ui.cmbSegmentType.SelectedIndex == 1
        self.ui.txtTrackFrom.Visible = self.ui.cmbSegmentType.SelectedIndex == 0
        self.ui.txtMOC.Visible = self.ui.cmbSegmentType.SelectedIndex == 0
        self.ui.frame_Limitation.setVisible(
            self.ui.cmbSegmentType.SelectedIndex == 1)

    def method_33(self):
        turnDirection = []
        try:
            if (self.ui.cmbSegmentType.SelectedIndex == 1):
                point3d = self.pnlIDF.getPoint3D()
                point3d1 = self.pnlHRP.getPoint3D()
                num = Unit.smethod_1(MathHelper.getBearing(point3d, point3d1))
                num1 = self.smethod_17(
                    self.ui.txtTakeOffSurfaceTrack.txtRadialPlan.numberBox)
                MathHelper.smethod_77(num, num1, AngleUnits.Degrees,
                                      turnDirection)

                if (turnDirection[0] == TurnDirection.Left):
                    pass
#                     self.ui.chbLeftTurnProhibited.setVisible(False)
#                     self.ui.chbRightTurnProhibited.setVisible(True)
                elif (turnDirection[0] != TurnDirection.Right):
                    #                     self.ui.chbLeftTurnProhibited.setVisible(True)
                    #                     self.ui.chbRightTurnProhibited.setVisible(True)
                    if (self.ui.chbLeftTurnProhibited.isChecked()
                            and self.ui.chbRightTurnProhibited.isChecked()):
                        self.ui.chbRightTurnProhibited.setChecked(False)
                else:
                    pass
#                     self.ui.chbRightTurnProhibited.setVisible(False)
#                     self.ui.chbLeftTurnProhibited.setVisible(True)
        except:
            pass

    # def method_37(self):
    #     CaptureBearingTrackFrom = CaptureBearingTool(define._canvas, self.ui.txtTrackFrom)
    #     define._canvas.setMapTool(CaptureBearingTrackFrom)
    # def method_39(self):
    #     CaptureBearingSurfaceTrack = CaptureBearingTool(define._canvas, self.ui.txtTakeOffSurfaceTrack)
    #     define._canvas.setMapTool(CaptureBearingSurfaceTrack)
    def chbLeftTurnProhibited_Click(self):
        sender = self.sender()
        if sender == self.ui.cmbSegmentType:
            self.method_32()
        elif (sender == self.pnlIDF.txtPointX
              or sender == self.pnlIDF.txtPointY):
            self.method_33()
        elif (sender == self.pnlHRP.txtPointX
              or sender == self.pnlHRP.txtPointY
              or sender == self.pnlHRP.txtAltitudeM):
            self.method_33()
        elif (sender == self.ui.txtTakeOffSurfaceTrack):
            self.method_33()
        elif ((sender == self.ui.chbLeftTurnProhibited
               or sender == self.ui.chbRightTurnProhibited)
              and self.ui.cmbSegmentType.SelectedIndex == 1):
            if (sender == self.ui.chbLeftTurnProhibited):
                if (self.ui.chbRightTurnProhibited.isVisible()):
                    self.ui.chbRightTurnProhibited.setChecked(False)
            elif (sender == self.ui.chbRightTurnProhibited
                  and self.ui.chbLeftTurnProhibited.isVisible()):
                self.ui.chbLeftTurnProhibited.setChecked(False)
        self.method_29()

    def smethod_17(self, txtBox):
        try:
            value1 = float(txtBox.text())
            return value1
        except:
            return 0

    def btnConstruct_Click(self):
        flag = FlightPlanBaseDlg.btnConstruct_Click(self)
        if not flag:
            return
        try:
            self.method_27(True)
            if (self.ui.cmbSegmentType.SelectedIndex != 0):
                self.pinSVisualSegmentDepManouvering = PinSVisualSegmentDepManouvering(
                    self)
            else:
                self.pinSVisualSegmentDepManouvering = PinSVisualSegmentDepDirect(
                    self)

            layersList = []
            if self.ui.cmbConstructionType.SelectedItem != ConstructionType.Construct2D:
                self.pinSVisualSegmentDepManouvering.imethod_2(layersList)
            else:
                self.pinSVisualSegmentDepManouvering.imethod_1(layersList)

            QgisHelper.appendToCanvas(define._canvas, layersList,
                                      SurfaceTypes.PinSVisualSegmentDep)
            QgisHelper.zoomToLayers(layersList)
            self.resultLayerList = layersList
            self.ui.btnEvaluate.setEnabled(True)
        except UserWarning as e:
            QMessageBox.warning(self, "Error", e.message)

    def valueValidate(self, txtBox, title):
        try:
            value = float(txtBox.text())
            return True
        except ValueError:
            raise UserWarning, "%s Value is not correct " % title

    def exportResult(self):
        result, resultHideColumnNames = FlightPlanBaseDlg.exportResult(self)
        if not result:
            return

        filePathDir = QFileDialog.getSaveFileName(
            self, "Export Obstacle Data",
            QCoreApplication.applicationDirPath(),
            "ExportObstaclefiles(*.xml)")
        if filePathDir == "":
            return
        if self.ui.cmbSegmentType.SelectedIndex != 0:
            self.filterList = [
                "", PinsSurfaceType.PinsSurfaceType_LevelOIS,
                PinsSurfaceType.PinsSurfaceType_OCS
            ]
        else:
            self.filterList = ["", PinsSurfaceType.PinsSurfaceType_OIS]
#         self.ui.btnExportResult.setEnabled(True)

        parameterList = self.getParameterList()
        DataHelper.saveExportResult(filePathDir,
                                    "PinS Visual Segment for Departures",
                                    self.ui.tblObstacles, self.filterList,
                                    parameterList, resultHideColumnNames)
        self.obstaclesModel.setFilterFixedString(
            self.filterList[self.ui.cmbSurface.currentIndex()])


#         FlightPlanBaseDlg.exportResult()

    def getParameterList(self):
        parameterList = []
        parameterList.append(("general", "group"))
        parameterList.append(("Parameters", "group"))
        parameterList.append(
            ("Visual Segment Type", self.ui.cmbSegmentType.SelectedItem))
        parameterList.append(
            ("VSDG", str(self.ui.txtVSDG.Value.Percent) + " %"))
        parameterList.append(
            ("Minimum(%s)" % self.pnlMCAH.cmbMCAH.currentText(),
             self.pnlMCAH.txtMCAH.text() + " ft"))
        parameterList.append(
            ("Construction Type", self.ui.cmbConstructionType.SelectedItem))
        if self.ui.cmbSegmentType.SelectedIndex != 0:
            parameterList.append(
                ("Departure Type", self.ui.cmbDepartureType.SelectedItem))
            parameterList.append(
                ("Out-bound Take-off Surface Track",
                 "Plan : " + str(self.parametersPanel.txtTakeOffSurfaceTrack.
                                 txtRadialPlan.Value) + define._degreeStr))
            parameterList.append(
                ("", "Geodetic : " +
                 str(self.parametersPanel.txtTakeOffSurfaceTrack.
                     txtRadialGeodetic.Value) + define._degreeStr))

            # parameterList.append(("Out-bound Take-off Surface Track", self.ui.txtTakeOffSurfaceTrack.Value + unicode(" °", "utf-8")))
            if self.ui.chbRightTurnProhibited.isChecked():
                parameterList.append(("Limitation", "Right turn prohibited"))
            else:
                parameterList.append(("Limitation", "Left turn prohibited"))
        else:
            parameterList.append(
                ("MOC", str(self.ui.txtMOC.Value.Metres) + " m"))
            parameterList.append(("", str(self.ui.txtMOC.Value.Feet) + " ft"))

        parameterList.append(("Initial Departure Fix (IDF)", "group"))
        #         parameterList.append(("X", self.pnlIDF.txtPointX.text()))
        #         parameterList.append(("Y", self.pnlIDF.txtPointY.text()))
        DataHelper.pnlPositionParameter(self.pnlIDF, parameterList)
        if self.ui.cmbSegmentType.SelectedIndex == 0:
            parameterList.append(
                ("Track From",
                 "Plan : " + str(self.ui.txtTrackFrom.txtRadialPlan.Value) +
                 define._degreeStr))
            parameterList.append(
                ("", "Geodetic : " +
                 str(self.ui.txtTrackFrom.txtRadialGeodetic.Value) +
                 define._degreeStr))

            # parameterList.append(("Track From", self.ui.txtTrackFrom.Value + unicode(" °", "utf-8")))

        parameterList.append(("Heliport", "group"))
        DataHelper.pnlPositionParameter(self.pnlHRP, parameterList)
        parameterList.append(
            ("Safety Area Length", str(self.ui.txtHSAL.Value.Metres) + " m"))
        parameterList.append(
            ("Safety Area Width", str(self.ui.txtHSAW.Value.Metres) + " m"))

        parameterList.append(("Results / Checked Obstacles", "group"))

        parameterList.append(("Checked Obstacles", "group"))

        for strFilter in self.filterList:
            self.obstaclesModel.setFilterFixedString(strFilter)
            c = self.obstaclesModel.rowCount()
            parameterList.append(
                ("Number of Checked Obstacles(%s)" % strFilter, str(c)))
        return parameterList
Exemple #13
0
class DlgAixmNewDPN(QDialog):
    def __init__(self, parent=None):
        QDialog.__init__(self, parent)

        self.resize(290, 136)
        self.setWindowTitle("Instrument Approach Procedure (IAP)")
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
        self.setSizePolicy(sizePolicy)
        verticalLayoutDlg = QVBoxLayout(self)
        verticalLayoutDlg.setObjectName(("verticalLayoutDlg"))

        self.groupBox1 = GroupBox(self)
        verticalLayoutDlg.addWidget(self.groupBox1)

        self.pnlCodeId = TextBoxPanel(self.groupBox1)
        self.pnlCodeId.Caption = "Code ID"
        self.groupBox1.Add = self.pnlCodeId

        self.pnlCodeType = ComboBoxPanel(self.groupBox1)
        self.pnlCodeType.Caption = "Code Type"
        self.groupBox1.Add = self.pnlCodeType

        self.pnlPosition = PositionPanel(self.groupBox1, None, None, "Degree")
        self.pnlPosition.hideframe_Altitude()
        self.pnlPosition.btnCalculater.hide()
        self.groupBox1.Add = self.pnlPosition

        self.pnlLocation = ComboBoxPanel(self.groupBox1)
        self.pnlLocation.Caption = "Location"
        self.groupBox1.Add = self.pnlLocation

        self.pnlAssociation = ComboBoxPanel(self.groupBox1)
        self.pnlAssociation.Caption = "Associated With"
        self.groupBox1.Add = self.pnlAssociation

        self.pnlName = TextBoxPanel(self.groupBox1)
        self.pnlName.Caption = "Name"
        self.groupBox1.Add = self.pnlName

        self.txtRemarks = TextBoxPanel(self.groupBox1, True)
        self.txtRemarks.Caption = "Remarks"
        self.groupBox1.Add = self.txtRemarks

        self.btnBoxOkCancel = QDialogButtonBox(self)
        self.btnBoxOkCancel.setObjectName(("btnBoxOkCancel"))
        self.btnBoxOkCancel.setStandardButtons(QDialogButtonBox.Cancel
                                               | QDialogButtonBox.Ok)
        btnOK = self.btnBoxOkCancel.button(QDialogButtonBox.Ok)
        btnOK.setText("Create")
        self.connect(self.btnBoxOkCancel, SIGNAL("accepted()"), self.acceptDlg)
        self.connect(self.btnBoxOkCancel, SIGNAL("rejected()"), self.reject)

        self.connect(self.pnlAssociation, SIGNAL("Event_0"), self.method_8)
        self.connect(self.pnlLocation, SIGNAL("Event_0"), self.method_7)

        verticalLayoutDlg.addWidget(self.btnBoxOkCancel)

        self.data = None
        self.dbEntry = None

        self.pnlCodeType.Items = CodeTypeDesigPtAixm.Items

    def acceptDlg(self):
        degree = None
        degree1 = None
        # this.errorProvider.method_1();
        # this.pnlCodeId.method_0();
        # # this.pnlPosition.method_6();
        # if (self.pnlCodeType.method_0())
        # {
        codeTypeDesigPtAixm = self.pnlCodeType.SelectedItem
        if (codeTypeDesigPtAixm == CodeTypeDesigPtAixm.ICAO):
            # if (self.pnlCodeId.method_0())
            # {
            procEntityBases = self.data.method_54(self.pnlCodeId.Value)
            if (procEntityBases != None and len(procEntityBases) > 0):
                self.pnlCodeId.method_2(Validations.UNIQUE_IDENTIFIER_REQUIRED)
                return
        elif (codeTypeDesigPtAixm == CodeTypeDesigPtAixm.ADHP):
            if (self.pnlLocation.SelectedIndex < 1
                    and self.pnlAssociation.SelectedIndex < 1):
                err = self.pnlLocation.Caption + " : \n" + \
                    Validations.PLEASE_SELECT_AN_ITEM + "\n" + \
                    self.pnlAssociation.Caption + " : \n" + \
                    Validations.PLEASE_SELECT_AN_ITEM
                QMessageBox.warning(self, "Warning", err)
                return
            elif (self.pnlAssociation.SelectedIndex > 0):
                procEntityBases1 = self.data.method_55(
                    self.pnlCodeId.Value, self.pnlAssociation.SelectedItem)
                if (procEntityBases1 != None and procEntityBases1.Count > 0):
                    self.pnlCodeId.method_2(
                        Validations.UNIQUE_IDENTIFIER_REQUIRED)
                    return
        value = self.pnlCodeId.Value
        result, degree, degree1 = self.pnlPosition.method_3()
        if (self.data.method_57(
                self.pnlCodeId.Value,
                Degrees(degree1, None, None, DegreesType.Latitude),
                Degrees(degree, None, None, DegreesType.Longitude)) != None):
            strS = "Cannot create a duplicate DPN entry.\n\nCodeID = {0}\nLatitude = {1}\nLongitude = {2}".format(
                value, str(degree), str(degree1))
            QMessageBox.warning(self, "Error", strS)
            return
        codeTypeDesigPtAixm1 = self.pnlCodeType.SelectedItem
        self.dbEntry = ProcEntityDPN(
            value,
            Degrees(degree1, None, None,
                    DegreesType.Latitude).method_1("ddmmss.ssssh"),
            Degrees(degree, None, None,
                    DegreesType.Longitude).method_1("dddmmss.ssssh"),
            self.pnlAssociation.SelectedItem, self.pnlLocation.SelectedItem,
            codeTypeDesigPtAixm1, self.pnlName.Value, self.txtRemarks.Value,
            True)
        self.data.method_52(self.dbEntry)
        self.accept()

    def method_8(self):
        self.pnlLocation.SelectedIndex = -1

    def method_7(self):
        self.pnlAssociation.SelectedIndex = -1

    @staticmethod
    def smethod_0(dataBaseProcedureData_0, degrees_0, degrees_1):
        flag = False
        procEntityBase_0 = None
        dlgAixmNewDPN = DlgAixmNewDPN()
        dlgAixmNewDPN.data = dataBaseProcedureData_0
        dataBaseProcedureData_0.method_59(dlgAixmNewDPN.pnlLocation,
                                          ProcEntityListType.LocationsDPN)
        dataBaseProcedureData_0.method_59(dlgAixmNewDPN.pnlAssociation,
                                          ProcEntityListType.AHPs)
        dlgAixmNewDPN.pnlPosition.method_5(degrees_0, degrees_1)
        resultDlg = dlgAixmNewDPN.exec_()
        if (resultDlg == 0):
            flag = False
        else:
            procEntityBase_0 = dlgAixmNewDPN.dbEntry
            flag = True
        return flag, procEntityBase_0
Exemple #14
0
class Ui_HeliportSurfacesGeneral(object):
    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.vlForm.setSpacing(0)
        self.vlForm.setMargin(0)

        self.gbFato = GroupBox(Form)
        self.gbFato.Caption = "Final Approach && Take Off area (FATO)"
        self.vlForm.addWidget(self.gbFato)

        self.pnlRunwayGroup = Frame(self.gbFato, "HL")
        self.gbFato.Add = self.pnlRunwayGroup

        self.pnlFato = ComboBoxPanel(self.pnlRunwayGroup, False, True)
        self.pnlFato.Caption = ""
        self.pnlFato.LabelWidth = 15
        self.pnlRunwayGroup.Add = self.pnlFato

        self.btnFatoAdd = QtGui.QPushButton(self.pnlRunwayGroup)
        self.btnFatoAdd.setObjectName("btnFatoAdd")
        self.btnFatoAdd.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/add.png"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.btnFatoAdd.setIcon(icon)
        self.pnlRunwayGroup.Add = self.btnFatoAdd

        self.btnFatoModify = QtGui.QPushButton(self.pnlRunwayGroup)
        self.btnFatoModify.setObjectName("btnFatoModify")
        self.btnFatoModify.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/mIconEditableEdits.png"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnFatoModify.setIcon(icon)
        self.pnlRunwayGroup.Add = self.btnFatoModify

        self.btnFatoRemove = QtGui.QPushButton(self.pnlRunwayGroup)
        self.btnFatoRemove.setObjectName("btnFatoRemove")
        self.btnFatoRemove.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/remove.png"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnFatoRemove.setIcon(icon)
        self.pnlRunwayGroup.Add = self.btnFatoRemove

        self.gbParameters = GroupBox(Form)
        self.gbParameters.Caption = "Parameters"
        self.vlForm.addWidget(self.gbParameters)

        self.pnlTurningTakeOffTrack = TrackRadialBoxPanel(self.gbParameters)
        self.pnlTurningTakeOffTrack.Caption = "Turning Take-off Climb In-bound Track"
        self.pnlTurningTakeOffTrack.LabelWidth = 230
        self.gbParameters.Add = self.pnlTurningTakeOffTrack

        self.pnlTurningTakeOffCenter = PositionPanel(self.gbParameters)
        self.pnlTurningTakeOffCenter.Caption = "Turning Take-off Climb Center Position"
        self.pnlTurningTakeOffCenter.hideframe_Altitude()
        self.pnlTurningTakeOffCenter.btnCalculater.setVisible(False)
        self.gbParameters.Add = self.pnlTurningTakeOffCenter

        self.pnlTurningTakeOff = ComboBoxPanel(self.gbParameters)
        self.pnlTurningTakeOff.Caption = "Take-off Climb Surface Involving a Turn"
        self.pnlTurningTakeOff.LabelWidth = 230
        self.gbParameters.Add = self.pnlTurningTakeOff

        self.pnlTurningApproachTrack = TrackRadialBoxPanel(self.gbParameters)
        self.pnlTurningApproachTrack.Caption = "Turning Approach In-bound Track"
        self.pnlTurningApproachTrack.LabelWidth = 230
        self.gbParameters.Add = self.pnlTurningApproachTrack

        self.pnlTurningApproachCenter = PositionPanel(self.gbParameters)
        self.pnlTurningApproachCenter.Caption = "Turning Approach Center Position"
        self.pnlTurningApproachCenter.hideframe_Altitude()
        self.pnlTurningApproachCenter.btnCalculater.setVisible(False)
        self.gbParameters.Add = self.pnlTurningApproachCenter

        self.pnlTurningApproach = ComboBoxPanel(self.gbParameters)
        self.pnlTurningApproach.Caption = "Approach Surface Involving a Turn"
        self.pnlTurningApproach.LabelWidth = 230
        self.gbParameters.Add = self.pnlTurningApproach

        self.pnlSlopeCategory = ComboBoxPanel(self.gbParameters)
        self.pnlSlopeCategory.Caption = "Slope Category"
        self.pnlSlopeCategory.LabelWidth = 230
        self.gbParameters.Add = self.pnlSlopeCategory

        self.pnlUsage = ComboBoxPanel(self.gbParameters)
        self.pnlUsage.Caption = "Usage"
        self.pnlUsage.LabelWidth = 230
        self.gbParameters.Add = self.pnlUsage

        self.pnlHeightAboveFATO = ComboBoxPanel(self.gbParameters)
        self.pnlHeightAboveFATO.Caption = "Height Above FATO"
        self.pnlHeightAboveFATO.LabelWidth = 230
        self.gbParameters.Add = self.pnlHeightAboveFATO

        self.pnlApproachAngle = ComboBoxPanel(self.gbParameters)
        self.pnlApproachAngle.Caption = "Approach Angle"
        self.pnlApproachAngle.LabelWidth = 230
        self.gbParameters.Add = self.pnlApproachAngle

        self.pnlApproachType = ComboBoxPanel(self.gbParameters)
        self.pnlApproachType.Caption = "Approach Type"
        self.pnlApproachType.LabelWidth = 230
        self.gbParameters.Add = self.pnlApproachType

        self.pnlCriteriaGroup = Frame(self.gbParameters, "HL")
        self.gbParameters.Add = self.pnlCriteriaGroup

        self.pnlCriteria = ComboBoxPanel(self.pnlCriteriaGroup, False, True)
        self.pnlCriteria.Caption = "Criteria"
        self.pnlCriteria.LabelWidth = 70
        self.pnlCriteriaGroup.Add = self.pnlCriteria

        self.btnCriteriaModify = QtGui.QPushButton(self.pnlCriteriaGroup)
        self.btnCriteriaModify.setObjectName("btnCriteriaModify")
        self.btnCriteriaModify.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/mIconEditableEdits.png"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnCriteriaModify.setIcon(icon)
        self.pnlCriteriaGroup.Add = self.btnCriteriaModify

        self.btnCriteriaRemove = QtGui.QPushButton(self.pnlCriteriaGroup)
        self.btnCriteriaRemove.setObjectName("btnCriteriaRemove")
        self.btnCriteriaRemove.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Resource/remove.png"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnCriteriaRemove.setIcon(icon)
        self.pnlCriteriaGroup.Add = self.btnCriteriaRemove

        self.gbConstruction = GroupBox(Form)
        self.gbConstruction.Caption = "Construction"
        self.vlForm.addWidget(self.gbConstruction)

        self.pnlMarkAltitudes = Frame(self.gbConstruction, "HL")
        self.gbConstruction.Add = self.pnlMarkAltitudes

        self.chbMarkAltitudes = CheckBox(self.pnlMarkAltitudes)
        self.chbMarkAltitudes.Caption = "Mark Contour Altitudes"
        self.pnlMarkAltitudes.Add = self.chbMarkAltitudes

        self.pnlAltitudesEvery = AltitudeBoxPanel(self.pnlMarkAltitudes)
        self.pnlAltitudesEvery.CaptionUnits = "m"
        self.pnlAltitudesEvery.Caption = "Every"
        self.pnlAltitudesEvery.Value = Altitude(15)
        self.pnlAltitudesEvery.LabelWidth = 62
        self.pnlMarkAltitudes.Add = self.pnlAltitudesEvery

        self.pnlConstructionType = ComboBoxPanel(self.gbConstruction)
        self.pnlConstructionType.Caption = "Construction Type"
        self.pnlConstructionType.LabelWidth = 230
        self.gbConstruction.Add = self.pnlConstructionType
Exemple #15
0
class Ui_ApproachSegment(object):
    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 txtApproachSegmentType_Event_1(self):
        rcRect = self.txtApproachSegmentType.imageButton.geometry()
        ptPoint = rcRect.bottomLeft()
        self.approachMenu.exec_(
            self.txtApproachSegmentType.mapToGlobal(ptPoint))

    def menuFinalClick(self):
        self.txtApproachSegmentType.Value = "Final Segment"
        self.pnlDistance.Caption = "Distance FAF - MAPt"
        self.gbNavAid.Caption = "Navigational Aid"
        self.pnlDerPos.Caption = "Approach THR Position"
        self.pnlFafPos.Caption = "FAF Position"
        self.pnlMaptPos.Caption = "MAPt Position"
        self.pnlDerPos.frameAltitude.setVisible(True)
        self.cmbNavAidType.Visible = True
        self.cmbBasedOn.Value = True
        # self.cmbRwyDir.Visible = True
    def menuInterStrightClick(self):
        self.txtApproachSegmentType.Value = "Intermediate Segment Straight"
        self.pnlFafPos.Caption = "IF Position"
        self.pnlMaptPos.Caption = "FAF Position"
        self.pnlDerPos.Caption = "MApt Position"
        self.pnlDerPos.hideframe_Altitude()
        self.pnlDistance.Caption = "Distance IF - FAF"
        self.gbNavAid.Caption = "Navigational Aid"
        self.cmbNavAidType.Visible = True
        self.cmbBasedOn.Value = True
        # self.cmbRwyDir.Visible = True
    def menuInterWithIFClick(self):
        self.txtApproachSegmentType.Value = "Intermediate Segment With IF"

        self.pnlFafPos.Caption = "IF Position"
        self.pnlMaptPos.Caption = "FAF Position"
        self.pnlDerPos.Caption = "MApt Position"
        self.pnlDerPos.hideframe_Altitude()
        self.pnlDistance.Caption = "Distance IF - FAF"
        self.gbNavAid.Caption = "Navigational Aid"
        self.cmbNavAidType.Visible = True
        self.cmbBasedOn.Value = True
        # self.cmbRwyDir.Visible = True
    def menuInterWithNoIFClick(self):
        self.txtApproachSegmentType.Value = "Intermediate Segment With No IF"

        self.pnlFafPos.Caption = "Start Position"
        self.pnlMaptPos.Caption = "FAF Position"
        self.pnlDerPos.Caption = "MApt Position"
        self.pnlDerPos.hideframe_Altitude()
        self.pnlDistance.Caption = "Distance Start - FAF"
        self.gbNavAid.Caption = "Navigational Aid"
        self.cmbNavAidType.Visible = True
        self.cmbBasedOn.Value = True
        # self.cmbRwyDir.Visible = True
    def menuInitialStrightClick(self):
        self.txtApproachSegmentType.Value = "Initial Segment Straight"

        self.pnlFafPos.Caption = "IAF Position"
        self.pnlMaptPos.Caption = "IF Position"
        self.pnlDerPos.Caption = "FAF Position"
        self.pnlDerPos.hideframe_Altitude()
        self.pnlDistance.Caption = "Distance IAF - IF"
        self.gbNavAid.Caption = "Navigational Aid"
        self.cmbNavAidType.Visible = True
        self.cmbBasedOn.Value = True
        # self.cmbRwyDir.Visible = True
    def menuInitialDMEArcClick(self):
        self.txtApproachSegmentType.Value = "Initial Segment DME ARCS"

        self.pnlFafPos.Caption = "IAF Position"
        self.pnlMaptPos.Caption = "IF Position"
        self.pnlDerPos.Caption = "FAF Position"
        self.pnlDerPos.hideframe_Altitude()
        self.pnlDistance.Caption = "Distance IAF - IF"
        self.gbNavAid.Caption = "DME Position"
        self.cmbNavAidType.Visible = False
        self.cmbBasedOn.Value = False
Exemple #16
0
class Ui_ProfileManager(object):
    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.gbBaseLine = GroupBox(Form)
        self.gbBaseLine.Title = "Base Line"
        self.vlForm.addWidget(self.gbBaseLine)

        self.pnlBasePoint = PositionPanel(self.gbBaseLine)
        self.pnlBasePoint.btnCalculater.hide()
        self.pnlBasePoint.hideframe_Altitude()
        self.gbBaseLine.Add = self.pnlBasePoint

        self.pnlBaseAltitude = AltitudeBoxPanel(self.gbBaseLine)
        self.pnlBaseAltitude.CaptionUnits = "m"
        self.pnlBaseAltitude.Caption = "Altitude"
        self.pnlBaseAltitude.Value = Altitude(0)
        self.gbBaseLine.Add = self.pnlBaseAltitude

        self.cmbBaseOrientation = ComboBoxPanel(self.gbBaseLine)
        self.cmbBaseOrientation.Caption = "Orientation"
        self.gbBaseLine.Add = self.cmbBaseOrientation

        self.gbParameters = GroupBox(Form)
        self.gbParameters.Caption = "Parameters"
        self.gbParameters.layoutBoxPanel.setSpacing(9)
        self.vlForm.addWidget(self.gbParameters)

        self.pnlMode = ComboBoxPanel(self.gbParameters)
        self.pnlMode.Caption = "Mode (Obstacle Input)"
        self.gbParameters.Add = self.pnlMode

        self.pnlUsedFor = ComboBoxPanel(self.gbParameters)
        self.pnlUsedFor.Caption = "Used For"
        self.gbParameters.Add = self.pnlUsedFor

        self.pnlPDG = NumberBoxPanel(self.gbParameters)
        self.pnlPDG.CaptionUnits = "%"
        self.pnlPDG.Caption = "PDG"
        self.pnlPDG.Value = 3.3
        self.gbParameters.Add = self.pnlPDG

        self.pnlMOC = NumberBoxPanel(self.gbParameters)
        self.pnlMOC.CaptionUnits = "%"
        self.pnlMOC.Caption = "MOC"
        self.pnlMOC.Value = 0.8
        self.gbParameters.Add = self.pnlMOC

        self.pnlGP = NumberBoxPanel(self.gbParameters)
        self.pnlGP.CaptionUnits = "degree"
        self.pnlGP.Caption = "GP"
        self.pnlGP.Value = 3
        self.gbParameters.Add = self.pnlGP

        self.pnlRDH = AltitudeBoxPanel(self.gbParameters)
        self.pnlRDH.CaptionUnits = "m"
        self.pnlRDH.Caption = "RDH"
        self.pnlRDH.Value = Altitude(15)
        self.gbParameters.Add = self.pnlRDH

        self.gbConstruction = GroupBox(self.gbParameters)
        self.gbConstruction.layoutBoxPanel.setSpacing(9)
        self.gbConstruction.Caption = "Construction"
        self.gbParameters.Add = self.gbConstruction

        self.pnlLength = DistanceBoxPanel(self.gbConstruction, DistanceUnits.NM)
        self.pnlLength.Caption = "Length"
        self.pnlLength.Value = Distance(10, DistanceUnits.NM)
        self.gbConstruction.Add = self.pnlLength

        self.gbCustom = GroupBox(self.gbConstruction)
        self.gbCustom.Caption = "Custom Distance / Text"
        self.gbConstruction.Add = self.gbCustom

        p1 = Frame(self.gbCustom, "HL")
        self.gbCustom.Add = p1

        self.txtDist1 = DistanceBoxPanel(p1, DistanceUnits.NM)
        self.txtDist1.Caption = "Distance"
        self.txtDist1.Value = Distance(0, DistanceUnits.NM)
        self.txtDist1.Button = None
        p1.Add = self.txtDist1

        self.txtDist2 = DistanceBoxPanel(p1, DistanceUnits.NM)
        self.txtDist2.LabelWidth = 0
        self.txtDist2.Value = Distance(0, DistanceUnits.NM)
        self.txtDist2.Button = None
        p1.Add = self.txtDist2

        self.txtDist3 = DistanceBoxPanel(p1, DistanceUnits.NM)
        self.txtDist3.LabelWidth = 0
        self.txtDist3.Value = Distance(0, DistanceUnits.NM)
        self.txtDist3.Button = None
        p1.Add = self.txtDist3

        p2 = Frame(self.gbCustom, "HL")
        self.gbCustom.Add = p2

        self.txtText1 = TextBoxPanel(p2)
        self.txtText1.Caption = "Text"
        # self.txtText1.Value = "ABC"
        p2.Add = self.txtText1

        self.txtText2 = TextBoxPanel(p2)
        self.txtText2.LabelWidth = 0
        p2.Add = self.txtText2

        self.txtText3 = TextBoxPanel(p2)
        self.txtText3.LabelWidth = 0
        p2.Add = self.txtText3

        self.chbMarkDistances = QtGui.QCheckBox(self.gbConstruction)
        self.chbMarkDistances.setText("Mark Standard Distances")
        self.gbConstruction.Add = self.chbMarkDistances

        self.pnlThrDer = PositionPanel(self.gbParameters)
        self.pnlThrDer.Caption = "THR/DER Position"
        self.pnlThrDer.btnCalculater.hide()
        self.pnlThrDer.hideframe_Altitude()
        self.gbParameters.Add = self.pnlThrDer

        self.pnlOutbound = TrackRadialBoxPanel(self.gbParameters)
        self.pnlOutbound.Caption = "Outbound Track"
        self.gbParameters.Add = self.pnlOutbound

        self.pnlEtp = PositionPanel(self.gbParameters)
        self.pnlEtp.Caption = "ETP Position"
        self.pnlEtp.btnCalculater.hide()
        self.pnlEtp.hideframe_Altitude()
        self.gbParameters.Add = self.pnlEtp

        self.pnlHASP = AltitudeBoxPanel(self.gbParameters)
        self.pnlHASP.CaptionUnits = "m"
        self.pnlHASP.Value = Altitude(5)
        self.pnlHASP.Caption = "Height Above Start Point"
        self.gbParameters.Add = self.pnlHASP

        self.pnlTA = AltitudeBoxPanel(self.gbParameters)
        self.pnlTA.CaptionUnits = "m"
        self.pnlTA.Value = Altitude(300)
        self.pnlTA.Caption = "Turning Altitude"
        self.gbParameters.Add = self.pnlTA

        self.pnlClimbGradient = NumberBoxPanel(self.gbParameters)
        self.pnlClimbGradient.CaptionUnits = "%"
        self.pnlClimbGradient.Value = 3.3
        self.pnlClimbGradient.Caption = "Climb-out Gradient"
        self.gbParameters.Add = self.pnlClimbGradient

        self.chbMarkTA = QtGui.QCheckBox(self.gbParameters)
        self.chbMarkTA.setText("Mark Turning Altitude")
        self.gbParameters.Add = self.chbMarkTA

        self.chbDeparture = QtGui.QCheckBox(self.gbParameters)
        self.chbDeparture.setText("Departure")
        self.gbParameters.Add = self.chbDeparture

        self.chbPolyline = QtGui.QCheckBox(self.gbParameters)
        self.chbPolyline.setText("Draw Polyline")
        self.gbParameters.Add = self.chbPolyline

        self.pnlInput = Frame(self.gbParameters)
        self.pnlInput.Margin = 0
        self.gbParameters.Add = self.pnlInput

        self.chbUseTolerance = QtGui.QCheckBox(self.pnlInput)
        self.chbUseTolerance.setText("Use Tolerance")
        self.pnlInput.Add = self.chbUseTolerance

        pnlInput_0 = Frame(self.pnlInput, "HL")
        pnlInput_0.Margin = 0
        # pnlInput_0.layoutBoxPanel.setSpacing(100)
        self.pnlInput.Add = pnlInput_0

        self.chbWriteName = QtGui.QCheckBox(pnlInput_0)
        self.chbWriteName.setText("Write Name")
        self.chbWriteName.setMaximumWidth(200)
        self.chbWriteName.setMinimumWidth(200)
        pnlInput_0.Add = self.chbWriteName

        self.pnlTextHeight = NumberBoxPanel(pnlInput_0)
        self.pnlTextHeight.Caption = "Text Height"
        self.pnlTextHeight.LabelWidth = 100
        self.pnlTextHeight.Value = 8
        pnlInput_0.Add = self.pnlTextHeight
class DlgDetailDataEdit(QDialog):
    def __init__(self, parent, title, valueList=None):
        QDialog.__init__(self, parent)

        self.resize(100, 70)
        self.setWindowTitle(title)
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
        self.setSizePolicy(sizePolicy)
        verticalLayoutDlg = QVBoxLayout(self)
        verticalLayoutDlg.setObjectName(("verticalLayoutDlg"))

        self.frameBasic = Frame(self)
        verticalLayoutDlg.addWidget(self.frameBasic)

        self.pnlDetail = PositionPanel(self.frameBasic, None, None, "Degree")
        self.pnlDetail.btnCalculater.setVisible(False)
        self.pnlDetail.Caption = "Position"
        self.frameBasic.Add = self.pnlDetail

        self.pnlType = ComboBoxPanel(self.frameBasic)
        self.pnlType.Caption = "Type"
        self.pnlType.LabelWidth = 120
        self.frameBasic.Add = self.pnlType

        self.pnlCenter = PositionPanel(self.frameBasic, None, None, "Degree")
        self.pnlCenter.btnCalculater.setVisible(False)
        self.pnlCenter.Caption = "Center Position"
        self.pnlCenter.hideframe_Altitude()
        self.frameBasic.Add = self.pnlCenter

        self.pnlMagVariation = TextBoxPanel(self.frameBasic)
        self.pnlMagVariation.Caption = "Mag. Variation"
        self.pnlMagVariation.LabelWidth = 120
        self.frameBasic.Add = self.pnlMagVariation

        self.btnBoxOkCancel = QDialogButtonBox(self)
        self.btnBoxOkCancel.setObjectName(("btnBoxOkCancel"))
        self.btnBoxOkCancel.setStandardButtons(QDialogButtonBox.Cancel
                                               | QDialogButtonBox.Ok)
        self.connect(self.btnBoxOkCancel, SIGNAL("accepted()"), self.acceptDlg)
        self.connect(self.btnBoxOkCancel, SIGNAL("rejected()"), self.reject)

        verticalLayoutDlg.addWidget(self.btnBoxOkCancel)

        self.x = ""
        self.y = ""
        self.latitude = ""
        self.longitude = ""
        self.altitude = ""
        self.cenLatitude = ""
        self.cenLongitude = ""
        self.type = ""
        self.magVariation = ""

        self.pnlMagVariation.Visible = False
        self.pnlCenter.Visible = False
        self.pnlType.Items = [
            DataBaseCoordinateType.ArcPoint, DataBaseCoordinateType.CCA,
            DataBaseCoordinateType.CenPoint, DataBaseCoordinateType.CWA,
            DataBaseCoordinateType.FNT, DataBaseCoordinateType.GRC,
            DataBaseCoordinateType.MidPoint, DataBaseCoordinateType.Point
        ]

        if valueList != None:
            self.pnlDetail.Point3d = Point3D(
                float(valueList[1]), float(valueList[0]),
                float(valueList[2]) if
                (valueList[2] != None and valueList[2] != "") else 0.0)
            self.pnlType.Value = valueList[3]
            if title == "Modify Detail Airspace":
                if valueList[5] != None and valueList[5] != "":
                    self.pnlCenter.Point3d = Point3D(float(valueList[5]),
                                                     float(valueList[4]))
            elif title == "Modify Detail Routes":
                self.pnlMagVariation.Value = valueList[4]
        if title == "Modify Detail Airspace" or title == "Add Detail Airspace":
            self.pnlCenter.Visible = True
        elif title == "Modify Detail Routes" or title == "Add Detail Routes":
            self.pnlMagVariation.Visible = True

    def acceptDlg(self):
        if self.pnlDetail.Point3d != None and isinstance(
                self.pnlDetail.Point3d, Point3D):
            xyPoint = QgisHelper.CrsTransformPoint(
                self.pnlDetail.Point3d.get_X(), self.pnlDetail.Point3d.get_Y(),
                define._latLonCrs, define._xyCrs,
                self.pnlDetail.Point3d.get_Z())
            self.x = QString(str(xyPoint.get_X()))
            self.y = QString(str(xyPoint.get_Y()))
            self.latitude = QString(str(self.pnlDetail.Point3d.get_Y()))
            self.longitude = QString(str(self.pnlDetail.Point3d.get_X()))
            self.altitude = QString(str(self.pnlDetail.Altitude().Metres))
        if self.pnlCenter.Point3d != None and isinstance(
                self.pnlCenter.Point3d, Point3D):
            self.cenLatitude = QString(str(self.pnlCenter.Point3d.get_Y()))
            self.cenLongitude = QString(str(self.pnlCenter.Point3d.get_X()))
        self.magVariation = self.pnlMagVariation.Value
        self.type = self.pnlType.SelectedItem
        self.accept()
class Ui_FasDataBlock(object):
    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"))

        ######### ------- InPut Group -------------##########
        self.gbInput = GroupBox(Form)
        self.gbInput.Title = "Input Data"
        self.vlForm.addWidget(self.gbInput)

        self.pnlOperationType = ComboBoxPanel(self.gbInput)
        self.pnlOperationType.Caption = "Operation Type"
        self.gbInput.Add = self.pnlOperationType

        self.pnlSbasProvider = ComboBoxPanel(self.gbInput)
        self.pnlSbasProvider.Caption = "SBAS Provider"
        self.gbInput.Add = self.pnlSbasProvider

        self.pnlAirportId = TextBoxPanel(self.gbInput)
        self.pnlAirportId.Caption = "Airport Identifier"
        self.pnlAirportId.Value = "ESSP"
        self.gbInput.Add = self.pnlAirportId

        self.pnlRunway = Frame(self.gbInput, "HL")
        self.pnlRunway.Margin = 0
        self.gbInput.Add = self.pnlRunway

        self.txtRunwayDesignator = NumberBoxPanel(self.pnlRunway, "0")
        self.txtRunwayDesignator.Caption = "Runway"
        self.txtRunwayDesignator.Value = 19
        self.pnlRunway.Add = self.txtRunwayDesignator

        self.cmbRunwayLetter = ComboBoxPanel(self.pnlRunway)
        self.cmbRunwayLetter.Caption = ""
        self.pnlRunway.Add = self.cmbRunwayLetter

        self.pnlApproachPerformanceDesignator = ComboBoxPanel(self.gbInput)
        self.pnlApproachPerformanceDesignator.Caption = "Approach Performance Designator"
        self.gbInput.Add = self.pnlApproachPerformanceDesignator

        self.pnlRouteIndicator = ComboBoxPanel(self.gbInput)
        self.pnlRouteIndicator.Caption = "Route Indicator"
        self.gbInput.Add = self.pnlRouteIndicator

        self.pnlReferencePathDataSelector = NumberBoxPanel(self.gbInput, "0")
        self.pnlReferencePathDataSelector.Caption = "Reference Path Data Selector"
        self.pnlReferencePathDataSelector.Value = 1
        self.gbInput.Add = self.pnlReferencePathDataSelector

        self.pnlReferencePathId = TextBoxPanel(self.pnlRunway)
        self.pnlReferencePathId.Caption = "Reference Path Identifier"
        self.pnlReferencePathId.Value = "4klk"
        self.gbInput.Add = self.pnlReferencePathId

        self.gbLtpFtp = GroupBox(self.gbInput)
        self.gbLtpFtp.Caption = "LTP/FTP Position"
        self.gbInput.Add = self.gbLtpFtp

        self.pnlLtpFtp = PositionPanel(self.gbLtpFtp, None, None, "Degree")
        self.pnlLtpFtp.btnCalculater.hide()
        self.pnlLtpFtp.hideframe_Altitude()
        self.pnlLtpFtp.degreeFormat = "ddmmss.ssssH"
        self.gbLtpFtp.Add = self.pnlLtpFtp

        self.pnlLtpFtpEllipsoidalHeight = NumberBoxPanel(self.gbLtpFtp, "0.0")
        self.pnlLtpFtpEllipsoidalHeight.CaptionUnits = "m"
        self.pnlLtpFtpEllipsoidalHeight.Caption = "LTP/FTP Ellipsoidal Height"
        self.pnlLtpFtpEllipsoidalHeight.Value = 343
        self.gbLtpFtp.Add = self.pnlLtpFtpEllipsoidalHeight

        self.gbFpap = GroupBox(self.gbInput)
        self.gbFpap.Caption = "FPAP Position"
        self.gbInput.Add = self.gbFpap

        self.pnlFpap = PositionPanel(self.gbFpap, None, None, "Degree")
        self.pnlFpap.btnCalculater.hide()
        self.pnlFpap.hideframe_Altitude()
        self.pnlFpap.degreeFormat = "ddmmss.ssssH"
        self.gbFpap.Add = self.pnlFpap

        self.pnlApproachTCH = Frame(self.gbFpap, "HL")
        self.pnlApproachTCH.Margin = 0
        self.gbFpap.Add = self.pnlApproachTCH

        self.txtApproachTCH = NumberBoxPanel(self.pnlApproachTCH, "0.0")
        self.txtApproachTCH.Caption = "Threshold Crossing Height"
        self.txtApproachTCH.Value = 50
        self.pnlApproachTCH.Add = self.txtApproachTCH

        self.cmbApproachTCHunits = ComboBoxPanel(self.pnlApproachTCH)
        self.cmbApproachTCHunits.Width = 40
        self.cmbApproachTCHunits.Caption = ""
        self.pnlApproachTCH.Add = self.cmbApproachTCHunits

        self.pnlGPA = NumberBoxPanel(self.gbInput, "0.00")
        self.pnlGPA.CaptionUnits = "degree"
        self.pnlGPA.Caption = "GlidePath Angle"
        self.pnlGPA.Value = 3
        self.gbInput.Add = self.pnlGPA

        self.pnlCourseWidth = NumberBoxPanel(self.gbInput, "0.00")
        self.pnlCourseWidth.CaptionUnits = "m"
        self.pnlCourseWidth.Caption = "Course Width"
        self.pnlCourseWidth.Value = 80
        self.gbInput.Add = self.pnlCourseWidth

        self.pnlLengthOffset = NumberBoxPanel(self.gbInput, "0")
        self.pnlLengthOffset.CaptionUnits = "m"
        self.pnlLengthOffset.Caption = "Length Offset"
        self.pnlLengthOffset.Value = 0
        self.gbInput.Add = self.pnlLengthOffset

        self.pnlHAL = NumberBoxPanel(self.gbInput, "0.0")
        self.pnlHAL.CaptionUnits = "m"
        self.pnlHAL.Caption = "HAL"
        self.pnlHAL.Value = 40
        self.gbInput.Add = self.pnlHAL

        self.pnlVAL = NumberBoxPanel(self.gbInput, "0.0")
        self.pnlVAL.CaptionUnits = "m"
        self.pnlVAL.Caption = "VAL"
        self.pnlVAL.Value = 40
        self.gbInput.Add = self.pnlVAL

        ######### ------- OutPut Group -------------##########

        self.gbOutput = GroupBox(Form)
        self.gbOutput.Caption = "Output Data"
        self.vlForm.addWidget(self.gbOutput)

        self.txtDataBlock = TextBoxPanel(self.gbOutput, True)
        self.txtDataBlock.Caption = "Data Block"
        self.txtDataBlock.Enabled = False
        self.gbOutput.Add = self.txtDataBlock

        self.pnlCRC = TextBoxPanel(self.gbOutput)
        self.pnlCRC.Caption = "CRC Value"
        self.pnlCRC.Enabled = False
        self.gbOutput.Add = self.pnlCRC

        ######### ------- Additional Data Group -------------##########

        self.gbAdditionalData = GroupBox(Form)
        self.gbAdditionalData.Caption = "Required Additional Data"
        self.vlForm.addWidget(self.gbAdditionalData)

        self.pnlIcaoCode = TextBoxPanel(self.gbAdditionalData)
        self.pnlIcaoCode.Caption = "ICAO Code"
        self.gbAdditionalData.Add = self.pnlIcaoCode

        self.pnlLtpFtpOrthoHeight = NumberBoxPanel(self.gbAdditionalData,
                                                   "0.0")
        self.pnlLtpFtpOrthoHeight.CaptionUnits = "m"
        self.pnlLtpFtpOrthoHeight.Caption = "LTP/FTP Orthometic Height"
        self.gbAdditionalData.Add = self.pnlLtpFtpOrthoHeight

        self.pnlFpapOrthoHeight = NumberBoxPanel(self.gbAdditionalData, "0.0")
        self.pnlFpapOrthoHeight.CaptionUnits = "m"
        self.pnlFpapOrthoHeight.Caption = "FPAP Orthometic Height"
        self.gbAdditionalData.Add = self.pnlFpapOrthoHeight
Exemple #19
0
class Ui_PaIls(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(435, 580)
        self.verticalLayout = QVBoxLayout(Form)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))

        self.gbParameters = GroupBox(Form)
        self.gbParameters.Caption = "General"
        self.verticalLayout.addWidget(self.gbParameters)

        self.cmbAerodrome = ComboBoxPanel(self.gbParameters, True)
        self.cmbAerodrome.Caption = "Aerodrome"
        self.cmbAerodrome.LabelWidth = 150
        self.cmbAerodrome.Width = 150
        self.gbParameters.Add = self.cmbAerodrome

        self.cmbRwyDir = ComboBoxPanel(self.gbParameters, True)
        self.cmbRwyDir.Caption = "Runway Direction"
        self.cmbRwyDir.LabelWidth = 150
        self.cmbRwyDir.Width = 150
        self.gbParameters.Add = self.cmbRwyDir

        self.annotationFAWP = QgsTextAnnotationItem(define._canvas)
        self.annotationFAWP.setDocument(QTextDocument("FAP"))
        self.annotationFAWP.hide()

        self.pnlFapPosition = PositionPanel(self.gbParameters,
                                            self.annotationFAWP)
        self.pnlFapPosition.Caption = "FAP Position"
        # self.pnlFafPosition.btnCalculater.hide()
        self.pnlFapPosition.hideframe_Altitude()
        self.gbParameters.Add = self.pnlFapPosition

        self.pnlThrPosition = PositionPanel(self.gbParameters)
        self.pnlThrPosition.Caption = "Threshold Position"
        self.pnlThrPosition.btnCalculater.hide()
        self.gbParameters.Add = self.pnlThrPosition

        self.pnlRwyEndPosition = PositionPanel(self.gbParameters)
        self.pnlRwyEndPosition.Caption = "RwyEnd Position"
        self.pnlRwyEndPosition.btnCalculater.hide()
        self.gbParameters.Add = self.pnlRwyEndPosition
        self.pnlRwyEndPosition.Visible = False

        self.pnlInboundTrack = TrackRadialBoxPanel(self.gbParameters)
        self.pnlInboundTrack.Caption = "In-bound Track"
        self.pnlInboundTrack.LabelWidth = 150
        self.gbParameters.Add = self.pnlInboundTrack

        self.pnlEstimatedAltitude = AltitudeBoxPanel(self.gbParameters)
        self.pnlEstimatedAltitude.Caption = "Estimated Altitude"
        self.pnlEstimatedAltitude.LabelWidth = 150
        self.pnlEstimatedAltitude.Value = Altitude(1000)
        self.gbParameters.Add = self.pnlEstimatedAltitude

        self.pnlAerodromeAltitude = AltitudeBoxPanel(self.gbParameters)
        self.pnlAerodromeAltitude.Caption = "Aerodrome Altitude"
        self.pnlAerodromeAltitude.LabelWidth = 150
        self.pnlAerodromeAltitude.Value = Altitude(1000)
        self.gbParameters.Add = self.pnlAerodromeAltitude

        self.pnlIsa = NumberBoxPanel(self.gbParameters, "0.0")
        self.pnlIsa.CaptionUnits = define._degreeStr + "C"
        self.pnlIsa.Caption = "ISA"
        self.pnlIsa.LabelWidth = 150
        self.pnlIsa.Value = 15
        self.gbParameters.Add = self.pnlIsa

        self.pnlRDH = AltitudeBoxPanel(self.gbParameters)
        self.pnlRDH.Caption = "RDH at THR"
        self.pnlRDH.LabelWidth = 150
        self.pnlRDH.Value = Altitude(15)
        self.gbParameters.Add = self.pnlRDH

        self.cmbVPA = ComboBoxPanel(self.gbParameters)
        self.cmbVPA.Caption = "Vertical Path Angle[VPA]"
        self.cmbVPA.LabelWidth = 150
        self.gbParameters.Add = self.cmbVPA

        self.cmbAircraftCategory = ComboBoxPanel(self.gbParameters)
        self.cmbAircraftCategory.Caption = "Aircraft Category"
        self.cmbAircraftCategory.LabelWidth = 150
        self.gbParameters.Add = self.cmbAircraftCategory

        self.pnlHeightLoss = AltitudeBoxPanel(self.gbParameters)
        self.pnlHeightLoss.Caption = "Height Loss"
        self.pnlHeightLoss.LabelWidth = 150
        self.gbParameters.Add = self.pnlHeightLoss

        self.pnlIas = SpeedBoxPanel(self.gbParameters)
        self.pnlIas.Caption = "IAS"
        self.pnlIas.LabelWidth = 150
        self.pnlIas.Value = Speed(185)
        self.gbParameters.Add = self.pnlIas

        self.pnlTas = SpeedBoxPanel(self.gbParameters)
        self.pnlTas.Caption = "TAS"
        self.pnlTas.Enabled = False
        self.pnlTas.LabelWidth = 150
        self.gbParameters.Add = self.pnlTas

        self.pnlWind = WindPanel(self.gbParameters)
        self.pnlWind.LabelWidth = 145
        self.gbParameters.Add = self.pnlWind

        self.pnlSocAltitude = AltitudeBoxPanel(self.gbParameters)
        self.pnlSocAltitude.Caption = "SOC Altitude"
        self.pnlSocAltitude.LabelWidth = 150
        self.gbParameters.Add = self.pnlSocAltitude

        self.pnlDistXz = DistanceBoxPanel(self.gbParameters, DistanceUnits.M,
                                          DistanceUnits.NM)
        self.pnlDistXz.Caption = "Xz Distance"
        self.pnlDistXz.LabelWidth = 150
        self.pnlDistXz.Button = None
        self.pnlDistXz.Value = Distance(-900)
        self.pnlDistXz.Enabled = False
        self.gbParameters.Add = self.pnlDistXz

        self.pnlDistOfFafDA = DistanceBoxPanel(self.gbParameters,
                                               DistanceUnits.M,
                                               DistanceUnits.NM)
        self.pnlDistOfFafDA.Caption = "FAP-DA Distance"
        self.pnlDistOfFafDA.LabelWidth = 150
        self.pnlDistOfFafDA.Button = None
        self.pnlDistOfFafDA.Enabled = False
        self.gbParameters.Add = self.pnlDistOfFafDA

        self.pnlDistOfDaThr = DistanceBoxPanel(self.gbParameters,
                                               DistanceUnits.M,
                                               DistanceUnits.NM)
        self.pnlDistOfDaThr.Caption = "DA-THR Distance"
        self.pnlDistOfDaThr.LabelWidth = 150
        self.pnlDistOfDaThr.Button = None
        self.pnlDistOfDaThr.Enabled = False
        self.gbParameters.Add = self.pnlDistOfDaThr

        self.pnlDistOfSocThr = DistanceBoxPanel(self.gbParameters,
                                                DistanceUnits.M,
                                                DistanceUnits.NM)
        self.pnlDistOfSocThr.Caption = "SOC-THR Distance"
        self.pnlDistOfSocThr.LabelWidth = 150
        self.pnlDistOfSocThr.Button = None
        self.pnlDistOfSocThr.Enabled = False
        self.gbParameters.Add = self.pnlDistOfSocThr