Example #1
0
void wxGxDiscConnection::Refresh(void)
{
#ifdef __WXGTK__
    m_pWatcher->RemoveAll();
#endif
	DestroyChildren();
    m_bIsChildrenLoaded = false;
	LoadChildren();
    wxGIS_GXCATALOG_EVENT(ObjectRefreshed);
}
//thread to check if remote folder is readable
//before exit we assume that folder is not readable
wxThread::ExitCode wxGxDiscConnectionUI::Entry()
{
    while (!GetThread()->TestDestroy())
    {
        bool bIsOk = wxIsReadable(wxString(m_sPath, wxConvUTF8));
        char nIsReadable = bIsOk == true ? 1 : 0;
        if (nIsReadable != m_nIsReadable)
        {
            m_nIsReadable = nIsReadable;
            if (m_nIsReadable == FALSE)
            {
                wxGxDiscConnection::DestroyChildren();
            }

            wxGIS_GXCATALOG_EVENT(ObjectChanged);
        }

        wxThread::Sleep(TM_CHECKING);
    }

    return (wxThread::ExitCode)wxTHREAD_NO_ERROR;
}
Example #3
0
wxGISDataset* const wxGxOpenFileGDB::GetDataset(bool bCached, ITrackCancel* const pTrackCancel)
{
    wxGISDataSource* pwxGISDataSource = wxDynamicCast(GetDatasetFast(), wxGISDataSource);

    if (NULL != pwxGISDataSource && !pwxGISDataSource->IsOpened())
    {
        if (!pwxGISDataSource->Open(TRUE))
        {
            wsDELETE(pwxGISDataSource);
            const char* err = CPLGetLastErrorMsg();
            wxString sErr = wxString::Format(_("Operation '%s' failed! GDAL error: %s"), _("Open"), wxString(err, wxConvUTF8).c_str());
            wxLogError(sErr);
            if (pTrackCancel)
                pTrackCancel->PutMessage(sErr, wxNOT_FOUND, enumGISMessageErr);
            return NULL;
        }
        wxGIS_GXCATALOG_EVENT(ObjectChanged);
        wsDELETE(pwxGISDataSource);
    }

    wsGET(m_pwxGISDataset);

}
wxGISDataset* const wxGxMLDatasetUI::GetDataset(bool bCache, ITrackCancel* const pTrackCancel)
{
    wxGISFeatureDataset* pwxGISFeatureDataset = wxDynamicCast(GetDatasetFast(), wxGISFeatureDataset);

    if(pwxGISFeatureDataset && !pwxGISFeatureDataset->IsOpened())
    {
        if (!pwxGISFeatureDataset->Open(0, TRUE, bCache, pTrackCancel))
        {
            const char* err = CPLGetLastErrorMsg();
            wxString sErr = wxString::Format(_("Operation '%s' failed! GDAL error: %s"), _("Open"), wxString(err, wxConvUTF8).c_str());
            wxLogError(sErr);
            if (pTrackCancel)
            {
                pTrackCancel->PutMessage(sErr, wxNOT_FOUND, enumGISMessageErr);
            }
            wsDELETE(pwxGISFeatureDataset);
            return NULL;
        }
        wxGIS_GXCATALOG_EVENT(ObjectChanged);
    }

    wsGET( m_pwxGISDataset );
}