class DlgDetailDataEdit(QDialog): def __init__(self, parent, title, valueList=None): QDialog.__init__(self, parent) self.resize(100, 70) self.setWindowTitle(title) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) self.setSizePolicy(sizePolicy) verticalLayoutDlg = QVBoxLayout(self) verticalLayoutDlg.setObjectName(("verticalLayoutDlg")) self.frameBasic = Frame(self) verticalLayoutDlg.addWidget(self.frameBasic) self.pnlDetail = PositionPanel(self.frameBasic, None, None, "Degree") self.pnlDetail.btnCalculater.setVisible(False) self.pnlDetail.Caption = "Position" self.frameBasic.Add = self.pnlDetail self.pnlType = ComboBoxPanel(self.frameBasic) self.pnlType.Caption = "Type" self.pnlType.LabelWidth = 120 self.frameBasic.Add = self.pnlType self.pnlCenter = PositionPanel(self.frameBasic, None, None, "Degree") self.pnlCenter.btnCalculater.setVisible(False) self.pnlCenter.Caption = "Center Position" self.pnlCenter.hideframe_Altitude() self.frameBasic.Add = self.pnlCenter self.pnlMagVariation = TextBoxPanel(self.frameBasic) self.pnlMagVariation.Caption = "Mag. Variation" self.pnlMagVariation.LabelWidth = 120 self.frameBasic.Add = self.pnlMagVariation self.btnBoxOkCancel = QDialogButtonBox(self) self.btnBoxOkCancel.setObjectName(("btnBoxOkCancel")) self.btnBoxOkCancel.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok) self.connect(self.btnBoxOkCancel, SIGNAL("accepted()"), self.acceptDlg) self.connect(self.btnBoxOkCancel, SIGNAL("rejected()"), self.reject) verticalLayoutDlg.addWidget(self.btnBoxOkCancel) self.x = "" self.y = "" self.latitude = "" self.longitude = "" self.altitude = "" self.cenLatitude = "" self.cenLongitude = "" self.type = "" self.magVariation = "" self.pnlMagVariation.Visible = False self.pnlCenter.Visible = False self.pnlType.Items = [ DataBaseCoordinateType.ArcPoint, DataBaseCoordinateType.CCA, DataBaseCoordinateType.CenPoint, DataBaseCoordinateType.CWA, DataBaseCoordinateType.FNT, DataBaseCoordinateType.GRC, DataBaseCoordinateType.MidPoint, DataBaseCoordinateType.Point ] if valueList != None: self.pnlDetail.Point3d = Point3D( float(valueList[1]), float(valueList[0]), float(valueList[2]) if (valueList[2] != None and valueList[2] != "") else 0.0) self.pnlType.Value = valueList[3] if title == "Modify Detail Airspace": if valueList[5] != None and valueList[5] != "": self.pnlCenter.Point3d = Point3D(float(valueList[5]), float(valueList[4])) elif title == "Modify Detail Routes": self.pnlMagVariation.Value = valueList[4] if title == "Modify Detail Airspace" or title == "Add Detail Airspace": self.pnlCenter.Visible = True elif title == "Modify Detail Routes" or title == "Add Detail Routes": self.pnlMagVariation.Visible = True def acceptDlg(self): if self.pnlDetail.Point3d != None and isinstance( self.pnlDetail.Point3d, Point3D): xyPoint = QgisHelper.CrsTransformPoint( self.pnlDetail.Point3d.get_X(), self.pnlDetail.Point3d.get_Y(), define._latLonCrs, define._xyCrs, self.pnlDetail.Point3d.get_Z()) self.x = QString(str(xyPoint.get_X())) self.y = QString(str(xyPoint.get_Y())) self.latitude = QString(str(self.pnlDetail.Point3d.get_Y())) self.longitude = QString(str(self.pnlDetail.Point3d.get_X())) self.altitude = QString(str(self.pnlDetail.Altitude().Metres)) if self.pnlCenter.Point3d != None and isinstance( self.pnlCenter.Point3d, Point3D): self.cenLatitude = QString(str(self.pnlCenter.Point3d.get_Y())) self.cenLongitude = QString(str(self.pnlCenter.Point3d.get_X())) self.magVariation = self.pnlMagVariation.Value self.type = self.pnlType.SelectedItem self.accept()
class DlgPointDataEdit(QDialog): def __init__(self, parent, title, valueList=None): QDialog.__init__(self, parent) self.resize(100, 70) self.setWindowTitle(title) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) self.setSizePolicy(sizePolicy) verticalLayoutDlg = QVBoxLayout(self) verticalLayoutDlg.setObjectName(("verticalLayoutDlg")) self.frameBasic = Frame(self) verticalLayoutDlg.addWidget(self.frameBasic) self.pnlName = TextBoxPanel(self.frameBasic) self.pnlName.Caption = "Name" self.pnlName.LabelWidth = 120 self.frameBasic.Add = self.pnlName self.pnlObstacle = PositionPanel(self.frameBasic, None, None, "Degree") self.pnlObstacle.btnCalculater.setVisible(False) self.frameBasic.Add = self.pnlObstacle self.pnlType = ComboBoxPanel(self.frameBasic) self.pnlType.Caption = "Type" self.pnlType.LabelWidth = 120 self.frameBasic.Add = self.pnlType self.pnlRemarks = TextBoxPanel(self.frameBasic, True) self.pnlRemarks.Caption = "Remarks" self.pnlRemarks.LabelWidth = 120 self.frameBasic.Add = self.pnlRemarks 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.name = "" self.latitude = "" self.longitude = "" self.altitude = "" self.type = "" self.remarks = "" if title == "Add Symbol" or title == "Modify Symbol": self.pnlType.Items = [ SymbolType.Default, SymbolType.Arp, SymbolType.Be1, SymbolType.Dme, SymbolType.Faf, SymbolType.Gp, SymbolType.Ndb, SymbolType.Repnc, SymbolType.Tacan, SymbolType.Vor, SymbolType.Vord ] elif title == "Add Obstacle" or title == "Modify Obstacle": self.pnlType.Items = [ SymbolType.Obst1, SymbolType.Obst2, SymbolType.Obst3, SymbolType.Obst4 ] self.editingFlag = False if valueList != None: self.pnlName.Value = valueList[0] self.pnlObstacle.Point3d = Point3D(float(valueList[2]), float(valueList[1]), float(valueList[3])) self.pnlType.Value = valueList[4] self.pnlRemarks.Value = valueList[5] self.editingFlag = True def acceptDlg(self): self.name = self.pnlName.Value self.latitude = QString(str(self.pnlObstacle.Point3d.get_Y())) self.longitude = QString(str(self.pnlObstacle.Point3d.get_X())) self.altitude = QString(str(self.pnlObstacle.Altitude().Metres)) self.type = self.pnlType.SelectedItem self.remarks = self.pnlRemarks.Value self.accept()