Exemplo n.º 1
0
void ObjSearchDialogImpl::OnShowOnChart( wxCommandEvent& event )
{
    long itemIndex = -1;
    itemIndex = m_listCtrlResults->GetNextItem(itemIndex, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
    if (itemIndex == -1) return;
    
    wxListItem     row_info;  
    wxString       cell_contents_string;
 
    row_info.m_itemId = itemIndex;
    row_info.m_col = 2;
    row_info.m_mask = wxLIST_MASK_TEXT;
    m_listCtrlResults->GetItem( row_info );
    double lat = fromDMM(row_info.m_text);
    
    row_info.m_col = 3;
    m_listCtrlResults->GetItem( row_info );
    double lon = fromDMM(row_info.m_text);
    
    row_info.m_col = 5;
    m_listCtrlResults->GetItem( row_info );
    double scale;
    row_info.m_text.ToDouble(&scale);
    if (scale < 0.001)
        scale = 0.001;
        
    event.Skip();
    JumpToPosition(lat, lon, scale);
    if (m_cAutoClose->GetValue())
        Hide();
}
Exemplo n.º 2
0
PositionParser::PositionParser(const wxString & src)
{
    parsedOk = false;
    if( FindSeparator( src ) ) {
        latitude = fromDMM( latitudeString );
        longitude = fromDMM( longitudeString );
        if( (latitude != 0.0) && (longitude != 0.0) ) parsedOk = true;
    }
}
Exemplo n.º 3
0
void GoToPositionDialog::OnGoToPosOkClick( wxCommandEvent& event )
{
    double lat, lon;

    if( m_MarkLatCtl->GetValue().Length() == 0 ) goto noGo;
    if( m_MarkLonCtl->GetValue().Length() == 0 ) goto noGo;

    lat = fromDMM( m_MarkLatCtl->GetValue() );
    lon = fromDMM( m_MarkLonCtl->GetValue() );

    if( lat == 0.0 && lon == 0.0 ) goto noGo;
    if( lat > 80.0 || lat < -80.0 ) goto noGo;
    if( lon > 180.0 || lon < -180.0 ) goto noGo;

    gFrame->JumpToPosition( lat, lon, cc1->GetVPScale() );
    Hide();
    event.Skip();
    return;

    noGo:
    wxBell();
    event.Skip();
    return;
}