Example #1
0
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.setObjectName(("Ui_AerodromeSurfacesAltitude"))
        self.resize(473, 580)
        font = QtGui.QFont()
        font.setFamily(("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.setFont(font)

        self.vlForm = QtGui.QVBoxLayout(self)
        self.vlForm.setObjectName(("vlForm"))
        self.vlForm.setSpacing(0)
        self.vlForm.setMargin(0)

        self.gbEvalParameters = GroupBox(self)
        self.gbEvalParameters.Caption = "Parameters"
        self.vlForm.addWidget(self.gbEvalParameters)

        self.pnlEvalMode = ComboBoxPanel(self.gbEvalParameters)
        self.pnlEvalMode.Caption = "Mode"
        self.pnlEvalMode.LabelWidth = 120
        self.gbEvalParameters.Add = self.pnlEvalMode

        self.pnlEvalPosition = PositionPanel(self.gbEvalParameters)
        self.pnlEvalPosition.Caption = "Position"
        self.pnlEvalPosition.frameID.setVisible(True)
        # self.pnlEvalPosition.hideframe_Altitude()
        self.pnlEvalPosition.btnCalculater.setVisible(False)
        self.gbEvalParameters.Add = self.pnlEvalPosition

        self.pnlInsertPointAndText = Frame(self.gbEvalParameters, "HL")
        self.pnlInsertPointAndText.layoutBoxPanel.setSpacing(50)
        self.gbEvalParameters.Add = self.pnlInsertPointAndText

        self.chbInsertPointAndText = CheckBox(self.pnlInsertPointAndText)
        self.chbInsertPointAndText.Caption = "Insert Point And Text"
        self.pnlInsertPointAndText.Add = self.chbInsertPointAndText

        self.pnlAnnotationTextHeight = NumberBoxPanel(
            self.pnlInsertPointAndText)
        self.pnlAnnotationTextHeight.Caption = "Text Height"
        self.pnlAnnotationTextHeight.LabelWidth = 80
        self.pnlAnnotationTextHeight.Value = 8
        self.pnlInsertPointAndText.Add = self.pnlAnnotationTextHeight

        self.chbOnlyPenetratingObstacles = CheckBox(self.gbEvalParameters)
        self.chbOnlyPenetratingObstacles.Caption = "Evaluate Only Penetrating Obstacles"
        self.chbOnlyPenetratingObstacles.Checked = False
        self.gbEvalParameters.Add = self.chbOnlyPenetratingObstacles
Example #2
0
    def __init__(self, parent = None):
        QDialog.__init__(self, parent)
        
        self.resize(290, 136);
        self.setWindowTitle("Standard Instrument Departure (SID)")
        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.groupBox = GroupBox(self)
        verticalLayoutDlg.addWidget(self.groupBox)

        self.pnlAerodrome = ComboBoxPanel(self.groupBox)
        self.pnlAerodrome.Caption = "Aerodrome"
        self.groupBox.Add = self.pnlAerodrome

        self.pnlDesignator = TextBoxPanel(self.groupBox)
        self.pnlDesignator.Caption = "Designator"
        self.groupBox.Add = self.pnlDesignator

        self.pnlAcCategory = ComboBoxPanel(self.groupBox)
        self.pnlAcCategory.Caption = "Ac. Category"
        self.groupBox.Add = self.pnlAcCategory

        self.pnlTransID = TextBoxPanel(self.groupBox)
        self.pnlTransID.Caption = "ransitional Identifier"
        self.groupBox.Add = self.pnlTransID

        self.pnlType = ComboBoxPanel(self.groupBox)
        self.pnlType.Caption = "Type"
        self.groupBox.Add = self.pnlType

        self.pnlRunway = ComboBoxPanel(self.groupBox)
        self.pnlRunway.Caption = "Runway Direction"
        self.groupBox.Add = self.pnlRunway

        self.pnlMSA = ComboBoxPanel(self.groupBox)
        self.pnlMSA.Caption = "MSA Group"
        self.groupBox.Add = self.pnlMSA

        self.pnlRNP = NumberBoxPanel(self.groupBox)
        self.pnlRNP.Caption = "RNP"
        self.groupBox.Add = self.pnlRNP

        self.tableLayoutPanel = Frame(self.groupBox)
        self.groupBox.Add = self.tableLayoutPanel

        self.txtDescription = TextBoxPanel(self.tableLayoutPanel, True)
        self.txtDescription.Caption = "Description"
        self.tableLayoutPanel.Add = self.txtDescription

        self.txtDescrComFail = TextBoxPanel(self.tableLayoutPanel, True)
        self.txtDescrComFail.Caption = "Communication Failure"
        self.tableLayoutPanel.Add = self.txtDescrComFail

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

        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.data = None
        self.table = None
        self.selected = None;
    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.aprAnnotation = QgsTextAnnotationItem(define._canvas)
        self.aprAnnotation.setDocument(QtGui.QTextDocument("ARP"))
        self.aprAnnotation.setFrameSize(QtCore.QSizeF(30, 20))
        self.aprAnnotation.hide()
        self.thrAnnotation = QgsTextAnnotationItem(define._canvas)
        self.thrAnnotation.setDocument(QtGui.QTextDocument("THR"))
        self.thrAnnotation.setFrameSize(QtCore.QSizeF(30, 20))
        self.thrAnnotation.hide()

        self.vlForm = QtGui.QVBoxLayout(Form)
        self.vlForm.setObjectName(("vlForm"))
        self.vlForm.setSpacing(0)
        self.vlForm.setMargin(0)

        self.pnlPositions = QtGui.QFrame(Form)
        self.pnlPositions.setObjectName(("pnlPositions"))
        self.hl_pnlPositions = QtGui.QVBoxLayout(self.pnlPositions)
        self.hl_pnlPositions.setObjectName(("hl_pnlPositions"))
        self.hl_pnlPositions.setMargin(0)

        self.cmbAerodrome = ComboBoxPanel(self.pnlPositions, True)
        self.cmbAerodrome.Caption = "Aerodrome"
        self.cmbAerodrome.LabelWidth = 120
        self.hl_pnlPositions.addWidget(self.cmbAerodrome)

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

        self.gbAerodrome = QtGui.QGroupBox(Form)
        self.gbAerodrome.setObjectName("gbAerodrome")
        self.gbAerodrome.setTitle("Aerodrome")
        self.vl_gbAerodrome = QtGui.QVBoxLayout(self.gbAerodrome)
        self.vl_gbAerodrome.setObjectName("vl_gbAerodrome")

        self.pnlArp = PositionPanel(self.gbAerodrome, self.aprAnnotation)
        self.pnlArp.groupBox.setTitle("Reference Point (ARP)")
        self.pnlArp.btnCalculater.hide()
        self.vl_gbAerodrome.addWidget(self.pnlArp)

        self.pnlMinTemp = NumberBoxPanel(self.gbAerodrome)
        self.pnlMinTemp.CaptionUnits = define._degreeStr
        self.pnlMinTemp.Caption = "Minimum Temperature"
        self.pnlMinTemp.Value = -15
        self.vl_gbAerodrome.addWidget(self.pnlMinTemp)

        self.hl_pnlPositions.addWidget(self.gbAerodrome)

        self.gbRunway = QtGui.QGroupBox(Form)
        self.gbRunway.setObjectName("gbRunway")
        self.gbRunway.setTitle("Runway")
        self.vl_gbRunway = QtGui.QVBoxLayout(self.gbRunway)
        self.vl_gbRunway.setObjectName("vl_gbRunway")

        self.pnlThr = PositionPanel(self.gbRunway, self.thrAnnotation)
        self.pnlThr.groupBox.setTitle("Threshold Position")
        self.pnlThr.btnCalculater.hide()
        self.vl_gbRunway.addWidget(self.pnlThr)

        self.pnlThrEnd = PositionPanel(self.gbRunway, self.thrAnnotation)
        self.pnlThrEnd.groupBox.setTitle("Runway End Position")
        self.pnlThrEnd.btnCalculater.hide()
        self.vl_gbRunway.addWidget(self.pnlThrEnd)
        self.pnlThrEnd.Visible = False

        self.pnlRwyDir = TrackRadialBoxPanel(self.gbRunway)
        self.pnlRwyDir.Caption = "Direction"
        self.pnlRwyDir.LabelWidth = 70
        self.vl_gbRunway.addWidget(self.pnlRwyDir)

        self.hl_pnlPositions.addWidget(self.gbRunway)
        self.vlForm.addWidget(self.pnlPositions)

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

        self.pnlOCAH = OCAHPanel(self.gbParameters)
        self.pnlOCAH.Caption = "Intermediate Segment"
        self.pnlOCAH.Value = Altitude(2000, AltitudeUnits.FT)
        self.pnlOCAH.LabelWidth = 200
        self.vl_gbParameters.addWidget(self.pnlOCAH)

        self.pnlMocI = AltitudeBoxPanel(self.gbParameters)
        self.pnlMocI.CaptionUnits = "m"
        self.pnlMocI.Caption = "Intermediate Segment MOC"
        self.pnlMocI.Value = Altitude(150)
        self.vl_gbParameters.addWidget(self.pnlMocI)

        self.pnlRDH = AltitudeBoxPanel(self.gbParameters)
        self.pnlRDH.CaptionUnits = "m"
        self.pnlRDH.Caption = "RDH at THR"
        self.pnlRDH.Value = Altitude(15)
        self.vl_gbParameters.addWidget(self.pnlRDH)

        self.pnlVPA = ComboBoxPanel(self.gbParameters)
        self.pnlVPA.Caption = "Vertical Path Angle [VPA]"
        # self.pnlVPA.comboBox.setToolTip()
        self.vl_gbParameters.addWidget(self.pnlVPA)

        self.lblAbove35 = QtGui.QLabel(self.gbParameters)
        self.lblAbove35.setText(
            QtCore.QString("A procedure with a promulgated VPA exceeding 3.5")
            + unicode("°", "utf-8") + QtCore.QString(
                " is a non-standard procedure.\nIt shall be subject to an aeronautical study and will require special approval \n    by the national competent authority (PANS-OPS Part III, Section 3, Chapter 4, Par. 4.2.1.3)"
            ))
        self.vl_gbParameters.addWidget(self.lblAbove35)

        self.pnlThrFafDist = DistanceBoxPanel(self.gbParameters,
                                              DistanceUnits.NM)
        self.pnlThrFafDist.Caption = "THR to FAWP Distance"
        self.pnlThrFafDist.Value = Distance(5, DistanceUnits.NM)
        self.vl_gbParameters.addWidget(self.pnlThrFafDist)

        self.pnlAcCat = ComboBoxPanel(self.gbParameters)
        self.pnlAcCat.Caption = "Aircraft Category"
        self.vl_gbParameters.addWidget(self.pnlAcCat)

        self.pnlIas = SpeedBoxPanel(self.gbParameters, SpeedUnits.KTS)
        self.pnlIas.Caption = "Max. IAS"
        self.pnlIas.Value = Speed(185)
        self.vl_gbParameters.addWidget(self.pnlIas)

        self.pnlIasAtThr = SpeedBoxPanel(self.gbParameters, SpeedUnits.KTS)
        self.pnlIasAtThr.Caption = "Max. IAS at THR"
        self.pnlIasAtThr.Value = Speed(165)
        self.vl_gbParameters.addWidget(self.pnlIasAtThr)

        self.pnlHL = AltitudeBoxPanel(self.gbParameters)
        self.pnlHL.CaptionUnits = "m"
        self.pnlHL.Caption = "Height Loss"
        self.pnlHL.Value = Altitude(49)
        self.vl_gbParameters.addWidget(self.pnlHL)

        self.pnlTC = AltitudeBoxPanel(self.gbParameters)
        self.pnlTC.CaptionUnits = "m"
        self.pnlTC.Caption = "Temperature Correction"
        self.pnlTC.Value = Altitude(0)
        self.vl_gbParameters.addWidget(self.pnlTC)

        self.tableLayoutPanel1 = QtGui.QFrame(self.gbParameters)
        self.tableLayoutPanel1.setObjectName("tableLayoutPanel1")
        self.vl_tableLayoutPanel1 = QtGui.QVBoxLayout(self.tableLayoutPanel1)
        self.vl_tableLayoutPanel1.setObjectName("vl_tableLayoutPanel1")
        self.vl_tableLayoutPanel1.setSpacing(0)
        self.vl_tableLayoutPanel1.setMargin(0)

        self.upFrame = QtGui.QFrame(self.tableLayoutPanel1)
        self.upFrame.setObjectName("upFrame")
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.upFrame.sizePolicy().hasHeightForWidth())
        self.upFrame.setSizePolicy(sizePolicy)
        self.hl_upFrame = QtGui.QHBoxLayout(self.upFrame)
        self.hl_upFrame.setObjectName("hl_upFrame")
        self.hl_upFrame.setMargin(0)

        self.cmbTermination = ComboBoxPanel(self.upFrame)
        self.cmbTermination.Caption = "APV Segment Termination"
        self.cmbTermination.comboBox.setMinimumWidth(80)
        self.hl_upFrame.addWidget(self.cmbTermination)

        self.pnlTerminationDist = DistanceBoxPanel(self.upFrame,
                                                   DistanceUnits.NM)
        self.pnlTerminationDist.Caption = "Dist."
        self.pnlTerminationDist.Value = Distance(5, DistanceUnits.NM)
        self.pnlTerminationDist.LabelWidth = 50
        self.hl_upFrame.addWidget(self.pnlTerminationDist)

        self.vl_tableLayoutPanel1.addWidget(self.upFrame)

        self.downFrame = QtGui.QFrame(self.tableLayoutPanel1)
        self.downFrame.setObjectName("downFrame")
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.downFrame.sizePolicy().hasHeightForWidth())
        self.downFrame.setSizePolicy(sizePolicy)
        self.hl_downFrame = QtGui.QHBoxLayout(self.downFrame)
        self.hl_downFrame.setObjectName("hl_downFrame")
        self.hl_downFrame.setMargin(0)

        self.cmbMAPt = ComboBoxPanel(self.downFrame)
        self.cmbMAPt.Caption = "Missed Approach Point"
        self.cmbMAPt.comboBox.setMinimumWidth(80)
        self.hl_downFrame.addWidget(self.cmbMAPt)

        self.pnlMAPtDist = DistanceBoxPanel(self.downFrame, DistanceUnits.NM)
        self.pnlMAPtDist.Caption = "Dist."
        # self.pnlMAPtDist.Value = Distance(5, DistanceUnits.NM)
        self.pnlMAPtDist.LabelWidth = 50
        self.hl_downFrame.addWidget(self.pnlMAPtDist)

        self.vl_tableLayoutPanel1.addWidget(self.downFrame)
        self.vl_gbParameters.addWidget(self.tableLayoutPanel1)

        self.pnlMACG = NumberBoxPanel(self.gbParameters)
        self.pnlMACG.CaptionUnits = "%"
        self.pnlMACG.Caption = "Missed Approach Climb Gradient"
        self.pnlMACG.Value = 2.5
        self.vl_gbParameters.addWidget(self.pnlMACG)

        self.pnlMocMA = AltitudeBoxPanel(self.gbParameters)
        self.pnlMocMA.CaptionUnits = "m"
        self.pnlMocMA.Caption = "Missed Approach MOC"
        self.pnlMocMA.Value = Altitude(30)
        self.vl_gbParameters.addWidget(self.pnlMocMA)

        self.pnlEvalMethodMA = ComboBoxPanel(self.gbParameters)
        self.pnlEvalMethodMA.Caption = "Missed Approach Evaluation"
        self.vl_gbParameters.addWidget(self.pnlEvalMethodMA)

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

        self.vlForm.addWidget(self.gbParameters)
        QtCore.QMetaObject.connectSlotsByName(Form)
    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
Example #5
0
    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))
    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
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(467, 464)
        self.verticalLayout = QtGui.QVBoxLayout(Form)
        self.verticalLayout.setObjectName("verticalLayout")

        self.gbNavAid = GroupBox(Form)
        self.gbNavAid.Caption = "Navigational Aid"
        self.verticalLayout.addWidget(self.gbNavAid)

        self.cmbNavAidType = ComboBoxPanel(self.gbNavAid)
        self.cmbNavAidType.Caption = "Type"
        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.pnlNavAid = PositionPanel(self.gbNavAid)
        self.pnlNavAid.btnCalculater.hide()
        self.pnlNavAid.setObjectName("pnlNavAid")
        self.gbNavAid.Add = self.pnlNavAid

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

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

        self.txtIas = SpeedBoxPanel(self.gbParameters, SpeedUnits.KTS)
        self.txtIas.Caption = "IAS"
        self.txtIas.Value = Speed(250)
        self.txtIas.LabelWidth = 120
        self.gbParameters.Add = self.txtIas

        self.txtTas = SpeedBoxPanel(self.gbParameters, SpeedUnits.KTS)
        self.txtTas.Caption = "TAS"
        self.txtTas.LabelWidth = 120
        self.txtTas.Enabled = False
        self.gbParameters.Add = self.txtTas

        self.txtAltitude = AltitudeBoxPanel(self.gbParameters)
        self.txtAltitude.CaptionUnits = "ft"
        self.txtAltitude.Caption = "Altitude"
        self.txtAltitude.Value = Altitude(10000, AltitudeUnits.FT)
        self.txtAltitude.LabelWidth = 120
        self.gbParameters.Add = self.txtAltitude

        self.txtIsa = NumberBoxPanel(self.gbParameters, "0.0")
        self.txtIsa.CaptionUnits = define._degreeStr
        self.txtIsa.Caption = "ISA"
        self.txtIsa.Value = 15
        self.txtIsa.LabelWidth = 120
        self.gbParameters.Add = self.txtIsa

        self.pnlWind = WindPanel(self.gbParameters)
        self.pnlWind.lblIA.setMinimumSize(113, 0)
        self.gbParameters.Add = self.pnlWind

        self.txtTime = NumberBoxPanel(self.gbParameters, "0.0")
        self.txtTime.CaptionUnits = "min"
        self.txtTime.Caption = "Time"
        self.txtTime.Value = 1
        self.txtTime.LabelWidth = 120
        self.gbParameters.Add = self.txtTime

        self.txtMoc = AltitudeBoxPanel(self.gbParameters)
        self.txtMoc.CaptionUnits = "m"
        self.txtMoc.Caption = "Moc"
        self.txtMoc.Value = Altitude(300)
        self.txtMoc.LabelWidth = 120
        self.gbParameters.Add = self.txtMoc

        self.chbCatH = CheckBox(self.gbParameters)
        self.chbCatH.Caption = "Cat. H ( linear MOC reduction up to 2NM )"
        self.gbParameters.Add = self.chbCatH

        self.gbEntryAreas = GroupBox(self.gbParameters, "HL")
        self.gbEntryAreas.Caption = "Entry Areas"
        self.gbParameters.Add = self.gbEntryAreas

        self.chbIntercept = CheckBox(self.gbEntryAreas)
        self.chbIntercept.Caption = "Intercept"
        self.gbEntryAreas.Add = self.chbIntercept

        self.chbSector1 = CheckBox(self.gbEntryAreas)
        self.chbSector1.Caption = "Sector 1"
        self.gbEntryAreas.Add = self.chbSector1

        self.chbSector2 = CheckBox(self.gbEntryAreas)
        self.chbSector2.Caption = "Sector 2"
        self.gbEntryAreas.Add = self.chbSector2

        self.chbSectors12 = CheckBox(self.gbEntryAreas)
        self.chbSectors12.Caption = "Sectors 1 & 2"
        self.gbEntryAreas.Add = self.chbSectors12

        self.chbSector3 = CheckBox(self.gbEntryAreas)
        self.chbSector3.Caption = "Sectors 3"
        self.gbEntryAreas.Add = self.chbSector3

        self.cmbConstruction = ComboBoxPanel(self.gbParameters)
        self.cmbConstruction.Caption = "Construction Type"
        self.cmbConstruction.LabelWidth = 120
        self.cmbConstruction.Width = 50
        self.gbParameters.Add = self.cmbConstruction

        self.mocSpinBox = NumberBoxPanel(self.gbParameters, None)
        self.mocSpinBox.Caption = "MOCmultiplier"
        self.mocSpinBox.LabelWidth = 120
        self.mocSpinBox.Value = 1
        self.mocSpinBox.Width = 50
        self.gbParameters.Add = self.mocSpinBox

        self.gbOrientation = GroupBox(Form)
        self.gbOrientation.Caption = "Orientation"
        self.verticalLayout.addWidget(self.gbOrientation)

        self.txtTrack = TrackRadialBoxPanel(self.gbOrientation)
        self.txtTrack.Caption = "In-bound Track"
        self.txtTrack.LabelWidth = 120
        self.gbOrientation.Add = self.txtTrack

        self.cmbOrientation = ComboBoxPanel(self.gbOrientation)
        self.cmbOrientation.Caption = "Turns"
        self.cmbOrientation.LabelWidth = 120
        self.gbOrientation.Add = self.cmbOrientation

        QtCore.QMetaObject.connectSlotsByName(Form)
    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.groupBox = GroupBox(self)
        verticalLayoutDlg.addWidget(self.groupBox)

        self.pnlAerodrome = ComboBoxPanel(self.groupBox)
        self.pnlAerodrome.Caption = "Aerodrome"
        self.groupBox.Add = self.pnlAerodrome

        self.pnlDesignator = TextBoxPanel(self.groupBox)
        self.pnlDesignator.Caption = "Designator"
        self.groupBox.Add = self.pnlDesignator

        self.pnlAcCategory = ComboBoxPanel(self.groupBox)
        self.pnlAcCategory.Caption = "Ac. Category"
        self.groupBox.Add = self.pnlAcCategory

        self.pnlTransID = TextBoxPanel(self.groupBox)
        self.pnlTransID.Caption = "ransitional Identifier"
        self.groupBox.Add = self.pnlTransID

        self.pnlType = ComboBoxPanel(self.groupBox)
        self.pnlType.Caption = "Type"
        self.groupBox.Add = self.pnlType

        self.pnlRunway = ComboBoxPanel(self.groupBox)
        self.pnlRunway.Caption = "Runway Direction"
        self.groupBox.Add = self.pnlRunway

        self.pnlMSA = ComboBoxPanel(self.groupBox)
        self.pnlMSA.Caption = "MSA Group"
        self.groupBox.Add = self.pnlMSA

        self.pnlRNP = NumberBoxPanel(self.groupBox)
        self.pnlRNP.Caption = "RNP"
        self.groupBox.Add = self.pnlRNP

        self.tableLayoutPanel = Frame(self.groupBox)
        self.groupBox.Add = self.tableLayoutPanel

        self.txtDescription = TextBoxPanel(self.tableLayoutPanel, True)
        self.txtDescription.Caption = "Description"
        self.tableLayoutPanel.Add = self.txtDescription

        self.txtDescrComFail = TextBoxPanel(self.tableLayoutPanel, True)
        self.txtDescrComFail.Caption = "Communication Failure"
        self.tableLayoutPanel.Add = self.txtDescrComFail

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

        self.gbOcaOch = GroupBox(self.groupBox, "HL")
        self.gbOcaOch.Caption = "Minimum OCA/OCH"
        self.groupBox.Add = self.gbOcaOch

        self.gridOcah = QTableView(self.gbOcaOch)
        self.gridOcahModel = StandardItemModel(None, [
            "Ac. Category", "Approach Type", "OCA", "OCH", "OCH Ref.",
            "Remarks"
        ])
        self.gridOcah.setModel(self.gridOcahModel)
        self.gbOcaOch.Add = self.gridOcah

        self.pnlProcButtons = Frame(self.gbOcaOch)
        self.gbOcaOch.Add = self.pnlProcButtons

        self.btnAdd = QPushButton(self.pnlProcButtons)
        icon = QIcon()
        icon.addPixmap(QPixmap("Resource/add.png"), QIcon.Normal, QIcon.Off)
        self.btnAdd.setIcon(icon)
        self.pnlProcButtons.Add = self.btnAdd

        self.btnEdit = QPushButton(self.pnlProcButtons)
        icon = QIcon()
        icon.addPixmap(QPixmap("Resource/mIconEditableEdits.png"),
                       QIcon.Normal, QIcon.Off)
        self.btnEdit.setIcon(icon)
        self.pnlProcButtons.Add = self.btnEdit

        self.btnRemove = QPushButton(self.pnlProcButtons)
        icon = QIcon()
        icon.addPixmap(QPixmap("Resource/remove.png"), QIcon.Normal, QIcon.Off)
        self.btnRemove.setIcon(icon)
        self.pnlProcButtons.Add = self.btnRemove

        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.btnAdd.clicked.connect(self.btnAdd_Click)
        self.btnEdit.clicked.connect(self.btnEdit_Click)
        self.btnRemove.clicked.connect(self.btnRemove_Click)

        self.gridOcah.pressed.connect(self.gridOcah_pressed)

        self.data = None
        self.table = None
        self.selected = None
        self.minimums = None
    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
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(515, 570)
        self.verticalLayout = QtGui.QVBoxLayout(Form)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.groupBox_20 = QtGui.QGroupBox(Form)
        font = QtGui.QFont()
        font.setFamily(_fromUtf8("Arial"))
        font.setBold(False)
        font.setWeight(50)
        self.groupBox_20.setFont(font)
        self.groupBox_20.setObjectName(_fromUtf8("groupBox_20"))
        self.verticalLayout_5 = QtGui.QVBoxLayout(self.groupBox_20)
        self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5"))

        self.cmbSegmentType = ComboBoxPanel(self.groupBox_20)
        self.cmbSegmentType.Caption = "Visual Segment Type"
        self.cmbSegmentType.LabelWidth = 250
        self.verticalLayout_5.addWidget(self.cmbSegmentType)

        self.cmbApproachType = ComboBoxPanel(self.groupBox_20)
        self.cmbApproachType.Caption = "Approach Type"
        self.cmbApproachType.LabelWidth = 250
        self.verticalLayout_5.addWidget(self.cmbApproachType)

        self.txtVSDG = AngleGradientBoxPanel(self.groupBox_20)
        self.txtVSDG.CaptionUnits = AngleGradientSlopeUnits.Degrees
        self.txtVSDG.Caption = "Visual Segment Design Gradient [VSDG]"
        self.txtVSDG.LabelWidth = 250
        self.txtVSDG.Value = AngleGradientSlope(
            8.3, AngleGradientSlopeUnits.Degrees)
        self.verticalLayout_5.addWidget(self.txtVSDG)

        self.txtApproachSurfaceTrack = TrackRadialBoxPanel(self.groupBox_20)
        self.txtApproachSurfaceTrack.Caption = "In-bound Approach Surface Track"
        self.verticalLayout_5.addWidget(self.txtApproachSurfaceTrack)

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

        self.txtMOC = AltitudeBoxPanel(self.groupBox_20)
        self.txtMOC.CaptionUnits = "m"
        self.txtMOC.Caption = "MOC"
        self.txtMOC.Value = Altitude(75)
        self.txtMOC.LabelWidth = 250
        self.verticalLayout_5.addWidget(self.txtMOC)

        self.frame_Limitation = QtGui.QFrame(self.groupBox_20)
        self.frame_Limitation.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_Limitation.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_Limitation.setObjectName(_fromUtf8("frame_Limitation"))
        self.horizontalLayout_2 = QtGui.QHBoxLayout(self.frame_Limitation)
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))

        self.chbLeftFlyOverProhibited = CheckBox(self.frame_Limitation)
        self.chbLeftFlyOverProhibited.Caption = "Left fly-over prohibited"
        self.horizontalLayout_2.addWidget(self.chbLeftFlyOverProhibited)

        self.chbRightFlyOverProhibited = CheckBox(self.frame_Limitation)
        self.chbRightFlyOverProhibited.Caption = "Right fly-over prohibited"
        self.horizontalLayout_2.addWidget(self.chbRightFlyOverProhibited)

        self.verticalLayout_5.addWidget(self.frame_Limitation)

        self.grbIDF = QtGui.QGroupBox(self.groupBox_20)
        self.grbIDF.setObjectName(_fromUtf8("grbIDF"))
        self.verticalLayout_IDF = QtGui.QVBoxLayout(self.grbIDF)
        self.verticalLayout_IDF.setObjectName(_fromUtf8("verticalLayout_IDF"))

        self.txtTrackTo = TrackRadialBoxPanel(self.grbIDF)
        self.txtTrackTo.Caption = "Track To"
        self.txtTrackTo.LabelWidth = 100
        self.verticalLayout_IDF.addWidget(self.txtTrackTo)

        self.frame_Tolerance = QtGui.QFrame(self.grbIDF)
        self.frame_Tolerance.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_Tolerance.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_Tolerance.setObjectName(_fromUtf8("frame_Tolerance"))
        self.horizontalLayout = QtGui.QHBoxLayout(self.frame_Tolerance)
        self.horizontalLayout.setSpacing(0)
        self.horizontalLayout.setMargin(0)
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.frame_2 = QtGui.QFrame(self.frame_Tolerance)
        self.frame_2.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_2.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_2.setObjectName(_fromUtf8("frame_2"))
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.frame_2)
        self.verticalLayout_3.setSpacing(3)
        self.verticalLayout_3.setMargin(0)
        self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))

        self.frame_TrackFrom_2 = QtGui.QFrame(self.frame_2)
        self.frame_TrackFrom_2.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_TrackFrom_2.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_TrackFrom_2.setObjectName(_fromUtf8("frame_TrackFrom_2"))
        self.horizontalLayout_70 = QtGui.QHBoxLayout(self.frame_TrackFrom_2)
        self.horizontalLayout_70.setSpacing(0)
        self.horizontalLayout_70.setMargin(0)
        self.horizontalLayout_70.setObjectName(
            _fromUtf8("horizontalLayout_70"))
        self.label_78 = QtGui.QLabel(self.frame_TrackFrom_2)
        self.label_78.setMinimumSize(QtCore.QSize(240, 0))
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.label_78.setFont(font)
        self.label_78.setObjectName(_fromUtf8("label_78"))
        self.horizontalLayout_70.addWidget(self.label_78)
        self.frame_APV_12 = QtGui.QFrame(self.frame_TrackFrom_2)
        self.frame_APV_12.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_APV_12.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_APV_12.setObjectName(_fromUtf8("frame_APV_12"))
        self.horizontalLayout_16 = QtGui.QHBoxLayout(self.frame_APV_12)
        self.horizontalLayout_16.setSpacing(0)
        self.horizontalLayout_16.setMargin(0)
        self.horizontalLayout_16.setObjectName(
            _fromUtf8("horizontalLayout_16"))
        self.txtAtt = QtGui.QLineEdit(self.frame_APV_12)
        self.txtAtt.setEnabled(True)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.txtAtt.setFont(font)
        self.txtAtt.setObjectName(_fromUtf8("txtAtt"))
        self.txtAtt.setMinimumWidth(50)
        self.txtAtt.setMaximumWidth(50)
        self.horizontalLayout_16.addWidget(self.txtAtt)
        self.horizontalLayout_70.addWidget(self.frame_APV_12)
        self.verticalLayout_3.addWidget(self.frame_TrackFrom_2)
        self.frame_TrackFrom_3 = QtGui.QFrame(self.frame_2)
        self.frame_TrackFrom_3.setFrameShape(QtGui.QFrame.NoFrame)
        self.frame_TrackFrom_3.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_TrackFrom_3.setObjectName(_fromUtf8("frame_TrackFrom_3"))
        self.horizontalLayout_71 = QtGui.QHBoxLayout(self.frame_TrackFrom_3)
        self.horizontalLayout_71.setSpacing(0)
        self.horizontalLayout_71.setMargin(0)
        self.horizontalLayout_71.setObjectName(
            _fromUtf8("horizontalLayout_71"))
        self.label_79 = QtGui.QLabel(self.frame_TrackFrom_3)
        self.label_79.setMinimumSize(QtCore.QSize(240, 0))
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.label_79.setFont(font)
        self.label_79.setObjectName(_fromUtf8("label_79"))
        self.horizontalLayout_71.addWidget(self.label_79)
        self.frame_APV_13 = QtGui.QFrame(self.frame_TrackFrom_3)
        self.frame_APV_13.setFrameShape(QtGui.QFrame.StyledPanel)
        self.frame_APV_13.setFrameShadow(QtGui.QFrame.Raised)
        self.frame_APV_13.setObjectName(_fromUtf8("frame_APV_13"))
        self.horizontalLayout_17 = QtGui.QHBoxLayout(self.frame_APV_13)
        self.horizontalLayout_17.setSpacing(0)
        self.horizontalLayout_17.setMargin(0)
        self.horizontalLayout_17.setObjectName(
            _fromUtf8("horizontalLayout_17"))
        self.txtAsw = QtGui.QLineEdit(self.frame_APV_13)
        self.txtAsw.setEnabled(True)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.txtAsw.setFont(font)
        self.txtAsw.setObjectName(_fromUtf8("txtAsw"))
        self.txtAsw.setMinimumWidth(50)
        self.txtAsw.setMaximumWidth(50)
        self.horizontalLayout_17.addWidget(self.txtAsw)
        self.horizontalLayout_71.addWidget(self.frame_APV_13)
        self.verticalLayout_3.addWidget(self.frame_TrackFrom_3)
        self.horizontalLayout.addWidget(self.frame_2)
        self.btnDropDown = QtGui.QToolButton(self.frame_Tolerance)
        self.btnDropDown.setMaximumSize(QtCore.QSize(16777215, 50))
        self.btnDropDown.setText(_fromUtf8(""))
        self.btnDropDown.setObjectName(_fromUtf8("btnDropDown"))
        self.horizontalLayout.addWidget(self.btnDropDown)
        spacerItem = QtGui.QSpacerItem(0, 10, QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.verticalLayout_IDF.addWidget(self.frame_Tolerance)

        self.verticalLayout_5.addWidget(self.grbIDF)

        self.grbHRP = QtGui.QGroupBox(self.groupBox_20)
        self.grbHRP.setObjectName(_fromUtf8("grbHRP"))
        self.verticalLayout_HRP = QtGui.QVBoxLayout(self.grbHRP)
        self.verticalLayout_HRP.setObjectName(_fromUtf8("verticalLayout_HRP"))

        self.txtHCH = NumberBoxPanel(self.grbHRP)
        self.txtHCH.CaptionUnits = "m"
        self.txtHCH.Caption = "Crossing Height [HCH]"
        self.txtHCH.LabelWidth = 140
        self.txtHCH.Value = 15
        self.verticalLayout_HRP.addWidget(self.txtHCH)

        self.txtHSAL = DistanceBoxPanel(self.grbHRP, DistanceUnits.M)
        self.txtHSAL.Caption = "Safety Area Length"
        self.txtHSAL.Value = Distance(30)
        self.txtHSAL.LabelWidth = 140
        self.verticalLayout_HRP.addWidget(self.txtHSAL)

        self.txtHSAW = DistanceBoxPanel(self.grbHRP, DistanceUnits.M)
        self.txtHSAW.Caption = "Safety Area Width"
        self.txtHSAW.Value = Distance(30)
        self.txtHSAW.LabelWidth = 140
        self.verticalLayout_HRP.addWidget(self.txtHSAW)

        self.verticalLayout_5.addWidget(self.grbHRP)

        self.cmbConstructionType = ComboBoxPanel(self.groupBox_20)
        self.cmbConstructionType.Caption = "Construction Type"
        self.cmbConstructionType.LabelWidth = 150
        self.verticalLayout_5.addWidget(self.cmbConstructionType)

        self.verticalLayout.addWidget(self.groupBox_20)
        spacerItem = QtGui.QSpacerItem(0, 0, QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Minimum)
        self.verticalLayout.addItem(spacerItem)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
    def __init__(self, parent = None):
        QDialog.__init__(self, parent)
        
        self.resize(290, 136);
        self.setWindowTitle("Procedure Legs (AIXM 4.5)")
        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.gbAll = GroupBox(self, "HL")
        self.gbAll.Caption = "Legs"
        verticalLayoutDlg.addWidget(self.gbAll)

        self.trvLegs = QTreeView(self.gbAll)
        self.trvLegsStdModel = StandardItemModel()
        self.trvLegs.setModel(self.trvLegsStdModel)
        self.gbAll.Add = self.trvLegs

        self.flowLayoutPanel1 = Frame(self.gbAll)
        self.gbAll.Add = self.flowLayoutPanel1

        self.btnAdd = QPushButton(self.flowLayoutPanel1)
        icon = QIcon()
        icon.addPixmap(QPixmap("Resource/add.png"), QIcon.Normal, QIcon.Off)
        self.btnAdd.setIcon(icon)
        self.flowLayoutPanel1.Add = self.btnAdd

        self.btnRemove = QPushButton(self.flowLayoutPanel1)
        icon = QIcon()
        icon.addPixmap(QPixmap("Resource/remove.png"), QIcon.Normal, QIcon.Off)
        self.btnRemove.setIcon(icon)
        self.flowLayoutPanel1.Add = self.btnRemove

        self.btnMoveUp = QPushButton(self.flowLayoutPanel1)
        icon = QIcon()
        icon.addPixmap(QPixmap("Resource/up.png"), QIcon.Normal, QIcon.Off)
        self.btnMoveUp.setIcon(icon)
        self.flowLayoutPanel1.Add = self.btnMoveUp

        self.btnMoveDown = QPushButton(self.flowLayoutPanel1)
        icon = QIcon()
        icon.addPixmap(QPixmap("Resource/down.png"), QIcon.Normal, QIcon.Off)
        self.btnMoveDown.setIcon(icon)
        self.flowLayoutPanel1.Add = self.btnMoveDown

        self.scrollBox = Frame(self.gbAll)
        self.gbAll.Add = self.scrollBox

        self.gbFix = GroupBox(self.scrollBox)
        self.gbFix.Caption = "Fix"
        self.scrollBox.Add = self.gbFix

        self.cmbFixPos = ComboBoxPanel(self.gbFix)
        self.cmbFixPos.Caption = "Position"
        self.cmbFixPos.Button = "coordinate_capture.png"
        self.gbFix.Add = self.cmbFixPos

        self.pnlCodeRoleFix = ComboBoxPanel(self.gbFix)
        self.pnlCodeRoleFix.Caption = "Type"
        self.gbFix.Add = self.pnlCodeRoleFix

        self.gbAttributes = GroupBox(self.scrollBox)
        self.gbAttributes.Caption = "Attributes"
        self.scrollBox.Add = self.gbAttributes

        self.cmbRecommendedEnt = ComboBoxPanel(self.gbAttributes)
        self.cmbRecommendedEnt.Caption = "Recommended Navigational Aid"
        self.gbAttributes.Add = self.cmbRecommendedEnt

        self.pnlCodePhase = ComboBoxPanel(self.gbAttributes)
        self.pnlCodePhase.Caption = "Fligh Phase"
        self.gbAttributes.Add = self.pnlCodePhase

        self.pnlCodeType = ComboBoxPanel(self.gbAttributes)
        self.pnlCodeType.Caption = "Leg Type"
        self.gbAttributes.Add = self.pnlCodeType

        self.pnlLegVOR = Frame(self.gbAttributes, "HL")
        self.gbAttributes.Add = self.pnlLegVOR

        self.cmbCodeTypeCourse = ComboBoxPanel(self.pnlLegVOR)
        self.cmbCodeTypeCourse.Caption = "Course Angle (" + define._degreeStr + ")"
        self.pnlLegVOR.Add = self.cmbCodeTypeCourse

        self.txtValCourse = TrackRadialBoxPanel(self.pnlLegVOR)
        self.txtValCourse.LabelWidth = 0
        self.pnlLegVOR.Add = self.txtValCourse

        self.pnlCodeDirTurn = ComboBoxPanel(self.gbAttributes)
        self.pnlCodeDirTurn.Caption = "Turn Direction"
        self.gbAttributes.Add = self.pnlCodeDirTurn

        self.pnlTurnValid = ComboBoxPanel(self.gbAttributes)
        self.pnlTurnValid.Caption = "Fly-By"
        self.gbAttributes.Add = self.pnlTurnValid

        self.cmbCenter = ComboBoxPanel(self.gbAttributes)
        self.cmbCenter.Caption = "Center"
        self.cmbCenter.Button = "coordinate_capture.png"
        self.gbAttributes.Add = self.cmbCenter

        self.pnlValBankAngle = NumberBoxPanel(self.gbAttributes)
        self.pnlValBankAngle.Caption = "Bank Angle (" + define._degreeStr + ")"
        self.gbAttributes.Add = self.pnlValBankAngle

        self.pnlCodeDescrDistVer = ComboBoxPanel(self.gbAttributes)
        self.pnlCodeDescrDistVer.Caption = "Altitude Interpretation"
        self.gbAttributes.Add = self.pnlCodeDescrDistVer

        self.pnlVerDistLower = Frame(self.gbAttributes, "HL")
        self.gbAttributes.Add = self.pnlVerDistLower

        self.cmbDistVerLower = ComboBoxPanel(self.pnlVerDistLower)
        self.cmbDistVerLower.CaptionUnits = "ft"
        self.cmbDistVerLower.Caption = "Lower Altitude Limit"
        self.pnlVerDistLower.Add = self.cmbDistVerLower

        self.txtDistVerLower = AltitudeBoxPanel(self.pnlVerDistLower)
        self.txtDistVerLower.CaptionUnits = "ft"
        self.txtDistVerLower.LabelWidth = 0
        self.pnlVerDistLower.Add = self.txtDistVerLower

        self.pnlDistVerUpper = Frame(self.gbAttributes, "HL")
        self.gbAttributes.Add = self.pnlDistVerUpper

        self.cmbDistVerUpper = ComboBoxPanel(self.pnlDistVerUpper)
        self.cmbDistVerUpper.CaptionUnits = "ft"
        self.cmbDistVerUpper.Caption = "Upper Altitude Limit"
        self.pnlDistVerUpper.Add = self.cmbDistVerUpper

        self.txtDistVerUpper = AltitudeBoxPanel(self.pnlDistVerUpper)
        self.txtDistVerUpper.CaptionUnits = "ft"
        self.txtDistVerUpper.LabelWidth = 0
        self.pnlDistVerUpper.Add = self.txtDistVerUpper

        self.pnlValVerAngle = NumberBoxPanel(self.gbAttributes)
        self.pnlValVerAngle.Caption = "Climb / Descent Angle [+/-] (" + define._degreeStr + ")"
        self.gbAttributes.Add = self.pnlValVerAngle

        self.tableLayoutPanel2 = Frame(self.gbAttributes, "HL")
        self.gbAttributes.Add = self.tableLayoutPanel2

        self.cmbCodeSpeedRef = ComboBoxPanel(self.tableLayoutPanel2)
        self.cmbCodeSpeedRef.CaptionUnits = "kts"
        self.cmbCodeSpeedRef.Caption = "Speed Restriction"
        self.tableLayoutPanel2.Add = self.cmbCodeSpeedRef

        self.txtValSpeed = SpeedBoxPanel(self.tableLayoutPanel2)
        self.txtValSpeed.LabelWidth = 0
        self.tableLayoutPanel2.Add = self.txtValSpeed

        self.pnlValDist = DistanceBoxPanel(self.gbAttributes, DistanceUnits.NM)
        self.pnlValDist.Caption = "Segment Length"
        self.pnlValDist.Button = None
        self.gbAttributes.Add = self.pnlValDist

        self.pnlValDur = NumberBoxPanel(self.gbAttributes)
        self.pnlValDur.CaptionUnits = "min"
        self.pnlValDur.Caption = "Duration"
        self.gbAttributes.Add = self.pnlValDur

        self.pnlCodeRepAtc = ComboBoxPanel(self.gbAttributes)
        self.pnlCodeRepAtc.Caption = "ATC Reporting"
        self.gbAttributes.Add = self.pnlCodeRepAtc

        self.pnlValTheta = TrackRadialBoxPanel(self.gbAttributes)
        self.pnlValTheta.Caption = "Magnetic Bearing / Radial from Recommended Nav. Aid"
        self.pnlValTheta.LabelWidth = 350
        self.gbAttributes.Add = self.pnlValTheta

        self.pnlValRho = DistanceBoxPanel(self.gbAttributes, DistanceUnits.NM)
        self.pnlValRho.Caption = "Distance from Recommended Nav. Aid"
        self.pnlValRho.LabelWidth = 350
        self.gbAttributes.Add = self.pnlValRho

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

        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.trvLegs.pressed.connect(self.trvLegs_pressed)

        self.data = None
        self.legs = None
        self.aerodrome = None;
        self.magnVar = 0.0



        for value in CodeIapFixAixm.Items:
            self.pnlCodeRoleFix.Add(value);
        for codeTypeProcPathAixm in CodeTypeProcPathAixm.Items:
            self.pnlCodeType.Add(codeTypeProcPathAixm);
        for codePhaseProcAixm in CodePhaseProcAixm.Items:
            self.pnlCodePhase.Add(codePhaseProcAixm);
        for codeTypeCourseAixm in CodeTypeCourseAixm.Items:
            self.cmbCodeTypeCourse.Add(codeTypeCourseAixm);
        for codeDirTurnAixm in CodeDirTurnAixm.Items:
            self.pnlCodeDirTurn.Add(codeDirTurnAixm);
        for codeDescrDistVerAixm in CodeDescrDistVerAixm.Items:
            self.pnlCodeDescrDistVer.Add(codeDescrDistVerAixm);
        for codeDistVerAixm in CodeDistVerAixm.Items:
            self.cmbDistVerLower.Add(codeDistVerAixm);
        for value1 in CodeDistVerAixm.Items:
            self.cmbDistVerUpper.Add(value1);
        for codeSpeedRefAixm in CodeSpeedRefAixm.Items:
            self.cmbCodeSpeedRef.Add(codeSpeedRefAixm);
        for codeTypeFlyByAixm in CodeTypeFlyByAixm.Items:
            self.pnlTurnValid.Add(codeTypeFlyByAixm);
        for codeRepAtcAixm in CodeRepAtcAixm.Items:
            self.pnlCodeRepAtc.Add(codeRepAtcAixm);
        self.method_6()

        self.connect(self.pnlValRho, SIGNAL("Event_0"), self.pnlValRho_Event_0)
        self.connect(self.pnlValTheta, SIGNAL("Event_0"), self.pnlValTheta_Event_0)
        self.connect(self.pnlCodeRepAtc, SIGNAL("Event_0"), self.pnlCodeRepAtc_Event_0)
        self.connect(self.pnlValDur, SIGNAL("Event_0"), self.pnlValDur_Event_0)
        self.connect(self.pnlValDist, SIGNAL("Event_0"), self.pnlValDist_Event_0)
        self.connect(self.cmbCodeSpeedRef, SIGNAL("Event_0"), self.cmbCodeSpeedRef_Event_0)
        self.connect(self.txtValSpeed, SIGNAL("Event_0"), self.txtValSpeed_Event_0)
        self.connect(self.txtDistVerUpper, SIGNAL("Event_0"), self.txtDistVerUpper_Event_0)
        self.connect(self.cmbDistVerUpper, SIGNAL("Event_0"), self.cmbDistVerUpper_Event_0)
        self.connect(self.txtDistVerLower, SIGNAL("Event_0"), self.txtDistVerLower_Event_0)

        self.connect(self.cmbDistVerLower, SIGNAL("Event_0"), self.cmbDistVerLower_Event_0)
        self.connect(self.pnlValBankAngle, SIGNAL("Event_0"), self.pnlValBankAngle_Event_0)
        self.connect(self.cmbCenter, SIGNAL("Event_0"), self.cmbCenter_Event_0)
        self.connect(self.pnlTurnValid, SIGNAL("Event_0"), self.pnlTurnValid_Event_0)
        self.connect(self.pnlCodeDirTurn, SIGNAL("Event_0"), self.pnlCodeDirTurn_Event_0)
        self.connect(self.cmbCodeTypeCourse, SIGNAL("Event_0"), self.cmbCodeTypeCourse_Event_0)
        self.connect(self.txtValCourse, SIGNAL("Event_0"), self.txtValCourse_Event_0)
        self.connect(self.pnlCodeType, SIGNAL("Event_0"), self.pnlCodeType_Event_0)
        self.connect(self.pnlCodePhase, SIGNAL("Event_0"), self.pnlCodePhase_Event_0)
        self.connect(self.pnlCodeRoleFix, SIGNAL("Event_0"), self.pnlCodeRoleFix_Event_0)
        self.connect(self.txtRemarks, SIGNAL("Event_0"), self.txtRemarks_Event_0)
        self.connect(self.cmbRecommendedEnt, SIGNAL("Event_0"), self.cmbRecommendedEnt_Event_0)

        self.connect(self.cmbFixPos, SIGNAL("Event_0"), self.cmbFixPos_Event_0)
        self.connect(self.cmbCenter, SIGNAL("Event_3"), self.method_14)
        self.connect(self.cmbFixPos, SIGNAL("Event_3"), self.method_13)

        self.btnAdd.clicked.connect(self.btnAdd_Click)
        self.btnMoveDown.clicked.connect(self.btnMoveDown_Click)
        self.btnMoveUp.clicked.connect(self.btnMoveUp_Click)
        self.btnRemove.clicked.connect(self.btnRemove_Click)

        self.trvLegs.setHeaderHidden(True)

        if self.trvLegsStdModel.rowCount() > 0:
            self.trvLegs.setCurrentIndex(self.trvLegsStdModel.index(0,0))
            self.method_8()
Example #12
0
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(473, 580)
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setBold(False)
        font.setWeight(50)
        Form.setFont(font)
        self.vlForm = QtGui.QVBoxLayout(Form)
        self.vlForm.setObjectName(("vlForm"))

        self.gbMASegmentType = GroupBox(Form)
        self.gbMASegmentType.Caption = "Missed Approach Segment Type"
        self.vlForm.addWidget(self.gbMASegmentType)

        self.txtMASegmentType = TextBoxPanel(self.gbMASegmentType)
        self.txtMASegmentType.Caption = "Type"
        self.txtMASegmentType.textBox.setEnabled(False)
        self.txtMASegmentType.Button = "sort2.png"
        self.txtMASegmentType.Value = "Straight"
        self.txtMASegmentType.textBox.setMaximumWidth(10000000)
        self.txtMASegmentType.hLayoutBoxPanel.removeItem(
            self.txtMASegmentType.spacerItem)
        QtCore.QObject.connect(self.txtMASegmentType, QtCore.SIGNAL("Event_1"),
                               self.txtMASegmentType_Event_1)
        self.gbMASegmentType.Add = self.txtMASegmentType

        self.gbPosition = GroupBox(Form)
        self.gbPosition.Caption = "Positions"
        self.gbPosition.layoutBoxPanel.setSpacing(9)
        self.vlForm.addWidget(self.gbPosition)

        self.pnlFafPos = PositionPanel(self.gbPosition)
        self.pnlFafPos.Caption = "FAF Position"
        self.pnlFafPos.hideframe_Altitude()
        self.pnlFafPos.btnCalculater.hide()
        self.gbPosition.Add = self.pnlFafPos

        self.pnlMaptPos = PositionPanel(self.gbPosition)
        self.pnlMaptPos.Caption = "MAPt Position"
        self.pnlMaptPos.hideframe_Altitude()
        self.pnlMaptPos.btnCalculater.hide()
        self.gbPosition.Add = self.pnlMaptPos

        self.pnlMaTpPos = PositionPanel(self.gbPosition)
        self.pnlMaTpPos.Caption = "MA TP Position"
        self.pnlMaTpPos.hideframe_Altitude()
        self.pnlMaTpPos.btnCalculater.hide()
        self.gbPosition.Add = self.pnlMaTpPos
        self.pnlMaTpPos.Visible = False

        self.gbMaEndPos = GroupBox(self.gbPosition)
        self.gbMaEndPos.Caption = "MA End Position"
        self.gbPosition.Add = self.gbMaEndPos

        self.cmbMaEndType = ComboBoxPanel(self.gbMaEndPos)
        self.cmbMaEndType.Caption = "Type"
        self.cmbMaEndType.Items = ["NDB", "VOR"]
        self.gbMaEndPos.Add = self.cmbMaEndType
        self.cmbMaEndType.Visible = False

        self.pnlMaEndPos = PositionPanel(self.gbMaEndPos)
        self.pnlMaEndPos.hideframe_Altitude()
        self.pnlMaEndPos.btnCalculater.hide()
        self.gbMaEndPos.Add = self.pnlMaEndPos

        self.gbNavAid = GroupBox(self.gbPosition)
        self.gbNavAid.Caption = "Navigational Aid Position"
        self.gbPosition.Add = self.gbNavAid

        self.cmbNavAidType = ComboBoxPanel(self.gbNavAid)
        self.cmbNavAidType.Caption = "Type"
        self.cmbNavAidType.Items = ["NDB", "VOR"]
        self.gbNavAid.Add = self.cmbNavAidType

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

        self.gbAddNavAid = GroupBox(self.gbPosition)
        self.gbAddNavAid.Caption = "Additional Navigational Aid Position"
        self.gbPosition.Add = self.gbAddNavAid

        self.cmbAddNavAidType = ComboBoxPanel(self.gbAddNavAid)
        self.cmbAddNavAidType.Caption = "Type"
        self.cmbAddNavAidType.Items = ["NDB", "VOR"]
        self.gbAddNavAid.Add = self.cmbAddNavAidType

        self.pnlAddNavAidPos = PositionPanel(self.gbAddNavAid)
        self.pnlAddNavAidPos.btnCalculater.hide()
        self.pnlAddNavAidPos.hideframe_Altitude()
        self.gbAddNavAid.Add = self.pnlAddNavAidPos

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

        self.cmbTypeMapt = ComboBoxPanel(self.gbParameters)
        self.cmbTypeMapt.Caption = "MAPt Type"
        self.cmbTypeMapt.Items = ["Navigation facility", "FIX", "Timing"]
        self.gbParameters.Add = self.cmbTypeMapt

        self.cmbTypeTP = ComboBoxPanel(self.gbParameters)
        self.cmbTypeTP.Caption = "TP Type"
        self.cmbTypeTP.Items = [
            "Turn at FIX or Facility", "Turn at Altitude", "Turn at MAPt"
        ]
        self.gbParameters.Add = self.cmbTypeTP
        self.cmbTypeTP.Visible = False

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

        self.cmbDirection = ComboBoxPanel(self.gbParameters)
        self.cmbDirection.Caption = "Direction"
        self.cmbDirection.Items = ["Left", "Right"]
        self.gbParameters.Add = self.cmbDirection
        self.cmbDirection.Visible = False

        self.pnlAerodromeAlt = AltitudeBoxPanel(self.gbParameters)
        self.pnlAerodromeAlt.CaptionUnits = "ft"
        self.pnlAerodromeAlt.Caption = "Aerodrome Altitude"
        self.gbParameters.Add = self.pnlAerodromeAlt

        self.pnlPrimaryMoc = AltitudeBoxPanel(self.gbParameters)
        self.pnlPrimaryMoc.CaptionUnits = "m"
        self.pnlPrimaryMoc.Caption = "Primary Moc"
        self.pnlPrimaryMoc.Value = Altitude(75)
        self.gbParameters.Add = self.pnlPrimaryMoc

        self.pnlOCA = AltitudeBoxPanel(self.gbParameters)
        self.pnlOCA.CaptionUnits = "ft"
        self.pnlOCA.Caption = "OCA"
        self.gbParameters.Add = self.pnlOCA

        self.pnlTpAlt = AltitudeBoxPanel(self.gbParameters)
        self.pnlTpAlt.CaptionUnits = "ft"
        self.pnlTpAlt.Caption = "TP Altitude"
        self.gbParameters.Add = self.pnlTpAlt
        self.pnlTpAlt.Visible = False

        self.pnlEndTurnAlt = AltitudeBoxPanel(self.gbParameters)
        self.pnlEndTurnAlt.CaptionUnits = "ft"
        self.pnlEndTurnAlt.Caption = "End Turn Altitude"
        self.gbParameters.Add = self.pnlEndTurnAlt
        self.pnlEndTurnAlt.Visible = False

        self.pnlEndAlt = AltitudeBoxPanel(self.gbParameters)
        self.pnlEndAlt.CaptionUnits = "ft"
        self.pnlEndAlt.Caption = "End Altitude"
        self.gbParameters.Add = self.pnlEndAlt
        self.pnlEndAlt.Visible = False

        self.pnlTurnGradient = AngleGradientBoxPanel(self.gbParameters)
        self.pnlTurnGradient.CaptionUnits = AngleGradientSlopeUnits.Percent
        self.pnlTurnGradient.Caption = "Turn Gradient"
        # self.pnlTurnGradient.Value = AngleGradientSlope(2.5, AngleGradientSlopeUnits.Percent)
        self.gbParameters.Add = self.pnlTurnGradient
        self.pnlTurnGradient.Visible = False

        self.pnlBearing = TrackRadialBoxPanel(self.gbParameters)
        self.pnlBearing.Caption = "Bearing"
        self.gbParameters.Add = self.pnlBearing
        self.pnlBearing.Visible = False

        self.pnlDistance = DistanceBoxPanel(self.gbParameters,
                                            DistanceUnits.NM)
        self.pnlDistance.Caption = "Distance FAF-MAPt"
        self.pnlDistance.Button = None
        self.gbParameters.Add = self.pnlDistance

        self.pnlClimbGradient = AngleGradientBoxPanel(self.gbParameters)
        self.pnlClimbGradient.CaptionUnits = AngleGradientSlopeUnits.Percent
        self.pnlClimbGradient.Caption = "Climb Gradient"
        self.pnlClimbGradient.Value = AngleGradientSlope(
            2.5, AngleGradientSlopeUnits.Percent)
        self.gbParameters.Add = self.pnlClimbGradient

        self.cmbTrackGuidance = ComboBoxPanel(self.gbParameters)
        self.cmbTrackGuidance.Caption = "Track Guidance"
        self.cmbTrackGuidance.Items = ["Yes", "No"]
        QtCore.QObject.connect(self.cmbTrackGuidance, QtCore.SIGNAL("Event_0"),
                               self.cmbTrackGuidanceEvent_0)
        self.gbParameters.Add = self.cmbTrackGuidance

        self.cmbAddTrackGuidance = ComboBoxPanel(self.gbParameters)
        self.cmbAddTrackGuidance.Caption = "Additional Track Guidance"
        self.cmbAddTrackGuidance.Items = ["Yes", "No"]
        QtCore.QObject.connect(self.cmbAddTrackGuidance,
                               QtCore.SIGNAL("Event_0"),
                               self.cmbAddTrackGuidanceEvent_0)
        self.gbParameters.Add = self.cmbAddTrackGuidance

        self.cmbTurnMAPt = ComboBoxPanel(self.gbParameters)
        self.cmbTurnMAPt.Caption = "Turn Before MAPt"
        self.cmbTurnMAPt.Items = ["Yes", "No"]
        # QtCore.QObject.connect(self.cmbTrackGuidance, QtCore.SIGNAL("Event_0"), self.cmbTrackGuidanceEvent_0)
        self.gbParameters.Add = self.cmbTurnMAPt
        self.cmbTurnMAPt.Visible = False

        self.gbTpTolerance = GroupBox(self.gbParameters)
        self.gbTpTolerance.Caption = "TP Tolerance"
        self.gbParameters.Add = self.gbTpTolerance
        self.gbTpTolerance.Visible = False

        self.txtKEarlist = NumberBoxPanel(self.gbTpTolerance)
        self.txtKEarlist.CaptionUnits = "nm"
        self.txtKEarlist.Caption = "K Earliest"
        self.gbTpTolerance.Add = self.txtKEarlist

        self.txtLatestFix = NumberBoxPanel(self.gbTpTolerance)
        self.txtLatestFix.CaptionUnits = "nm"
        self.txtLatestFix.Caption = "Latest Fix"
        self.gbTpTolerance.Add = self.txtLatestFix

        self.txtC = NumberBoxPanel(self.gbTpTolerance)
        self.txtC.CaptionUnits = "nm"
        self.txtC.Caption = "C"
        self.gbTpTolerance.Add = self.txtC

        self.txtLatestTurn = NumberBoxPanel(self.gbTpTolerance)
        self.txtLatestTurn.CaptionUnits = "nm"
        self.txtLatestTurn.Caption = "Latest"
        self.gbTpTolerance.Add = self.txtLatestTurn

        self.gbNominalTrack = GroupBox(self.gbParameters)
        self.gbNominalTrack.Caption = "Nominal Track"
        self.gbParameters.Add = self.gbNominalTrack
        self.gbNominalTrack.Visible = False

        self.pnlTrueStartTrack = TrackRadialBoxPanel(self.gbNominalTrack)
        self.pnlTrueStartTrack.Caption = "True Start Track"
        self.gbNominalTrack.Add = self.pnlTrueStartTrack

        self.pnlTrueEndTrack = TrackRadialBoxPanel(self.gbNominalTrack)
        self.pnlTrueEndTrack.Caption = "True End Track"
        self.gbNominalTrack.Add = self.pnlTrueEndTrack

        self.txtArcLength = NumberBoxPanel(self.gbNominalTrack)
        self.txtArcLength.CaptionUnits = "nm"
        self.txtArcLength.Caption = "Arc Length"
        self.gbNominalTrack.Add = self.txtArcLength

        self.gbVelocity = GroupBox(self.gbParameters)
        self.gbVelocity.Caption = "ISA VAR Celsius,IAS,TAS and Wind Velocity"
        self.gbParameters.Add = self.gbVelocity

        self.txtISAVAR = NumberBoxPanel(self.gbVelocity, "0.0")
        self.txtISAVAR.CaptionUnits = define._degreeStr + QtCore.QString("C")
        self.txtISAVAR.Caption = "ISA"
        # self.txtISAVAR.Items = ["ISA-30", "ISA-20", "ISA-10", "ISA", "ISA+10", "ISA+15", "ISA+20", "ISA+30"]
        self.gbVelocity.Add = self.txtISAVAR

        self.pnlIAS = SpeedBoxPanel(self.gbVelocity, SpeedUnits.KTS)
        self.pnlIAS.Caption = "IAS"
        self.gbVelocity.Add = self.pnlIAS

        # self.pnlWind = WindPanel(self.gbVelocity)
        # self.gbVelocity.Add = self.pnlWind
        # self.pnlWind.Visible = False

        self.pnlTAS = SpeedBoxPanel(self.gbVelocity, SpeedUnits.KTS)
        self.pnlTAS.Caption = "TAS"
        self.gbVelocity.Add = self.pnlTAS

        self.gbTurn = GroupBox(self.gbParameters)
        self.gbTurn.Caption = "Turn"
        self.gbParameters.Add = self.gbTurn
        self.gbTurn.Visible = False

        self.txtBankAngle = NumberBoxPanel(self.gbTurn)
        self.txtBankAngle.CaptionUnits = define._degreeStr
        self.txtBankAngle.Caption = "Bank Angle"
        self.gbTurn.Add = self.txtBankAngle

        self.txtRateOfTurn = NumberBoxPanel(self.gbTurn)
        self.txtRateOfTurn.CaptionUnits = define._degreeStr + QtCore.QString(
            "/sec")
        self.txtRateOfTurn.Caption = "Rate Of Turn"
        self.gbTurn.Add = self.txtRateOfTurn

        self.txtWindEffect = NumberBoxPanel(self.gbTurn)
        self.txtWindEffect.Caption = "Wind Effect"
        self.gbTurn.Add = self.txtWindEffect

        self.gbMAPtTolerance = GroupBox(self.gbParameters)
        self.gbMAPtTolerance.Caption = "MAPt Tolerance"
        self.gbParameters.Add = self.gbMAPtTolerance

        self.txtEarlist = NumberBoxPanel(self.gbMAPtTolerance)
        self.txtEarlist.CaptionUnits = "nm"
        self.txtEarlist.Caption = "Earliest"
        self.gbMAPtTolerance.Add = self.txtEarlist

        self.txtLatest = NumberBoxPanel(self.gbMAPtTolerance)
        self.txtLatest.CaptionUnits = "nm"
        self.txtLatest.Caption = "Latest"
        self.gbMAPtTolerance.Add = self.txtLatest

        self.txtD = NumberBoxPanel(self.gbMAPtTolerance)
        self.txtD.CaptionUnits = "nm"
        self.txtD.Caption = "D"
        self.gbMAPtTolerance.Add = self.txtD

        self.gbMAPtToSocDist = GroupBox(self.gbParameters)
        self.gbMAPtToSocDist.Caption = "MAPt to SOC Distance"
        self.gbParameters.Add = self.gbMAPtToSocDist

        self.txtX = NumberBoxPanel(self.gbMAPtToSocDist)
        self.txtX.CaptionUnits = "nm"
        self.txtX.Caption = "X"
        self.gbMAPtToSocDist.Add = self.txtX

        self.txtDistMAPtSOC = DistanceBoxPanel(self.gbMAPtToSocDist,
                                               DistanceUnits.NM)
        self.txtDistMAPtSOC.Caption = "MAPt - SOC Distance"
        self.txtDistMAPtSOC.Button = None
        self.gbMAPtToSocDist.Add = self.txtDistMAPtSOC

        self.txtEarlistTemp = NumberBoxPanel(self.gbParameters)
        self.gbParameters.Add = self.txtEarlistTemp
        self.txtEarlistTemp.Visible = False

        self.txtLatestTemp = NumberBoxPanel(self.gbParameters)
        self.gbParameters.Add = self.txtLatestTemp
        self.txtLatestTemp.Visible = False

        self.missedApproachMenu = QtGui.QMenu()

        self.strightCmd = QgisHelper.createAction(self.missedApproachMenu,
                                                  "Straight",
                                                  self.menuStrightClick)
        self.missedApproachMenu.addAction(self.strightCmd)

        self.turningCmd = QgisHelper.createAction(self.missedApproachMenu,
                                                  "Turning",
                                                  self.menuTurningClick)
        self.missedApproachMenu.addAction(self.turningCmd)
    def 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)
    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 TrackRadialBoxPanel(QWidget):
    def __init__(self, parent, alwwaysShowString=None):
        QWidget.__init__(self, parent)
        while not isinstance(parent, QDialog):
            parent = parent.parent()
        self.setObjectName("TrackRadialBoxPanel" +
                           str(len(parent.findChildren(TrackRadialBoxPanel))))
        self.parentP = parent

        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
        self.setSizePolicy(sizePolicy)

        self.hLayoutBoxPanel = QHBoxLayout(self)
        self.hLayoutBoxPanel.setSpacing(0)
        self.hLayoutBoxPanel.setContentsMargins(0, 0, 0, 0)
        self.hLayoutBoxPanel.setObjectName(("hLayoutBoxPanel"))
        self.frameBoxPanel = QFrame(self)

        self.frameBoxPanel.setFrameShape(QFrame.NoFrame)
        self.frameBoxPanel.setFrameShadow(QFrame.Raised)
        self.frameBoxPanel.setObjectName(("frameBoxPanel"))
        self.hLayoutframeBoxPanel = QHBoxLayout(self.frameBoxPanel)
        self.hLayoutframeBoxPanel.setSpacing(0)
        self.hLayoutframeBoxPanel.setMargin(0)
        self.hLayoutframeBoxPanel.setObjectName(("hLayoutframeBoxPanel"))
        self.captionLabel = QLabel(self.frameBoxPanel)
        # sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        # sizePolicy.setHorizontalStretch(0)
        # sizePolicy.setVerticalStretch(0)
        # sizePolicy.setHeightForWidth(self.captionLabel.sizePolicy().hasHeightForWidth())
        # self.captionLabel.setSizePolicy(sizePolicy)
        self.captionLabel.setMinimumSize(QSize(200, 0))
        self.captionLabel.setMaximumSize(QSize(200, 16777215))
        font = QFont()
        font.setBold(False)
        font.setWeight(50)
        self.captionLabel.setFont(font)
        self.captionLabel.setObjectName(("captionLabel"))
        self.hLayoutframeBoxPanel.addWidget(self.captionLabel)

        self.frameBoxPanelIn = Frame(self.frameBoxPanel, "HL")
        self.frameBoxPanelIn.layoutBoxPanel.setSpacing(5)
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.frameBoxPanelIn.sizePolicy().hasHeightForWidth())
        self.frameBoxPanelIn.setSizePolicy(sizePolicy)

        self.txtRadialPlan = NumberBoxPanel(self.frameBoxPanelIn)
        self.txtRadialPlan.Caption = "Plan"
        self.txtRadialPlan.LabelWidth = 50
        self.frameBoxPanelIn.Add = self.txtRadialPlan

        self.txtRadialGeodetic = NumberBoxPanel(self.frameBoxPanelIn)
        self.txtRadialGeodetic.Caption = "Geodetic"
        self.txtRadialGeodetic.LabelWidth = 70
        self.frameBoxPanelIn.Add = self.txtRadialGeodetic

        self.btnCaptureRadial = QToolButton(self.frameBoxPanelIn)
        self.btnCaptureRadial.setText((""))
        icon = QIcon()
        icon.addPixmap(QPixmap(("Resource/coordinate_capture.png")),
                       QIcon.Normal, QIcon.Off)
        self.btnCaptureRadial.setIcon(icon)
        self.btnCaptureRadial.setObjectName(("btnCaptureRadial"))
        self.frameBoxPanelIn.Add = self.btnCaptureRadial

        self.hLayoutframeBoxPanel.addWidget(self.frameBoxPanelIn)
        self.hLayoutBoxPanel.addWidget(self.frameBoxPanel)

        spacerItem = QSpacerItem(0, 10, QSizePolicy.Minimum,
                                 QSizePolicy.Minimum)
        self.hLayoutBoxPanel.addItem(spacerItem)

        self.connect(self.txtRadialPlan, SIGNAL("Event_0"),
                     self.txtRadialPlanChanged)
        self.connect(self.txtRadialGeodetic, SIGNAL("Event_0"),
                     self.txtRadialGeodeticChanged)
        self.btnCaptureRadial.clicked.connect(self.btnCaptureRadialClicked)

        self.captionUnits = unicode("°", "utf-8")

        self.flag = 0
        self.startPoint = None
        self.endPoint = None
        self.alwwaysShowString = alwwaysShowString
        # self.txtRadialGeodetic.setText("0.0")
    def method_6(self, string_0):
        return "%s%s\t%f %s" % (string_0, self.Caption, self.Value,
                                self.captionUnits)

    def txtRadialPlanChanged(self):
        try:
            if self.flag == 0:
                self.flag = 1
            if self.flag == 2:
                self.flag = 0
            if self.flag == 1:
                try:
                    self.txtRadialGeodetic.Value = round(
                        self.otherBearingCalc(self.txtRadialPlan.Value,
                                              QGis.Meters), 4)
                except:
                    self.txtRadialGeodetic.Value = 0.0
                self.emit(SIGNAL("Event_0"), self)
        except:
            str0 = "You must input the float type in \"%s\"." % (self.Caption)
            QMessageBox.warning(self, "Warning", str0)
            self.txtRadialGeodetic.Value = 0.0

    def txtRadialGeodeticChanged(self):
        try:
            if self.flag == 0:
                self.flag = 2
            if self.flag == 1:
                self.flag = 0
            if self.flag == 2:
                try:
                    self.txtRadialPlan.Value = round(
                        self.otherBearingCalc(self.txtRadialGeodetic.Value,
                                              QGis.DecimalDegrees), 4)
                except:
                    self.txtRadialPlan.Value = 0.0
                self.emit(SIGNAL("Event_0"), self)
        except:
            str0 = "You must input the float type in \"%s\"." % (self.Caption)
            QMessageBox.warning(self, "Warning", str0)
            self.txtRadialPlan.Value = 0.0

    def otherBearingCalc(self, basicAngle, basicUnit):
        positionPanelOfParent = None
        existPositionPanelValid = False
        if len(self.parentP.findChildren(PositionPanel)) > 0:
            for pnl in self.parentP.findChildren(PositionPanel):
                if pnl.IsValid():
                    positionPanelOfParent = pnl
                    existPositionPanelValid = True
                    break
        basicBearing = Unit.ConvertDegToRad(basicAngle)
        unit = positionPanelOfParent.getUnit()
        basicPoint3d = None
        if existPositionPanelValid:
            basicPoint3d = positionPanelOfParent.Point3d
        else:
            if basicUnit == QGis.Meters:
                basicPoint3d = Point3D(656565, 6565656)
            else:
                basicPoint3d = Point3D(17, 59)

        resultBearing = None
        if unit == None:
            return
        elif unit == QGis.Meters:
            if basicUnit == QGis.Meters:
                point3dStart = basicPoint3d
                point3dEnd = MathHelper.distanceBearingPoint(
                    point3dStart, basicBearing, 500, QGis.Meters)
                point3dStartGeo = MathHelper.CrsTransformPoint(
                    point3dStart.get_X(), point3dStart.get_Y(), define._xyCrs,
                    define._latLonCrs, point3dStart.get_Z())
                point3dEndGeo = MathHelper.CrsTransformPoint(
                    point3dEnd.get_X(), point3dEnd.get_Y(), define._xyCrs,
                    define._latLonCrs, point3dEnd.get_Z())
                resultBearing = MathHelper.getBearing(point3dStartGeo,
                                                      point3dEndGeo,
                                                      QGis.DecimalDegrees)
            else:
                point3dStart = basicPoint3d
                point3dStartGeo = MathHelper.CrsTransformPoint(
                    point3dStart.get_X(), point3dStart.get_Y(), define._xyCrs,
                    define._latLonCrs, point3dStart.get_Z())

                point3dEndGeo = MathHelper.distanceBearingPoint(
                    point3dStartGeo, basicBearing, 500, QGis.DecimalDegrees)
                point3dEnd = MathHelper.CrsTransformPoint(
                    point3dEndGeo.get_X(), point3dEndGeo.get_Y(),
                    define._latLonCrs, define._xyCrs, point3dEndGeo.get_Z())
                resultBearing = MathHelper.getBearing(point3dStart, point3dEnd,
                                                      QGis.Meters)
        else:
            if basicUnit == QGis.Meters:
                point3dStartGeo = basicPoint3d
                point3dStart = MathHelper.CrsTransformPoint(
                    point3dStartGeo.get_X(), point3dStartGeo.get_Y(),
                    define._latLonCrs, define._xyCrs, point3dStartGeo.get_Z())

                point3dEnd = MathHelper.distanceBearingPoint(
                    point3dStart, basicBearing, 500, QGis.Meters)
                point3dEndGeo = MathHelper.CrsTransformPoint(
                    point3dEnd.get_X(), point3dEnd.get_Y(), define._xyCrs,
                    define._latLonCrs, point3dEnd.get_Z())
                resultBearing = MathHelper.getBearing(point3dStartGeo,
                                                      point3dEndGeo,
                                                      QGis.DecimalDegrees)
            else:
                point3dStartGeo = basicPoint3d
                point3dEndGeo = MathHelper.distanceBearingPoint(
                    point3dStartGeo, basicBearing, 500, QGis.DecimalDegrees)

                point3dStart = MathHelper.CrsTransformPoint(
                    point3dStartGeo.get_X(), point3dStartGeo.get_Y(),
                    define._latLonCrs, define._xyCrs, point3dStartGeo.get_Z())
                point3dEnd = MathHelper.CrsTransformPoint(
                    point3dEndGeo.get_X(), point3dEndGeo.get_Y(),
                    define._latLonCrs, define._xyCrs, point3dEndGeo.get_Z())
                resultBearing = MathHelper.getBearing(point3dStart, point3dEnd,
                                                      QGis.Meters)
        return Unit.ConvertRadToDeg(resultBearing)

    def btnCaptureRadialClicked(self):
        self.captureRadialTool = CaptureBearingTool(define._canvas,
                                                    self.txtRadialPlan,
                                                    self.txtRadialGeodetic)
        define._canvas.setMapTool(self.captureRadialTool)
        self.emit(SIGNAL("Event_1"), self)

    def get_CaptionUnits(self):
        return self.captionUnits

    def set_CaptionUnits(self, captionUnits):
        self.captionUnits = captionUnits

    CaptionUnits = property(get_CaptionUnits, set_CaptionUnits, None, None)

    def get_Caption(self):
        caption = self.captionLabel.text()
        findIndex = caption.indexOf("(")
        if findIndex > 0:
            val = caption.left(findIndex)
            return val
        return caption

    def set_Caption(self, captionStr):
        value = captionStr + "(" + self.captionUnits + "):"
        self.captionLabel.setText(value)

    Caption = property(get_Caption, set_Caption, None, None)

    def get_Visible(self):
        return self.isVisible()

    def set_Visible(self, bool):
        self.setVisible(bool)

    Visible = property(get_Visible, set_Visible, None, None)

    def get_Value(self):
        try:
            if self.alwwaysShowString == "Geo":
                return float(self.txtRadialGeodetic.Value)
            else:
                if define._units == QGis.Meters:
                    return float(self.txtRadialPlan.Value)
                else:
                    return float(self.txtRadialGeodetic.Value)
        except:
            return 0.0

    def set_Value(self, val):
        if val == None:
            self.txtRadialPlan.Value = 0.0
            self.txtRadialGeodetic.Value = 0.0
            return
        try:
            test = float(val)
            if define._units == QGis.Meters:
                self.txtRadialPlan.Value = val
            else:
                self.txtRadialGeodetic.Value = val
        except:
            str0 = "You must put the float type in \"%s\"." % (self.Caption)
            QMessageBox.warning(self, "Warning", str0)
            self.txtRadialPlan.Value = 0.0
            self.txtRadialGeodetic.Value = 0.0
        pass

    Value = property(get_Value, set_Value, None, None)

    def get_IsEmpty(self):
        return False
        # return self.txtRadialPlan.Value == "" or self.txtRadialPlan.text() == None

    IsEmpty = property(get_IsEmpty, None, None, None)

    def set_LabelWidth(self, width):
        self.captionLabel.setMinimumSize(QSize(width, 0))
        self.captionLabel.setMaximumSize(QSize(width, 16777215))

    LabelWidth = property(None, set_LabelWidth, None, None)

    def get_ReadOnly(self):
        return self.txtRadialPlan.isReadOnly()

    def set_ReadOnly(self, bool):
        self.txtRadialPlan.setReadOnly(bool)
        self.txtRadialGeodetic.setReadOnly(bool)

    ReadOnly = property(get_ReadOnly, set_ReadOnly, None, None)

    def get_Enabled(self):
        return self.txtRadialPlan.isEnabled()

    def set_Enabled(self, bool):
        self.txtRadialPlan.setEnabled(bool)
        # self.btnCaptureRadial.setEnabled(bool)
        self.txtRadialGeodetic.setEnabled(bool)

    Enabled = property(get_Enabled, set_Enabled, None, None)

    def set_Button(self, imageName):
        if imageName == None or imageName == "":
            self.btnCaptureRadial.setVisible(False)
            return
        icon = QIcon()
        icon.addPixmap(QPixmap(("Resource/" + imageName)), QIcon.Normal,
                       QIcon.Off)
        self.btnCaptureRadial.setIcon(icon)
        self.btnCaptureRadial.setVisible(True)

    Button = property(None, set_Button, None, None)
    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
    def __init__(self, parent, alwwaysShowString=None):
        QWidget.__init__(self, parent)
        while not isinstance(parent, QDialog):
            parent = parent.parent()
        self.setObjectName("TrackRadialBoxPanel" +
                           str(len(parent.findChildren(TrackRadialBoxPanel))))
        self.parentP = parent

        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth())
        self.setSizePolicy(sizePolicy)

        self.hLayoutBoxPanel = QHBoxLayout(self)
        self.hLayoutBoxPanel.setSpacing(0)
        self.hLayoutBoxPanel.setContentsMargins(0, 0, 0, 0)
        self.hLayoutBoxPanel.setObjectName(("hLayoutBoxPanel"))
        self.frameBoxPanel = QFrame(self)

        self.frameBoxPanel.setFrameShape(QFrame.NoFrame)
        self.frameBoxPanel.setFrameShadow(QFrame.Raised)
        self.frameBoxPanel.setObjectName(("frameBoxPanel"))
        self.hLayoutframeBoxPanel = QHBoxLayout(self.frameBoxPanel)
        self.hLayoutframeBoxPanel.setSpacing(0)
        self.hLayoutframeBoxPanel.setMargin(0)
        self.hLayoutframeBoxPanel.setObjectName(("hLayoutframeBoxPanel"))
        self.captionLabel = QLabel(self.frameBoxPanel)
        # sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        # sizePolicy.setHorizontalStretch(0)
        # sizePolicy.setVerticalStretch(0)
        # sizePolicy.setHeightForWidth(self.captionLabel.sizePolicy().hasHeightForWidth())
        # self.captionLabel.setSizePolicy(sizePolicy)
        self.captionLabel.setMinimumSize(QSize(200, 0))
        self.captionLabel.setMaximumSize(QSize(200, 16777215))
        font = QFont()
        font.setBold(False)
        font.setWeight(50)
        self.captionLabel.setFont(font)
        self.captionLabel.setObjectName(("captionLabel"))
        self.hLayoutframeBoxPanel.addWidget(self.captionLabel)

        self.frameBoxPanelIn = Frame(self.frameBoxPanel, "HL")
        self.frameBoxPanelIn.layoutBoxPanel.setSpacing(5)
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.frameBoxPanelIn.sizePolicy().hasHeightForWidth())
        self.frameBoxPanelIn.setSizePolicy(sizePolicy)

        self.txtRadialPlan = NumberBoxPanel(self.frameBoxPanelIn)
        self.txtRadialPlan.Caption = "Plan"
        self.txtRadialPlan.LabelWidth = 50
        self.frameBoxPanelIn.Add = self.txtRadialPlan

        self.txtRadialGeodetic = NumberBoxPanel(self.frameBoxPanelIn)
        self.txtRadialGeodetic.Caption = "Geodetic"
        self.txtRadialGeodetic.LabelWidth = 70
        self.frameBoxPanelIn.Add = self.txtRadialGeodetic

        self.btnCaptureRadial = QToolButton(self.frameBoxPanelIn)
        self.btnCaptureRadial.setText((""))
        icon = QIcon()
        icon.addPixmap(QPixmap(("Resource/coordinate_capture.png")),
                       QIcon.Normal, QIcon.Off)
        self.btnCaptureRadial.setIcon(icon)
        self.btnCaptureRadial.setObjectName(("btnCaptureRadial"))
        self.frameBoxPanelIn.Add = self.btnCaptureRadial

        self.hLayoutframeBoxPanel.addWidget(self.frameBoxPanelIn)
        self.hLayoutBoxPanel.addWidget(self.frameBoxPanel)

        spacerItem = QSpacerItem(0, 10, QSizePolicy.Minimum,
                                 QSizePolicy.Minimum)
        self.hLayoutBoxPanel.addItem(spacerItem)

        self.connect(self.txtRadialPlan, SIGNAL("Event_0"),
                     self.txtRadialPlanChanged)
        self.connect(self.txtRadialGeodetic, SIGNAL("Event_0"),
                     self.txtRadialGeodeticChanged)
        self.btnCaptureRadial.clicked.connect(self.btnCaptureRadialClicked)

        self.captionUnits = unicode("°", "utf-8")

        self.flag = 0
        self.startPoint = None
        self.endPoint = None
        self.alwwaysShowString = alwwaysShowString
Example #18
0
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(473, 580)
        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setBold(False)
        font.setWeight(50)
        Form.setFont(font)
        self.vlForm = QtGui.QVBoxLayout(Form)
        self.vlForm.setObjectName(("vlForm"))

        self.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
    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)
        # sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        # sizePolicy.setHorizontalStretch(0)
        # sizePolicy.setVerticalStretch(0)
        # sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth())
        # Form.setSizePolicy(sizePolicy)
        self.vlForm = QtGui.QVBoxLayout(Form)
        self.vlForm.setObjectName(("vlForm"))

        # listWidget = ListBox(Form)
        # listWidget.Items = ["asfdas", "sdafasfd", "3545"]
        # self.vlForm.addWidget(listWidget)

        self.gbFile = GroupBox(Form)
        self.gbFile.Title = "Database File"
        self.vlForm.addWidget(self.gbFile)

        self.pnlFile = TextBoxPanel(self.gbFile)
        self.pnlFile.Caption = ""
        self.pnlFile.Button = "openData.png"
        self.pnlFile.ReadOnly = True
        self.pnlFile.textBox.setMaximumWidth(1000000)
        self.pnlFile.hLayoutBoxPanel.removeItem(self.pnlFile.spacerItem)
        self.gbFile.Add = self.pnlFile


        self.pnlDelimiter = Frame(self.gbFile, "HL")
        self.gbFile.Add = self.pnlDelimiter

        self.cmbDelimiter = ComboBoxPanel(self.pnlDelimiter)
        self.cmbDelimiter.Caption = "Delimiter"
        self.pnlDelimiter.Add = self.cmbDelimiter

        self.txtDelimiter = TextBoxPanel(self.pnlDelimiter)
        self.txtDelimiter.Caption = ""
        self.txtDelimiter.LabelWidth = 0
        self.pnlDelimiter.Add = self.txtDelimiter

        self.chbUnicode = CheckBox(self.gbFile)
        self.chbUnicode.Caption = "Unicode"
        self.gbFile.Add = self.chbUnicode

        self.gbSettings = GroupBox(Form)
        self.gbSettings.Title = "Settings"
        self.vlForm.addWidget(self.gbSettings)

        self.pnlObjectType = Frame(self.gbSettings, "HL")
        self.gbSettings.Add = self.pnlObjectType

        self.cmbObjectType = ComboBoxPanel(self.pnlObjectType)
        self.cmbObjectType.Caption = "Object Type"
        self.pnlObjectType.Add = self.cmbObjectType

        self.cmbPolyType = ComboBoxPanel(self.pnlObjectType)
        self.cmbPolyType.Caption = ""
        self.cmbPolyType.LabelWidth = 0
        self.pnlObjectType.Add = self.cmbPolyType

        self.pnlSelectionMethod = ComboBoxPanel(self.gbSettings)
        self.pnlSelectionMethod.Caption = "Selection Method"
        self.gbSettings.Add = self.pnlSelectionMethod

        self.chbExcludeObjectsAtZero = CheckBox(self.gbSettings)
        self.chbExcludeObjectsAtZero.Caption = "Exclude Objects at Zero Altitude"
        self.gbSettings.Add = self.chbExcludeObjectsAtZero

        self.gbFields = GroupBox(self.gbSettings)
        self.gbFields.Caption = "Fields"
        self.gbSettings.Add = self.gbFields

        self.pnlFields = Frame(self.gbFields)
        self.gbFields.Add = self.pnlFields

        f0 = Frame(self.pnlFields, "HL")
        self.pnlFields.Add = f0

        self.chbName = CheckBox(f0)
        self.chbName.Caption = "Name"
        f0.Add = self.chbName

        self.pnlTolerance = NumberBoxPanel(f0)
        self.pnlTolerance.Button = "coordinate_capture.png"
        self.pnlTolerance.Caption = "Tolerance"
        self.pnlTolerance.LabelWidth = 70
        self.pnlTolerance.Value = 50
        f0.Add = self.pnlTolerance

        self.chbXY = CheckBox(self.pnlFields)
        self.chbXY.Caption = "Cartesian X / Y"
        self.pnlFields.Add = self.chbXY

        self.chbLatLon = CheckBox(self.pnlFields)
        self.chbLatLon.Caption = "Latitude / Longitude"
        self.chbLatLon.LabelWidth = 185
        self.pnlFields.Add = self.chbLatLon

        self.chbAltitude = CheckBox(self.pnlFields)
        self.chbAltitude.Caption = "Altitude (Z value)"
        self.pnlFields.Add = self.chbAltitude

        self.chbRadius = CheckBox(self.pnlFields)
        self.chbRadius.Caption = "Radius"
        self.pnlFields.Add = self.chbRadius



        self.pnlLatLonFormat = ComboBoxPanel(self.chbLatLon)
        self.pnlLatLonFormat.Caption = ""
        self.pnlLatLonFormat.LabelWidth = 0
        self.chbLatLon.hLayout.addWidget(self.pnlLatLonFormat)

        self.pnlNumberPrecision = ComboBoxPanel(self.gbFields)
        self.pnlNumberPrecision.Caption = "Number Precision"
        self.gbFields.Add = self.pnlNumberPrecision

        self.pnlLatLonPrecision = ComboBoxPanel(self.gbFields)
        self.pnlLatLonPrecision.Caption = "Latitude / Longitude Precision"
        self.gbFields.Add = self.pnlLatLonPrecision

        self.chbCRC = CheckBox(self.gbFields)
        self.chbCRC.Caption = "CRC Checksum (CRC32Q)"
        self.gbFields.Add = self.chbCRC
    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
Example #21
0
    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