class Ui_form_VSS(object): def setupUi(self, form_VSS): form_VSS.setObjectName(_fromUtf8("form_VSS")) form_VSS.resize(375, 372) font = QtGui.QFont() font.setFamily(_fromUtf8("Arial")) form_VSS.setFont(font) self.verticalLayout = QtGui.QVBoxLayout(form_VSS) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.grbRunway = QtGui.QGroupBox(form_VSS) font = QtGui.QFont() font.setFamily(_fromUtf8("Arial")) font.setBold(False) font.setWeight(50) self.grbRunway.setFont(font) self.grbRunway.setObjectName(_fromUtf8("grbRunway")) self.vLayout_grbRunway = QtGui.QVBoxLayout(self.grbRunway) self.vLayout_grbRunway.setObjectName(_fromUtf8("vLayout_grbRunway")) self.cmbAerodrome = ComboBoxPanel(self.grbRunway, True) self.cmbAerodrome.Caption = "Aerodrome" self.cmbAerodrome.LabelWidth = 120 self.vLayout_grbRunway.addWidget(self.cmbAerodrome) self.cmbRwyDir = ComboBoxPanel(self.grbRunway, True) self.cmbRwyDir.Caption = "Runway Direction" self.cmbRwyDir.LabelWidth = 120 self.cmbRwyDir.Width = 120 self.vLayout_grbRunway.addWidget(self.cmbRwyDir) self.pnlTHR = PositionPanel(self.grbRunway) self.pnlTHR.groupBox.setTitle("Runway Thr") self.pnlTHR.btnCalculater.hide() self.pnlTHR.setObjectName("positionTHR") self.vLayout_grbRunway.addWidget(self.pnlTHR) self.pnlRwyEnd = PositionPanel(self.grbRunway) self.pnlRwyEnd.groupBox.setTitle("Runway End") self.pnlRwyEnd.hideframe_Altitude() self.pnlRwyEnd.btnCalculater.hide() self.pnlRwyEnd.setObjectName("positionRwyEnd") self.vLayout_grbRunway.addWidget(self.pnlRwyEnd) self.txtRwyDir = TrackRadialBoxPanel(self.grbRunway) self.txtRwyDir.Caption = "Runway In-bound Direction" self.txtRwyDir.LabelWidth = 160 self.vLayout_grbRunway.addWidget(self.txtRwyDir) icon = QtGui.QIcon() icon.addPixmap( QtGui.QPixmap(_fromUtf8("Resource/coordinate_capture.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.cmbRwyCode = ComboBoxPanel(self.grbRunway) self.cmbRwyCode.Caption = "Code" self.cmbRwyCode.LabelWidth = 160 self.vLayout_grbRunway.addWidget(self.cmbRwyCode) self.txtStripWidth = DistanceBoxPanel(self.grbRunway, DistanceUnits.M) self.txtStripWidth.Caption = "Strip Width" self.txtStripWidth.Value = Distance(300) self.txtStripWidth.LabelWidth = 160 self.vLayout_grbRunway.addWidget(self.txtStripWidth) self.verticalLayout.addWidget(self.grbRunway) self.grbParameters = QtGui.QGroupBox(form_VSS) self.grbParameters.setObjectName(_fromUtf8("grbParameters")) self.vLayout_grbParameters = QtGui.QVBoxLayout(self.grbParameters) self.vLayout_grbParameters.setObjectName( _fromUtf8("vLayout_grbParameters")) self.cmbApproachType = ComboBoxPanel(self.grbParameters) self.cmbApproachType.Caption = "Approach Type" self.cmbApproachType.LabelWidth = 160 self.vLayout_grbParameters.addWidget(self.cmbApproachType) self.txtTrack = TrackRadialBoxPanel(self.grbParameters) self.txtTrack.Caption = "In-bound Track" self.txtTrack.LabelWidth = 160 self.vLayout_grbParameters.addWidget(self.txtTrack) self.txtThrFaf = DistanceBoxPanel(self.grbParameters, DistanceUnits.NM) self.txtThrFaf.Caption = "THR to FAF Distance" self.txtThrFaf.Value = Distance(5, DistanceUnits.NM) self.txtThrFaf.LabelWidth = 160 self.vLayout_grbParameters.addWidget(self.txtThrFaf) self.txtDescAngle = AngleGradientBoxPanel(self.grbParameters) self.txtDescAngle.CaptionUnits = AngleGradientSlopeUnits.Degrees self.txtDescAngle.Caption = "Descent Angle" self.txtDescAngle.LabelWidth = 160 self.txtDescAngle.Value = AngleGradientSlope( 3, AngleGradientSlopeUnits.Degrees) self.vLayout_grbParameters.addWidget(self.txtDescAngle) self.pnlOCAH = MCAHPanel(self.grbParameters) self.pnlOCAH.lblMCAH.setText("Minimum Altitude (ft):") self.pnlOCAH.lblMCAH.setMaximumWidth(160) self.pnlOCAH.lblMCAH.setMinimumWidth(160) self.pnlOCAH.setValue(Altitude(800, AltitudeUnits.FT)) self.pnlOCAH.cmbMCAH.clear() self.pnlOCAH.cmbMCAH.addItems([OCAHType.OCA, OCAHType.OCH]) self.vLayout_grbParameters.addWidget(self.pnlOCAH) self.cmbConstructionType = ComboBoxPanel(self.grbParameters) self.cmbConstructionType.Caption = "Construction Type" self.cmbConstructionType.LabelWidth = 160 self.vLayout_grbParameters.addWidget(self.cmbConstructionType) self.chbAdCodeF = CheckBox(self.grbParameters) self.chbAdCodeF.Caption = "Aerodrome Code Letter" self.vLayout_grbParameters.addWidget(self.chbAdCodeF) self.verticalLayout.addWidget(self.grbParameters) spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem) self.retranslateUi(form_VSS) QtCore.QMetaObject.connectSlotsByName(form_VSS) def retranslateUi(self, form_VSS): form_VSS.setWindowTitle(_translate("form_VSS", "Form", None)) self.grbRunway.setTitle(_translate("form_VSS", "Runway", None)) # self.label_69.setText(_translate("form_VSS", "Direction (°):", None)) # self.txtRwyDir.setText(_translate("form_VSS", "0", None)) # self.label_66.setText(_translate("form_VSS", "Code :", None)) # self.label_70.setText(_translate("form_VSS", "Strip Width (m):", None)) # self.txtStripWidth.setText(_translate("form_VSS", "300", None)) self.grbParameters.setTitle(_translate("form_VSS", "Parameters", None))
class Ui_IlsBasic(object): def setupUi(self, Form): Form.setObjectName(_fromUtf8("Form")) Form.resize(366, 261) self.form = Form self.verticalLayout = QtGui.QVBoxLayout(Form) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.tabCtrlGeneral = QtGui.QTabWidget(Form) font = QtGui.QFont() font.setFamily(_fromUtf8("Arial")) font.setBold(False) font.setWeight(50) self.tabCtrlGeneral.setFont(font) self.tabCtrlGeneral.setAutoFillBackground(False) self.tabCtrlGeneral.setStyleSheet(_fromUtf8("")) self.tabCtrlGeneral.setObjectName(_fromUtf8("tabCtrlGeneral")) self.verticalLayout.addWidget(self.tabCtrlGeneral) self.tabInputData = QtGui.QWidget(self.tabCtrlGeneral) self.tabInputData.setObjectName(_fromUtf8("tabInputData")) self.vLayoutTabInputData = QtGui.QVBoxLayout(self.tabInputData) self.vLayoutTabInputData.setMargin(3) self.vLayoutTabInputData.setObjectName( _fromUtf8("vLayoutTabInputData")) self.tabCtrlGeneral.addTab(self.tabInputData, "Input Data") self.tabIls = QtGui.QWidget(self.tabCtrlGeneral) self.tabIls.setObjectName(_fromUtf8("tabOasIls")) self.vLayoutTabIls = QtGui.QHBoxLayout(self.tabIls) self.vLayoutTabIls.setMargin(3) self.vLayoutTabIls.setObjectName(_fromUtf8("vLayoutTabIls")) self.tabCtrlGeneral.addTab(self.tabIls, "ILS Basic") self.cmbAerodrome = ComboBoxPanel(self.tabInputData, True) self.cmbAerodrome.Caption = "Aerodrome" self.cmbAerodrome.LabelWidth = 120 self.vLayoutTabInputData.addWidget(self.cmbAerodrome) self.cmbRwyDir = ComboBoxPanel(self.tabInputData, True) self.cmbRwyDir.Caption = "Runway Direction" self.cmbRwyDir.LabelWidth = 120 self.cmbRwyDir.Width = 120 self.vLayoutTabInputData.addWidget(self.cmbRwyDir) self.pnlThr = PositionPanel(self.tabInputData) self.pnlThr.groupBox.setTitle("Threshold Position") self.pnlThr.setObjectName("positionThr") self.pnlThr.btnCalculater.hide() self.vLayoutTabInputData.addWidget(self.pnlThr) self.pnlRwyEnd = PositionPanel(self.tabInputData) self.pnlRwyEnd.groupBox.setTitle("Runway End Position") self.pnlRwyEnd.btnCalculater.setVisible(False) self.pnlRwyEnd.hideframe_Altitude() self.vLayoutTabInputData.addWidget(self.pnlRwyEnd) self.txtTrack = TrackRadialBoxPanel(self.tabInputData) self.txtTrack.Caption = "In-bound Track" self.txtTrack.LabelWidth = 120 self.vLayoutTabInputData.addWidget(self.txtTrack) self.grbParameters = QtGui.QGroupBox(self.tabIls) self.grbParameters.setObjectName(_fromUtf8("grbParameters")) self.vLayout_grbParameters = QtGui.QVBoxLayout(self.grbParameters) self.vLayout_grbParameters.setObjectName( _fromUtf8("vLayout_grbParameters")) self.cmbGPA = ComboBoxPanel(self.grbParameters) self.cmbGPA.Caption = "Glide Path Angle" self.vLayout_grbParameters.addWidget(self.cmbGPA) self.txtRDH = AltitudeBoxPanel(self.grbParameters) self.txtRDH.CaptionUnits = "m" self.txtRDH.Caption = "ILS RDH at Threshold" self.txtRDH.Value = Altitude(15) self.vLayout_grbParameters.addWidget(self.txtRDH) self.cmbSelectionMode = ComboBoxPanel(self.grbParameters) self.cmbSelectionMode.Caption = "Selection Mode" self.vLayout_grbParameters.addWidget(self.cmbSelectionMode) self.cmbConstructionType = ComboBoxPanel(self.grbParameters) self.cmbConstructionType.Caption = "Construction Type" self.vLayout_grbParameters.addWidget(self.cmbConstructionType) self.groupBox_3 = QtGui.QGroupBox(self.grbParameters) self.groupBox_3.setObjectName(_fromUtf8("groupBox_3")) self.horizontalLayout_6 = QtGui.QHBoxLayout(self.groupBox_3) self.horizontalLayout_6.setSpacing(0) self.horizontalLayout_6.setMargin(0) self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6")) self.frame_8 = QtGui.QFrame(self.groupBox_3) self.frame_8.setFrameShape(QtGui.QFrame.StyledPanel) self.frame_8.setFrameShadow(QtGui.QFrame.Raised) self.frame_8.setObjectName(_fromUtf8("frame_8")) self.verticalLayout_14 = QtGui.QVBoxLayout(self.frame_8) self.verticalLayout_14.setContentsMargins(6, 0, -1, -1) self.verticalLayout_14.setObjectName(_fromUtf8("verticalLayout_14")) self.cmbAcCategory = ComboBoxPanel(self.frame_8) self.cmbAcCategory.Caption = "Category" self.cmbAcCategory.LabelWidth = 194 self.verticalLayout_14.addWidget(self.cmbAcCategory) self.txtHL = AltitudeBoxPanel(self.frame_8) self.txtHL.CaptionUnits = "m" self.txtHL.Caption = "Height Loss" self.txtHL.Value = Altitude(40) self.txtHL.LabelWidth = 194 self.verticalLayout_14.addWidget(self.txtHL) self.horizontalLayout_6.addWidget(self.frame_8) self.vLayout_grbParameters.addWidget(self.groupBox_3) self.vLayoutTabIls.addWidget(self.grbParameters) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): Form.setWindowTitle(_translate("Form", "Form", None)) self.grbParameters.setTitle(_translate("Form", "Parameters", None)) # self.label_73.setText(_translate("Form", "In-bound Track ():", None)) # self.txtTrack.setText(_translate("Form", "0", None)) # self.label_69.setText(_translate("Form", "Glide Path Angle:", None)) # self.txtRDH.setText(_translate("Form", "15", None)) # self.label_4.setText(_translate("Form", "ILS RDH at Threshold(m):", None)) # self.label_68.setText(_translate("Form", "Selection Mode:", None)) # self.label_8.setText(_translate("Form", "Construction Type:", None)) self.groupBox_3.setTitle(_translate("Form", "Aircraft", None))
class Ui_HoldingOverHead(object): 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)
class PinSVisualSegmentDepDlg(FlightPlanBaseDlg): def __init__(self, parent): QDialog.__init__(self, parent) self.ui = ui_PinSVisualSegmentDepDlg() self.ui.setupUi(self) self.surfaceType = SurfaceTypes.PinSVisualSegmentDep QgisHelper.matchingDialogSize(self, 700, 650) ''' UI State Initialize ''' # self.ui.btnOpenData.setDisabled(True) # self.ui.btnSaveData.setDisabled(True) self.ui.btnExportResult.setDisabled(True) self.ui.btnEvaluate.setEnabled(False) self.ui.btnUpdateQA.setVisible(False) self.ui.btnUpdateQA_2.setVisible(False) self.pnlMCAH = MCAHPanel(self.ui.groupBox_20) self.pnlMCAH.lblMCAH.setText("Minimum (ft):") self.pnlMCAH.setValue(Altitude(500, AltitudeUnits.FT)) self.ui.verticalLayout_5.insertWidget(4, self.pnlMCAH) self.ui.cmbSegmentType.Items = [ PinsVisualSegmentType.Direct, PinsVisualSegmentType.Manoeuvring ] self.ui.cmbDepartureType.Items = [ PinsOperationType.DayOnly, PinsOperationType.DayNight ] self.ui.cmbDepartureType.SelectedIndex = 1 # self.ui.cmbMCAH.addItems([MCAHType.MCA, MCAHType.MCH]) self.ui.cmbDepartureType.Visible = False self.ui.txtTakeOffSurfaceTrack.Visible = False self.ui.frame_Limitation.hide() self.pnlHRP = PositionPanel(self.ui.grbIDF) self.pnlHRP.groupBox.setTitle("Heliport Reference point (HRP)") self.pnlHRP.btnCalculater.hide() self.pnlHRP.setObjectName("positionHRP") self.ui.verticalLayout_HRP.insertWidget(0, self.pnlHRP) self.connect(self.pnlHRP, SIGNAL("positionChanged"), self.initResultPanel) self.pnlIDF = PositionPanel(self.ui.grbIDF) self.pnlIDF.groupBox.setTitle("") self.pnlIDF.hideframe_Altitude() self.pnlIDF.setObjectName("positionIDF") self.pnlIDF.btnCalculater.hide() self.ui.verticalLayout_IDF.insertWidget(0, self.pnlIDF) self.connect(self.pnlIDF, SIGNAL("positionChanged"), self.initResultPanel) self.ui.cmbConstructionType.Items = [ ConstructionType.Construct2D, ConstructionType.Construct3D ] self.ui.tblObstacles.setSelectionBehavior(QAbstractItemView.SelectRows) self.ui.tblObstacles.setSortingEnabled(True) '''Event Handlers Connect''' self.ui.btnOpenData.clicked.connect(self.openData) self.ui.btnSaveData.clicked.connect(self.saveData) self.connect(self.ui.cmbSegmentType, SIGNAL("Event_0"), self.chbLeftTurnProhibited_Click) self.connect(self.ui.cmbDepartureType, SIGNAL("Event_0"), self.chbLeftTurnProhibited_Click) self.connect(self.ui.txtVSDG, SIGNAL("Event_0"), self.chbLeftTurnProhibited_Click) self.connect(self.ui.txtTakeOffSurfaceTrack, SIGNAL("Event_0"), self.chbLeftTurnProhibited_Click) # self.ui.btnCaptureSurfaceTrack.clicked.connect(self.method_39) self.ui.chbLeftTurnProhibited.clicked.connect( self.chbLeftTurnProhibited_Click) self.ui.chbRightTurnProhibited.clicked.connect( self.chbLeftTurnProhibited_Click) # self.ui.btnCaptureTrackFrom.clicked.connect(self.method_37) self.pnlIDF.txtPointX.textChanged.connect( self.chbLeftTurnProhibited_Click) self.pnlIDF.txtPointY.textChanged.connect( self.chbLeftTurnProhibited_Click) self.pnlHRP.txtPointX.textChanged.connect( self.chbLeftTurnProhibited_Click) self.pnlHRP.txtPointY.textChanged.connect( self.chbLeftTurnProhibited_Click) self.pnlHRP.txtAltitudeM.textChanged.connect( self.chbLeftTurnProhibited_Click) self.ui.btnClose.clicked.connect(self.reject) self.ui.btnClose_2.clicked.connect(self.reject) self.ui.btnConstruct.clicked.connect(self.btnConstruct_Click) self.ui.btnEvaluate.clicked.connect(self.btnEvaluate_Click) self.ui.cmbSurface.currentIndexChanged.connect(self.cmbSurfaceChanged) self.ui.btnExportResult.clicked.connect(self.exportResult) self.obstaclesModel = None lstTextControls = self.ui.groupBox_20.findChildren(QLineEdit) for ctrl in lstTextControls: ctrl.textChanged.connect(self.initResultPanel) lstComboControls = self.ui.groupBox_20.findChildren(QComboBox) for ctrl in lstComboControls: ctrl.currentIndexChanged.connect(self.initResultPanel) def initResultPanel(self): self.ui.btnEvaluate.setEnabled(False) self.ui.btnExportResult.setEnabled(False) if self.obstaclesModel != None: self.obstaclesModel.clear() def cmbSurfaceChanged(self): if self.obstaclesModel == None: return if self.ui.cmbSurface.currentIndex( ) == 0 and self.ui.cmbSurface.currentText() == "All": self.obstaclesModel.setFilterFixedString("") else: self.obstaclesModel.setFilterFixedString( self.ui.cmbSurface.currentText()) def btnEvaluate_Click(self): try: self.obstaclesModel = PinSVisualSegmentDepObstacles( [self.pinSVisualSegmentDepManouvering]) rnpArMapLayers = QgisHelper.getSurfaceLayers( SurfaceTypes.PinSVisualSegmentDep) self.obstaclesModel.loadObstacles(rnpArMapLayers) self.obstaclesModel.setLocateBtn(self.ui.btnLocate) self.ui.tblObstacles.setModel(self.obstaclesModel) self.obstaclesModel.setTableView(self.ui.tblObstacles) self.obstaclesModel.setHiddenColumns(self.ui.tblObstacles) self.ui.cmbSurface.setCurrentIndex(0) self.ui.tabControls.setCurrentIndex(1) self.ui.cmbSurface.clear() if self.ui.cmbSegmentType.SelectedIndex != 0: self.ui.cmbSurface.addItems([ "All", PinsSurfaceType.PinsSurfaceType_LevelOIS, PinsSurfaceType.PinsSurfaceType_OCS ]) else: self.ui.cmbSurface.addItem("All") self.ui.cmbSurface.addItem(PinsSurfaceType.PinsSurfaceType_OIS) self.ui.btnExportResult.setEnabled(True) # raise ValueError, "" except UserWarning as e: QMessageBox.warning(self, "Information", e.message) def method_27(self, bool_0): if not self.pnlIDF.IsValid(): raise UserWarning, "IDF poisition value is incorrect. " # if (self.ui.cmbSegmentType.SelectedIndex == 0): # self.valueValidate(self.ui.txtTrackFrom, "Track From") # self.valueValidate(self.ui.txtMOC, "Moc") if not self.pnlHRP.IsValid(): raise UserWarning, "HRP poisition value is incorrect." # self.valueValidate(self.ui.txtHSAL, "Safety Area Length") # self.valueValidate(self.ui.txtHSAW, "Safety Area Width") # if self.valueValidate(self.ui.txtVSDG, "VSDG") and float(self.ui.txtVSDG.text()) < 5: # raise UserWarning ,Validations.VALUE_CANNOT_BE_SMALLER_THAN%5 # if (self.ui.cmbSegmentType.SelectedIndex== 1): # self.valueValidate(self.ui.txtTakeOffSurfaceTrack.txtRadialPlan, "TakeOffSurfaceTrack") self.valueValidate(self.pnlMCAH.txtMCAH, "Minimum") return True def method_29(self): self.ui.cmbSurface.clear() def method_32(self): self.ui.cmbDepartureType.Visible = self.ui.cmbSegmentType.SelectedIndex == 1 self.ui.txtTakeOffSurfaceTrack.Visible = self.ui.cmbSegmentType.SelectedIndex == 1 self.ui.txtTrackFrom.Visible = self.ui.cmbSegmentType.SelectedIndex == 0 self.ui.txtMOC.Visible = self.ui.cmbSegmentType.SelectedIndex == 0 self.ui.frame_Limitation.setVisible( self.ui.cmbSegmentType.SelectedIndex == 1) def method_33(self): turnDirection = [] try: if (self.ui.cmbSegmentType.SelectedIndex == 1): point3d = self.pnlIDF.getPoint3D() point3d1 = self.pnlHRP.getPoint3D() num = Unit.smethod_1(MathHelper.getBearing(point3d, point3d1)) num1 = self.smethod_17( self.ui.txtTakeOffSurfaceTrack.txtRadialPlan.numberBox) MathHelper.smethod_77(num, num1, AngleUnits.Degrees, turnDirection) if (turnDirection[0] == TurnDirection.Left): pass # self.ui.chbLeftTurnProhibited.setVisible(False) # self.ui.chbRightTurnProhibited.setVisible(True) elif (turnDirection[0] != TurnDirection.Right): # self.ui.chbLeftTurnProhibited.setVisible(True) # self.ui.chbRightTurnProhibited.setVisible(True) if (self.ui.chbLeftTurnProhibited.isChecked() and self.ui.chbRightTurnProhibited.isChecked()): self.ui.chbRightTurnProhibited.setChecked(False) else: pass # self.ui.chbRightTurnProhibited.setVisible(False) # self.ui.chbLeftTurnProhibited.setVisible(True) except: pass # def method_37(self): # CaptureBearingTrackFrom = CaptureBearingTool(define._canvas, self.ui.txtTrackFrom) # define._canvas.setMapTool(CaptureBearingTrackFrom) # def method_39(self): # CaptureBearingSurfaceTrack = CaptureBearingTool(define._canvas, self.ui.txtTakeOffSurfaceTrack) # define._canvas.setMapTool(CaptureBearingSurfaceTrack) def chbLeftTurnProhibited_Click(self): sender = self.sender() if sender == self.ui.cmbSegmentType: self.method_32() elif (sender == self.pnlIDF.txtPointX or sender == self.pnlIDF.txtPointY): self.method_33() elif (sender == self.pnlHRP.txtPointX or sender == self.pnlHRP.txtPointY or sender == self.pnlHRP.txtAltitudeM): self.method_33() elif (sender == self.ui.txtTakeOffSurfaceTrack): self.method_33() elif ((sender == self.ui.chbLeftTurnProhibited or sender == self.ui.chbRightTurnProhibited) and self.ui.cmbSegmentType.SelectedIndex == 1): if (sender == self.ui.chbLeftTurnProhibited): if (self.ui.chbRightTurnProhibited.isVisible()): self.ui.chbRightTurnProhibited.setChecked(False) elif (sender == self.ui.chbRightTurnProhibited and self.ui.chbLeftTurnProhibited.isVisible()): self.ui.chbLeftTurnProhibited.setChecked(False) self.method_29() def smethod_17(self, txtBox): try: value1 = float(txtBox.text()) return value1 except: return 0 def btnConstruct_Click(self): flag = FlightPlanBaseDlg.btnConstruct_Click(self) if not flag: return try: self.method_27(True) if (self.ui.cmbSegmentType.SelectedIndex != 0): self.pinSVisualSegmentDepManouvering = PinSVisualSegmentDepManouvering( self) else: self.pinSVisualSegmentDepManouvering = PinSVisualSegmentDepDirect( self) layersList = [] if self.ui.cmbConstructionType.SelectedItem != ConstructionType.Construct2D: self.pinSVisualSegmentDepManouvering.imethod_2(layersList) else: self.pinSVisualSegmentDepManouvering.imethod_1(layersList) QgisHelper.appendToCanvas(define._canvas, layersList, SurfaceTypes.PinSVisualSegmentDep) QgisHelper.zoomToLayers(layersList) self.resultLayerList = layersList self.ui.btnEvaluate.setEnabled(True) except UserWarning as e: QMessageBox.warning(self, "Error", e.message) def valueValidate(self, txtBox, title): try: value = float(txtBox.text()) return True except ValueError: raise UserWarning, "%s Value is not correct " % title def exportResult(self): result, resultHideColumnNames = FlightPlanBaseDlg.exportResult(self) if not result: return filePathDir = QFileDialog.getSaveFileName( self, "Export Obstacle Data", QCoreApplication.applicationDirPath(), "ExportObstaclefiles(*.xml)") if filePathDir == "": return if self.ui.cmbSegmentType.SelectedIndex != 0: self.filterList = [ "", PinsSurfaceType.PinsSurfaceType_LevelOIS, PinsSurfaceType.PinsSurfaceType_OCS ] else: self.filterList = ["", PinsSurfaceType.PinsSurfaceType_OIS] # self.ui.btnExportResult.setEnabled(True) parameterList = self.getParameterList() DataHelper.saveExportResult(filePathDir, "PinS Visual Segment for Departures", self.ui.tblObstacles, self.filterList, parameterList, resultHideColumnNames) self.obstaclesModel.setFilterFixedString( self.filterList[self.ui.cmbSurface.currentIndex()]) # FlightPlanBaseDlg.exportResult() def getParameterList(self): parameterList = [] parameterList.append(("general", "group")) parameterList.append(("Parameters", "group")) parameterList.append( ("Visual Segment Type", self.ui.cmbSegmentType.SelectedItem)) parameterList.append( ("VSDG", str(self.ui.txtVSDG.Value.Percent) + " %")) parameterList.append( ("Minimum(%s)" % self.pnlMCAH.cmbMCAH.currentText(), self.pnlMCAH.txtMCAH.text() + " ft")) parameterList.append( ("Construction Type", self.ui.cmbConstructionType.SelectedItem)) if self.ui.cmbSegmentType.SelectedIndex != 0: parameterList.append( ("Departure Type", self.ui.cmbDepartureType.SelectedItem)) parameterList.append( ("Out-bound Take-off Surface Track", "Plan : " + str(self.parametersPanel.txtTakeOffSurfaceTrack. txtRadialPlan.Value) + define._degreeStr)) parameterList.append( ("", "Geodetic : " + str(self.parametersPanel.txtTakeOffSurfaceTrack. txtRadialGeodetic.Value) + define._degreeStr)) # parameterList.append(("Out-bound Take-off Surface Track", self.ui.txtTakeOffSurfaceTrack.Value + unicode(" °", "utf-8"))) if self.ui.chbRightTurnProhibited.isChecked(): parameterList.append(("Limitation", "Right turn prohibited")) else: parameterList.append(("Limitation", "Left turn prohibited")) else: parameterList.append( ("MOC", str(self.ui.txtMOC.Value.Metres) + " m")) parameterList.append(("", str(self.ui.txtMOC.Value.Feet) + " ft")) parameterList.append(("Initial Departure Fix (IDF)", "group")) # parameterList.append(("X", self.pnlIDF.txtPointX.text())) # parameterList.append(("Y", self.pnlIDF.txtPointY.text())) DataHelper.pnlPositionParameter(self.pnlIDF, parameterList) if self.ui.cmbSegmentType.SelectedIndex == 0: parameterList.append( ("Track From", "Plan : " + str(self.ui.txtTrackFrom.txtRadialPlan.Value) + define._degreeStr)) parameterList.append( ("", "Geodetic : " + str(self.ui.txtTrackFrom.txtRadialGeodetic.Value) + define._degreeStr)) # parameterList.append(("Track From", self.ui.txtTrackFrom.Value + unicode(" °", "utf-8"))) parameterList.append(("Heliport", "group")) DataHelper.pnlPositionParameter(self.pnlHRP, parameterList) parameterList.append( ("Safety Area Length", str(self.ui.txtHSAL.Value.Metres) + " m")) parameterList.append( ("Safety Area Width", str(self.ui.txtHSAW.Value.Metres) + " m")) parameterList.append(("Results / Checked Obstacles", "group")) parameterList.append(("Checked Obstacles", "group")) for strFilter in self.filterList: self.obstaclesModel.setFilterFixedString(strFilter) c = self.obstaclesModel.rowCount() parameterList.append( ("Number of Checked Obstacles(%s)" % strFilter, str(c))) return parameterList