/** * @RDE_HEADER@ * * Helper dia,log to enter coordinates as MGRS * $Id$ * $HeadURL$ * $Author$ */ #include "coorddetaildlg.h" #include "ui_coorddetaildlg.h" #include #include #include CoordDetailDlg::CoordDetailDlg(QWidget *parent) : QDialog(parent) , m_ui(new Ui::CoordDetailDlg) { // prefill some mgrs squares LtsCoordTrans::setDefaultMgrsSquares({QStringLiteral("32UMD"), QStringLiteral("32UND"), QStringLiteral("32UPD"), QStringLiteral("32UPC")}); m_ui->setupUi(this); connect(m_ui->buttonBox, &QDialogButtonBox::rejected, this, &CoordDetailDlg::reject); connect(m_ui->buttonBox, &QDialogButtonBox::accepted, this, &CoordDetailDlg::accept); connect(m_ui->positionEdit, &LtsCoordWidget::LtsCoordWidget::coordinateChanged, this, &CoordDetailDlg::changedValues); connect(m_ui->positionEdit, &LtsCoordWidget::LtsCoordWidget::invalidCoordinate, this, &CoordDetailDlg::invalidCoordinate); m_ui->positionEdit->setMgrsSquareEditable(true); } CoordDetailDlg::~CoordDetailDlg() { delete m_ui; } void CoordDetailDlg::setValues(double lon, double lat) { m_ui->positionEdit->setCoordinate(lon, lat, true); changedValues(QPointF(lon, lat)); } QPointF CoordDetailDlg::coordinate() const { return m_ui->positionEdit->coordinate(); } void CoordDetailDlg::changedValues(const QPointF &coord) { m_ui->lonText->setText(QString::number(coord.x())); m_ui->latText->setText(QString::number(coord.y())); enableOkButton(true); } void CoordDetailDlg::invalidCoordinate() { enableOkButton(false); } void CoordDetailDlg::enableOkButton(bool bEnable) { QPushButton *pb = m_ui->buttonBox->button(QDialogButtonBox::Ok); if (!pb) return; pb->setEnabled(bEnable); }