⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 waypointeditorui.cpp

📁 GPS Manager is a GUI for downloading, organizing, maintaining, and uploading GPS data (i.e. tracks,
💻 CPP
字号:
/*gpsmgr: A program for managing GPS informationCopyright (C) 2003 Austin BinghamThis program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.You can reach the author at:    abingham@spamcop.net*/#include "waypointEditorUI.h"#include "exceptions.h"#include "groupEditorWidget.h"#include <qlineedit.h>#include <qmessagebox.h>#include <qspinbox.h>#include <qtextedit.h>#include <qvalidator.h>#include <sstream>namespace gpsmgr { namespace ui {    WaypointEditorUI::WaypointEditorUI(QWidget* parent,				       const char* name,				       bool modal,				       WFlags fl) :	WaypointEditorUIBase (parent, name, modal, fl)    {	mAltitudeEdit->setValidator(new QDoubleValidator(this));    }        void WaypointEditorUI::setWaypoint(const DataStore::WaypointType& wp)    {	mNameEdit->setText(wp.name().c_str());	ostringstream latoss;	latoss << wp.position().lat();	mLatEdit->setText(latoss.str());	ostringstream lonoss;	lonoss << wp.position().lon();	mLonEdit->setText(lonoss.str());	ostringstream altoss;	altoss << wp.altitude();	mAltitudeEdit->setText(altoss.str());	mSymbolEdit->setText(wp.symbol());	mCommentEdit->setText(wp.comment());	mGroupEditorWidget->reset(wp);    }        DataStore::WaypointType WaypointEditorUI::waypoint() const    {	DataStore::WaypointType rval;	rval.setName(mNameEdit->text());	Latitude lat;	istringstream latiss(mLatEdit->text());	latiss >> lat;	Longitude lon;	istringstream loniss(mLonEdit->text());	loniss >> lon;	LatLon pos(lat, lon);	rval.setPosition(pos);	double alt;	istringstream altiss(mAltitudeEdit->text());	altiss >> alt;	rval.setAltitude(alt);		rval.setSymbol(mSymbolEdit->text());	rval.setComment(mCommentEdit->text());	mGroupEditorWidget->updateGroupObject(rval);	return rval;    }    void WaypointEditorUI::accept()    {	using namespace gpsmgr::exceptions;		try { DataStore::WaypointType wp = waypoint(); }	catch (Exception<ParseError>& e)	{	    QMessageBox::warning(this,				 "Invalid waypoint",				 e.what(),				 "OK"); 	    return;	}	WaypointEditorUIBase::accept();    }    } }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -