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

📄 locationpagecoordinates.cpp

📁 roadnav 内含一个基于wxWindows库的车载导航系统。编译后
💻 CPP
字号:
/* *  Roadnav *  LocationPageCoordinates.cpp * *  Copyright (c) 2004 - 2006 Richard L. Lynch <rllynch@users.sourceforge.net> * *  This program is free software; you can redistribute it and/or *  modify it under the terms of version 2 of the GNU General Public License *  as published by the Free Software Foundation. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA *////////////////////////////////////////////////////////////////////////////////// \file////// \brief This location page allows a set of GPS coordinates to be entered./////////////////////////////////////////////////////////////////////////////////#ifdef HAVE_CONFIG_H#  include <config.h>#endif#ifdef _MSC_VER#pragma warning(disable: 4786)#pragma warning(disable: 4800)#endif#include <wx/wx.h>#include <wx/valgen.h>#include <vector>#include "App.h"#include "LocationPageCoordinates.h"#include "libroadnav/MapLookup.h"#include "libroadnav/MapState.h"#include "libroadnav/Map.h"#include "libroadnav/MapAbbreviations.h"#include "libroadnav/MapZip.h"#include "libroadnav/MapRepresentations.h"#include "libroadnav/MapControlDataImporter_TigerLine.h"using namespace std;//////////////////////////////////////////////////////////////////////////////////// LocationPageCoordinates event table/////////////////////////////////////////////////////////////////////////////////BEGIN_EVENT_TABLE(LocationPageCoordinates, wxPanel)END_EVENT_TABLE()//////////////////////////////////////////////////////////////////////////////////// \brief Constructor - create the control/////////////////////////////////////////////////////////////////////////////////LocationPageCoordinates::LocationPageCoordinates(wxWindow *parent)             : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxNO_BORDER){	wxBoxSizer * sizerWnd = new wxBoxSizer(wxVERTICAL);	//////////////////////////////////////////////////////////////////////////////	// Coordinates entry	//////////////////////////////////////////////////////////////////////////////	sizerWnd->Add(					new wxStaticText(this, -1, wxT("Coordinates"), wxDefaultPosition),					1, 					wxALIGN_LEFT | wxALIGN_BOTTOM | wxLEFT | wxRIGHT | wxTOP, 					5);	m_ctlCoordinates = new wxTextCtrl(this, -1, m_strCoordinates, wxDefaultPosition, wxSize(200, -1), 0, wxGenericValidator(&m_strCoordinates));    sizerWnd->Add(m_ctlCoordinates, 1, wxGROW | wxALL, 5);	//////////////////////////////////////////////////////////////////////////	// Set up the sizer	//////////////////////////////////////////////////////////////////////////    m_ctlCoordinates->SetFocus();	sizerWnd->Fit(this);	SetSizer(sizerWnd);	Layout();	sizerWnd->SetSizeHints(this);	}///////////////////////////////////////////////////////////////////////////////// /// \brief Parse the entered addresses.////// This function parses the address that was entered into it and returns/// a Address pointer. Multiple calls to GetAddress will return the same/// pointer since FindAddress is used./////////////////////////////////////////////////////////////////////////////////Address LocationPageCoordinates::GetAddress(wxString * pstrErrorMsg, bool bRoadsOnly){	Point ptEntered;	vector<bool> bVisibility;	Address sAddr;	if (bRoadsOnly)	{			int iRT;		for (iRT = FIRST_RECORD_TYPE; iRT <= LAST_RECORD_TYPE; iRT++)		{			bVisibility.push_back(iRT >= FIRST_RECORD_TYPE_ROAD && iRT <= LAST_RECORD_TYPE_ROAD);		}	}	ptEntered.ParsePoint(m_strCoordinates);		sAddr = FindCoordinates(ptEntered, bVisibility);	if (!sAddr.m_bValid && pstrErrorMsg)		*pstrErrorMsg = wxT("Unable to locate coordinates");		return sAddr;}///////////////////////////////////////////////////////////////////////////////// /// \brief Update the address in the dialog with the address provided in/// the cAddress argument./////////////////////////////////////////////////////////////////////////////////void LocationPageCoordinates::SetAddress(Address cAddress){	m_strCoordinates = cAddress.m_ptCoordinates.FormatPoint();	TransferDataToWindow();}

⌨️ 快捷键说明

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