void wxArchiveFSCacheDataImpl::CloseStreams() { wxDELETE(m_archive); wxDELETE(m_stream); }
FbImportBook::~FbImportBook() { wxDELETE(m_parser); }
bool wxStandardDialogLayoutAdapter::DoLayoutAdaptation(wxDialog* dialog) { if (dialog->GetSizer()) { #if wxUSE_BOOKCTRL wxBookCtrlBase* bookContentWindow = wxDynamicCast(dialog->GetContentWindow(), wxBookCtrlBase); if (bookContentWindow) { // If we have a book control, make all the pages (that use sizers) scrollable wxWindowList windows; for (size_t i = 0; i < bookContentWindow->GetPageCount(); i++) { wxWindow* page = bookContentWindow->GetPage(i); wxScrolledWindow* scrolledWindow = wxDynamicCast(page, wxScrolledWindow); if (scrolledWindow) windows.Append(scrolledWindow); else if (!scrolledWindow && page->GetSizer()) { // Create a scrolled window and reparent scrolledWindow = CreateScrolledWindow(page); wxSizer* oldSizer = page->GetSizer(); wxSizer* newSizer = new wxBoxSizer(wxVERTICAL); newSizer->Add(scrolledWindow,1, wxEXPAND, 0); page->SetSizer(newSizer, false /* don't delete the old sizer */); scrolledWindow->SetSizer(oldSizer); ReparentControls(page, scrolledWindow); windows.Append(scrolledWindow); } } FitWithScrolling(dialog, windows); } else #endif // wxUSE_BOOKCTRL { #if wxUSE_BUTTON // If we have an arbitrary dialog, create a scrolling area for the main content, and a button sizer // for the main buttons. wxScrolledWindow* scrolledWindow = CreateScrolledWindow(dialog); int buttonSizerBorder = 0; // First try to find a wxStdDialogButtonSizer wxSizer* buttonSizer = FindButtonSizer(true /* find std button sizer */, dialog, dialog->GetSizer(), buttonSizerBorder); // Next try to find a wxBoxSizer containing the controls if (!buttonSizer && dialog->GetLayoutAdaptationLevel() > wxDIALOG_ADAPTATION_STANDARD_SIZER) buttonSizer = FindButtonSizer(false /* find ordinary sizer */, dialog, dialog->GetSizer(), buttonSizerBorder); // If we still don't have a button sizer, collect any 'loose' buttons in the layout if (!buttonSizer && dialog->GetLayoutAdaptationLevel() > wxDIALOG_ADAPTATION_ANY_SIZER) { int count = 0; wxStdDialogButtonSizer* stdButtonSizer = new wxStdDialogButtonSizer; buttonSizer = stdButtonSizer; FindLooseButtons(dialog, stdButtonSizer, dialog->GetSizer(), count); if (count > 0) stdButtonSizer->Realize(); else { wxDELETE(buttonSizer); } } if (buttonSizerBorder == 0) buttonSizerBorder = 5; ReparentControls(dialog, scrolledWindow, buttonSizer); wxBoxSizer* newTopSizer = new wxBoxSizer(wxVERTICAL); wxSizer* oldSizer = dialog->GetSizer(); dialog->SetSizer(newTopSizer, false /* don't delete old sizer */); newTopSizer->Add(scrolledWindow, 1, wxEXPAND|wxALL, 0); if (buttonSizer) newTopSizer->Add(buttonSizer, 0, wxEXPAND|wxALL, buttonSizerBorder); scrolledWindow->SetSizer(oldSizer); FitWithScrolling(dialog, scrolledWindow); #endif // wxUSE_BUTTON } } dialog->SetLayoutAdaptationDone(true); return true; }
void wxPlatform::ClearPlatforms() { wxDELETE(sm_customPlatforms); }
AdvancedDlg::~AdvancedDlg() { wxDELETE(m_rightclickMenu); }
void FbAuthListModel::Append(FbModelData * data) { FbAuthListData * item = wxDynamicCast(data, FbAuthListData); if (item && m_position > 0) m_items.Insert(item->GetCode(), m_position - 1); wxDELETE(data); }
wxTopLevelWindowMSW::ButtonMenu::~ButtonMenu() { wxDELETE(m_menu); }
void SpinCtrlTestCase::tearDown() { wxDELETE(m_spin); }
CompDateAxis::~CompDateAxis() { wxDELETE(m_spanDraw); }
void wxSound::Free() { wxDELETE(m_data); }
void wxAppConsoleBase::CleanUp() { wxDELETE(m_mainLoop); }
void ListBoxTestCase::tearDown() { wxDELETE(m_list); }
void RearrangeListTestCase::tearDown() { wxDELETE(m_rearrange); }
void wxArchiveFSHandler::Cleanup() { wxDELETE(m_DirsFound); }
/*static*/ void wxSound::EnsureBackend() { if (!ms_backend) { // FIXME -- make this fully dynamic when plugins architecture is in // place #if wxUSE_LIBSDL //if (!ms_backend) { #if !wxUSE_PLUGINS ms_backend = wxCreateSoundBackendSDL(); #else wxString dllname; dllname.Printf(wxT("%s/%s"), wxDynamicLibrary::GetPluginsDirectory().c_str(), wxDynamicLibrary::CanonicalizePluginName( wxT("sound_sdl"), wxDL_PLUGIN_BASE).c_str()); wxLogTrace(wxT("sound"), wxT("trying to load SDL plugin from '%s'..."), dllname.c_str()); wxLogNull null; ms_backendSDL = new wxDynamicLibrary(dllname, wxDL_NOW); if (!ms_backendSDL->IsLoaded()) { wxDELETE(ms_backendSDL); } else { typedef wxSoundBackend *(*wxCreateSoundBackend_t)(); wxDYNLIB_FUNCTION(wxCreateSoundBackend_t, wxCreateSoundBackendSDL, *ms_backendSDL); if (pfnwxCreateSoundBackendSDL) { ms_backend = (*pfnwxCreateSoundBackendSDL)(); } } #endif if (ms_backend && !ms_backend->IsAvailable()) { wxDELETE(ms_backend); } } #endif #ifdef HAVE_SYS_SOUNDCARD_H if (!ms_backend) { ms_backend = new wxSoundBackendOSS(); if (!ms_backend->IsAvailable()) { wxDELETE(ms_backend); } } #endif if (!ms_backend) ms_backend = new wxSoundBackendNull(); if (!ms_backend->HasNativeAsyncPlayback()) ms_backend = new wxSoundSyncOnlyAdaptor(ms_backend); wxLogTrace(wxT("sound"), wxT("using backend '%s'"), ms_backend->GetName().c_str()); } }
virtual void OnExit() { wxDELETE(ms_buffer); }
void ClangWorkerThread::ProcessRequest(ThreadRequest* request) { // Send start event PostEvent(wxEVT_CLANG_PCH_CACHE_STARTED, ""); ClangThreadRequest* task = dynamic_cast<ClangThreadRequest*>(request); wxASSERT_MSG(task, "ClangWorkerThread: NULL task"); { // A bit of optimization wxCriticalSectionLocker locker(m_criticalSection); if(task->GetContext() == CTX_CachePCH && m_cache.Contains(task->GetFileName())) { // Nothing to be done here PostEvent(wxEVT_CLANG_PCH_CACHE_ENDED, task->GetFileName()); return; } } CL_DEBUG(wxT("==========> [ ClangPchMakerThread ] ProcessRequest started: %s"), task->GetFileName().c_str()); CL_DEBUG(wxT("ClangWorkerThread:: processing request %d"), (int)task->GetContext()); ClangCacheEntry cacheEntry = findEntry(task->GetFileName()); CXTranslationUnit TU = cacheEntry.TU; CL_DEBUG(wxT("ClangWorkerThread:: found cached TU: %p"), (void*)TU); bool reparseRequired = true; if(!TU) { // First time creating the TU TU = DoCreateTU(task->GetIndex(), task, true); reparseRequired = false; cacheEntry.lastReparse = time(NULL); cacheEntry.TU = TU; cacheEntry.sourceFile = task->GetFileName(); } if(!TU) { CL_DEBUG(wxT("Failed to parse Translation UNIT...")); PostEvent(wxEVT_CLANG_TU_CREATE_ERROR, task->GetFileName()); return; } if(reparseRequired && task->GetContext() == ::CTX_ReparseTU) { DoSetStatusMsg(wxString::Format(wxT("clang: re-parsing file %s..."), task->GetFileName().c_str())); // We need to reparse the TU CL_DEBUG(wxT("Calling clang_reparseTranslationUnit... [CTX_ReparseTU]")); if(clang_reparseTranslationUnit(TU, 0, NULL, clang_defaultReparseOptions(TU)) == 0) { CL_DEBUG(wxT("Calling clang_reparseTranslationUnit... done [CTX_ReparseTU]")); cacheEntry.lastReparse = time(NULL); } else { CL_DEBUG(wxT("An error occurred during reparsing of the TU for file %s. TU: %p"), task->GetFileName().c_str(), (void*)TU); // The only thing that left to be done here, is to dispose the TU clang_disposeTranslationUnit(TU); PostEvent(wxEVT_CLANG_TU_CREATE_ERROR, task->GetFileName()); return; } } // Construct a cache-returner class // which makes sure that the TU is cached // when we leave the current scope CacheReturner cr(this, cacheEntry); // Prepare the 'End' event wxCommandEvent eEnd(wxEVT_CLANG_PCH_CACHE_ENDED); ClangThreadReply* reply = new ClangThreadReply; reply->context = task->GetContext(); reply->filterWord = task->GetFilterWord(); reply->filename = task->GetFileName().c_str(); reply->results = NULL; wxFileName realFileName(reply->filename); if(realFileName.GetFullName().StartsWith(CODELITE_CLANG_FILE_PREFIX)) { realFileName.SetFullName(realFileName.GetFullName().Mid(strlen(CODELITE_CLANG_FILE_PREFIX))); } reply->filename = realFileName.GetFullPath(); if(task->GetContext() == CTX_CodeCompletion || task->GetContext() == CTX_WordCompletion || task->GetContext() == CTX_Calltip) { CL_DEBUG(wxT("Calling clang_codeCompleteAt...")); ClangThreadRequest::List_t usList = task->GetModifiedBuffers(); usList.push_back(std::make_pair(task->GetFileName(), task->GetDirtyBuffer())); ClangUnsavedFiles usf(usList); CL_DEBUG(wxT("Location: %s:%u:%u"), task->GetFileName().c_str(), task->GetLine(), task->GetColumn()); reply->results = clang_codeCompleteAt(TU, cstr(task->GetFileName()), task->GetLine(), task->GetColumn(), usf.GetUnsavedFiles(), usf.GetCount(), clang_defaultCodeCompleteOptions() #if HAS_LIBCLANG_BRIEFCOMMENTS | CXCodeComplete_IncludeBriefComments #endif ); cacheEntry.lastReparse = time(NULL); CL_DEBUG(wxT("Calling clang_codeCompleteAt... done")); wxString displayTip; bool hasErrors(false); if(reply->results) { unsigned maxErrorToDisplay = 10; std::set<wxString> errorMessages; unsigned errorCount = clang_codeCompleteGetNumDiagnostics(reply->results); // Collect all errors / fatal errors and report them back to user for(unsigned i = 0; i < errorCount; i++) { CXDiagnostic diag = clang_codeCompleteGetDiagnostic(reply->results, i); CXDiagnosticSeverity severity = clang_getDiagnosticSeverity(diag); if(!hasErrors) { hasErrors = (severity == CXDiagnostic_Error || severity == CXDiagnostic_Fatal); } if(severity == CXDiagnostic_Error || severity == CXDiagnostic_Fatal || severity == CXDiagnostic_Note) { CXString diagStr = clang_getDiagnosticSpelling(diag); wxString wxDiagString = wxString(clang_getCString(diagStr), wxConvUTF8); // Collect up to 10 error messages // and dont collect the same error twice if(errorMessages.find(wxDiagString) == errorMessages.end() && errorMessages.size() <= maxErrorToDisplay) { errorMessages.insert(wxDiagString); displayTip << wxDiagString.c_str() << wxT("\n"); } clang_disposeString(diagStr); } clang_disposeDiagnostic(diag); } CL_DEBUG(wxT("Found %u matches"), reply->results->NumResults); ClangUtils::printCompletionDiagnostics(reply->results); } if(!displayTip.IsEmpty() && hasErrors) { // Send back the error messages reply->errorMessage << "clang: " << displayTip; reply->errorMessage.RemoveLast(); // Free the results clang_disposeCodeCompleteResults(reply->results); reply->results = NULL; } // Send the event eEnd.SetClientData(reply); EventNotifier::Get()->AddPendingEvent(eEnd); } else if(task->GetContext() == CTX_GotoDecl || task->GetContext() == CTX_GotoImpl) { // Check to see if the file was modified since it was last reparsed // If it does, we need to re-parse it again wxFileName fnSource(cacheEntry.sourceFile); time_t fileModificationTime = fnSource.GetModificationTime().GetTicks(); time_t lastReparseTime = cacheEntry.lastReparse; if(fileModificationTime > lastReparseTime) { // The file needs to be re-parsed DoSetStatusMsg(wxString::Format(wxT("clang: re-parsing file %s...\n"), cacheEntry.sourceFile)); // Try reparsing the TU ClangThreadRequest::List_t usList = task->GetModifiedBuffers(); usList.push_back(std::make_pair(task->GetFileName(), task->GetDirtyBuffer())); ClangUnsavedFiles usf(usList); if(clang_reparseTranslationUnit(TU, usf.GetCount(), usf.GetUnsavedFiles(), clang_defaultReparseOptions(TU)) != 0) { // Failed to reparse cr.SetCancelled(true); // cancel the re-caching of the TU DoSetStatusMsg( wxString::Format("clang: clang_reparseTranslationUnit '%s' failed\n", cacheEntry.sourceFile)); clang_disposeTranslationUnit(TU); wxDELETE(reply); PostEvent(wxEVT_CLANG_TU_CREATE_ERROR, task->GetFileName()); return; } DoSetStatusMsg( wxString::Format("clang: clang_reparseTranslationUnit '%s' - done\n", cacheEntry.sourceFile)); // Update the 'lastReparse' field cacheEntry.lastReparse = time(NULL); } bool success = DoGotoDefinition(TU, task, reply); if(success) { eEnd.SetClientData(reply); EventNotifier::Get()->AddPendingEvent(eEnd); } else { DoSetStatusMsg(wxT("clang: no matches were found")); CL_DEBUG(wxT("Clang Goto Decl/Impl: could not find a cursor matching for position %s:%d:%d"), task->GetFileName().c_str(), (int)task->GetLine(), (int)task->GetColumn()); // Failed, delete the 'reply' allocatd earlier wxDELETE(reply); PostEvent(wxEVT_CLANG_TU_CREATE_ERROR, task->GetFileName()); } } else { wxDELETE(reply); PostEvent(wxEVT_CLANG_PCH_CACHE_ENDED, task->GetFileName()); } }
/* static */ void wxFontsManagerBase::CleanUp() { wxDELETE(ms_instance); }
void FbAuthListModel::Replace(FbModelData * data) { FbAuthListData * item = wxDynamicCast(data, FbAuthListData); if (item && m_position > 0) m_items[m_position - 1] = item->GetCode(); wxDELETE(data); }
clCommandProcessor::~clCommandProcessor() { wxDELETE(m_process); }
int HunspellInterface::UninitializeSpellCheckEngine() { wxDELETE(m_pHunspell); m_bEngineInitialized = false; return true; }
void ListbookTestCase::tearDown() { wxDELETE(m_listbook); }
void Localization::Destroy() { wxDELETE(Localization::instance_); }
void wxSoundData::Stop() { DoStop(); wxDELETE(m_pTimer); }
void CodeCompletionManager::Release() { wxDELETE(ms_CodeCompletionManager); }
void HtmlWindowTestCase::tearDown() { wxDELETE(m_win); }
// invalidate a single item, used by Clear() and InvalidateRange() void InvalidateItem(size_t n) { m_items[n] = (size_t)-1; wxDELETE(m_cells[n]); }
wxToolBar::~wxToolBar() { wxDELETE(m_pToolTip); } // end of wxToolBar::~wxToolBar
LuaHostTable::~LuaHostTable() { for (LuaHostTable::iterator i = this->begin(); i != this->end(); ++i) { LuaHostTableItem* item = i->second; wxDELETE(item); } }
SlideShow::~SlideShow() { for (int i=0; i<m_size; i++) wxDELETE(m_images[i]); wxDELETE(m_next); }