void CUpdateWizard::OnTimer(wxTimerEvent& event) { if (event.GetId() == m_statusTimer.GetId()) { bool changed; CTransferStatus status; if (!m_pEngine) m_statusTimer.Stop(); else if (!m_pEngine->GetTransferStatus(status, changed)) SetTransferStatus(0); else if (changed) SetTransferStatus(&status); else m_statusTimer.Stop(); } else if (event.GetId() == m_autoCheckTimer.GetId()) { if (m_autoUpdateCheckRunning) return; if (CanAutoCheckForUpdateNow()) { m_autoUpdateCheckRunning = true; const wxDateTime& now = wxDateTime::Now(); COptions::Get()->SetOption(OPTION_UPDATECHECK_LASTDATE, now.Format(_T("%Y-%m-%d %H:%M:%S"))); StartUpdateCheck(); } } else if (event.GetId() == m_busy_timer.GetId()) DisplayUpdateAvailability(true); }
void CCManager::OnTimer(wxTimerEvent& event) { if (event.GetId() == idCallTipTimer) // m_CallTipTimer { CodeBlocksEvent evt(cbEVT_SHOW_CALL_TIP); evt.SetInt(FROM_TIMER); Manager::Get()->ProcessEvent(evt); } else if (event.GetId() == idAutoLaunchTimer) // m_AutoLaunchTimer { cbEditor* ed = Manager::Get()->GetEditorManager()->GetBuiltinActiveEditor(); if (ed && ed->GetControl()->GetCurrentPos() == m_AutocompPosition) { CodeBlocksEvent evt(cbEVT_COMPLETE_CODE); evt.SetInt(FROM_TIMER); Manager::Get()->ProcessEvent(evt); } m_AutocompPosition = wxSCI_INVALID_POSITION; } else if (event.GetId() == idAutocompSelectTimer) // m_AutocompSelectTimer { cbEditor* ed = Manager::Get()->GetEditorManager()->GetBuiltinActiveEditor(); if (ed) { cbStyledTextCtrl* stc = ed->GetControl(); if (stc->AutoCompActive()) { m_LastAutocompIndex = stc->AutoCompGetCurrent(); DoShowDocumentation(ed); } } } else // ?! event.Skip(); }
void CLed::OnTimer(wxTimerEvent& event) { if (event.GetId() != TIMER_ID) { event.Skip(); return; } if (!m_timer.IsRunning()) return; if (!m_pState->m_pEngine) { m_timer.Stop(); return; } if (!m_pState->m_pEngine->IsActive(m_index == 0)) { Unset(); m_timer.Stop(); } return; }
void CSafeCombinationChange::OnPollingTimer(wxTimerEvent &evt) { if (evt.GetId() == CYubiMixin::POLLING_TIMER_ID) { m_yubiMixin1.HandlePollingTimer(); m_yubiMixin2.HandlePollingTimer(); } }
// Various timers void dlgMain::OnTimer(wxTimerEvent& event) { // Don't wipe the server list if a refresh is already running if(GetThread() && GetThread()->IsRunning()) return; // Don't update the list if the client is still running if(ClientIsRunning()) return; // What timer generated this event and what actions to perform switch(event.GetId()) { case TIMER_ID_NEWLIST: { DoGetList(true); } break; case TIMER_ID_REFRESH: { DoRefreshList(true); } break; } }
void CmdRecorder::OnTimer(wxTimerEvent& event) { if( event.GetId() == ME_CmdTimer ) { if( ScriptOp.isPlaying(wxGetApp().getScript(), NULL) ) m_Timer->Start( 1000, wxTIMER_ONE_SHOT ); else m_labStatus->SetLabel( wxT("") ); } }
void wxToolBar::OnTimer ( wxTimerEvent& rEvent ) { if (rEvent.GetId() == m_vToolTimer.GetId()) { wxPoint vPos( m_vXMouse, m_vYMouse ); m_pToolTip->DisplayToolTipWindow(vPos); m_vToolTimer.Stop(); m_vToolExpTimer.Start(4000L, TRUE); } else if (rEvent.GetId() == m_vToolExpTimer.GetId()) { m_pToolTip->HideToolTipWindow(); GetParent()->Refresh(); m_vToolExpTimer.Stop(); } } // end of wxToolBar::OnTimer
void PwsafeApp::OnIdleTimer(wxTimerEvent &evt) { if (evt.GetId() == IDLE_TIMER_ID && PWSprefs::GetInstance()->GetPref(PWSprefs::LockDBOnIdleTimeout)) { if (m_frame != NULL && !m_frame->GetCurrentSafe().IsEmpty()) { m_frame->HideUI(true); //true => lock } } }
void TimedDialogEnder::OnTimer (wxTimerEvent& event) { wxLogTrace (_T("TimedDialogEnder"), _T("OnTimer")); if (event.GetId () == m_timerId) { // Hm, apparently the main thread is calling this event handling // function (this is standard?), even though the message box is // blocking the application??? Thus, ::wxMutexGuiEnter() and // ::wxMutexGuiLeave() functions must not be used in favour of: #if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXPM__) ::wxMutexGuiLeaveOrEnter (); #endif // Try using portable (standard wxWidgets) code - does not work even // when using wxMessageDialog and it's SetName() method which seems to // be the compared window identifier instead of the window caption? /* wxWindow* parent = NULL; wxWindow* dlgWdw = wxWindow::FindWindowByName (m_windowCaption, parent); if (dlgWdw) { wxDialog *dlg = wxDynamicCast (dlgWdw, wxDialog); if (dlg) { dlg->EndModal (m_returnCode); ::wxLogTrace (_T("TimedDialogEnder"), _T("Window killed")); this->DestroyTimer (); } }*/ // So we currently have to use M$ specific code :-((( #ifndef WIN32 wxFAIL_MSG (_T("Only supported under M$ Windows")); #else HWND wdw = FindWindow (NULL, m_windowCaption); if (wdw) { // Killing the message box using brute force is detected // because of an irregular return code of the message box: //if (DestroyWindow (wdw)) { // Interestingly the message box can be killed "softly" or as // not irregular detected: if (EndDialog (wdw, m_returnCode)) { wxLogTrace (_T("TimedDialogEnder"), _T("Window killed")); this->DestroyTimer (); m_success = true; } } #endif #if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXPM__) ::wxMutexGuiLeaveOrEnter (); #endif } }
//----------------------------------------------------------------------------- void LogOutputHandlerDlg::OnTimer( wxTimerEvent& e ) //----------------------------------------------------------------------------- { switch( e.GetId() ) { case teUpdate: UpdateMissingConfigsList(); break; } }
void CQueueViewBase::OnTimer(wxTimerEvent& event) { if (event.GetId() != m_filecount_delay_timer.GetId()) { event.Skip(); return; } if (m_fileCountChanged || m_folderScanCountChanged) DisplayNumberQueuedFiles(); }
void ClangPlugin::OnTimer(wxTimerEvent& event) { cbEditor* ed = Manager::Get()->GetEditorManager()->GetBuiltinActiveEditor(); if ( (!ed) || (m_TranslUnitId == wxNOT_FOUND) ) return; const int evId = event.GetId(); if ( evId == idReparseTimer ) { RequestReparse( m_TranslUnitId, ed->GetFilename() ); } }
//----------------------------------------------------------------------------- void PlotCanvasFeatureVsTime::OnTimer( wxTimerEvent& e ) //----------------------------------------------------------------------------- { try { switch( e.GetId() ) { case teUpdate: RefreshData(); break; default: break; } } catch( const ImpactAcquireException& theException ) { dynamic_cast<PropViewFrame*>( GetParent() )->WriteErrorMessage( wxString::Format( wxT( "%s: An exception was generated while updating the feature vs. time plot: %s(%s)\n" ), ConvertedString( __FUNCTION__ ).c_str(), ConvertedString( theException.getErrorString() ).c_str(), ConvertedString( theException.getErrorCodeAsString() ).c_str() ) ); } }
void CLed::OnTimer(wxTimerEvent& event) { if (!m_timer.IsRunning()) return; if (event.GetId() != m_timer.GetId()) { event.Skip(); return; } if (!m_pEngine || !m_pEngine->IsActive((enum CFileZillaEngine::_direction)m_index)) { Unset(); m_timer.Stop(); } return; }
//---------------------------------------------------------------------------- void RenderView::OnTimer(wxTimerEvent& event) { int ival = event.GetInterval(); double dIval = ival / 1000.0; if (mTimerID == event.GetId()) { std::map<std::string, PX2::EditRenderViewPtr>::iterator it = mEditRenderViews.begin(); for (; it != mEditRenderViews.end(); it++) { EditRenderView *renderView = it->second; if (renderView) { renderView->Tick(dIval); } } } }
void ClangCodeCompletion::OnTimer(wxTimerEvent& event) { if (!IsAttached()) { return; } const int evId = event.GetId(); cbEditor* ed = Manager::Get()->GetEditorManager()->GetBuiltinActiveEditor(); if (!ed) { return; } if (evId == idReparseTimer) // m_ReparseTimer { //wxCommandEvent evt(cbEVT_COMMAND_REPARSE, idReparse); //AddPendingEvent(evt); m_pClangPlugin->RequestReparse( GetCurrentTranslationUnitId(), ed->GetFilename() ); } else if (evId == idHighlightTimer) { //if (m_TranslUnitId == wxNOT_FOUND) //{ // return; //} HighlightOccurrences(ed); } else if (evId == idDiagnosticTimer) { //wxCommandEvent evt(cbEVT_COMMAND_DIAGNOSEED, idDiagnoseEd); //AddPendingEvent(evt); } else { event.Skip(); } }
void wxCustomButton::OnTimer( wxTimerEvent &event ) { m_timer->Stop(); delete m_timer; m_timer = NULL; // Clean up the button presses // FIXME - GTK eats second left down for a DClick, who know about the others? if (m_button_style & wxCUSTBUT_BUTTON) { m_down = 0; } else if (m_button_style & wxCUSTBUT_TOGGLE) { if (m_eventType == wxEVT_LEFT_UP) m_down = event.GetId()%2 ? 0 : 1; else m_down = event.GetId()%2 ? 1 : 0; } else if (m_button_style & wxCUSTBUT_BUT_DCLICK_TOG) { if (m_eventType == wxEVT_LEFT_DCLICK) m_down = event.GetId()%2 ? 0 : 1; else m_down = event.GetId()%2 ? 1 : 0; } else if (m_button_style & wxCUSTBUT_TOG_DCLICK_BUT) { if (m_eventType == wxEVT_LEFT_UP) m_down = event.GetId()%2 ? 0 : 1; else m_down = event.GetId()%2 ? 1 : 0; } Refresh(false); SendEvent(); }
void ClangPlugin::OnTimer(wxTimerEvent& event) { if (!IsAttached()) return; const int evId = event.GetId(); if (evId == idEdOpenTimer) { cbEditor* ed = Manager::Get()->GetEditorManager()->GetBuiltinActiveEditor(); if (!ed || !IsProviderFor(ed)) return; else if (m_Proxy.GetTranslationUnitId(ed->GetFilename()) != wxNOT_FOUND) { m_DiagnosticTimer.Start(DIAGNOSTIC_DELAY, wxTIMER_ONE_SHOT); return; } wxString compileCommand; ProjectFile* pf = ed->GetProjectFile(); ProjectBuildTarget* target = nullptr; Compiler* comp = nullptr; if (pf && pf->GetParentProject() && !pf->GetBuildTargets().IsEmpty() ) { target = pf->GetParentProject()->GetBuildTarget(pf->GetBuildTargets()[0]); comp = CompilerFactory::GetCompiler(target->GetCompilerID()); if (pf->GetUseCustomBuildCommand(target->GetCompilerID())) { compileCommand = pf->GetCustomBuildCommand(target->GetCompilerID()).AfterFirst(wxT(' ')); } } if (compileCommand.IsEmpty()) compileCommand = wxT("$options $includes"); cbProject* proj = (pf ? pf->GetParentProject() : nullptr); if (!comp && proj) comp = CompilerFactory::GetCompiler(proj->GetCompilerID()); if (!comp) { cbProject* tmpPrj = Manager::Get()->GetProjectManager()->GetActiveProject(); if (tmpPrj) comp = CompilerFactory::GetCompiler(tmpPrj->GetCompilerID()); } if (!comp) comp = CompilerFactory::GetDefaultCompiler(); comp->GetCommandGenerator(proj)->GenerateCommandLine(compileCommand, target, pf, ed->GetFilename(), g_InvalidStr, g_InvalidStr, g_InvalidStr ); wxStringTokenizer tokenizer(compileCommand); compileCommand.Empty(); wxString pathStr; while (tokenizer.HasMoreTokens()) { wxString flag = tokenizer.GetNextToken(); // make all include paths absolute, so clang does not choke if Code::Blocks switches directories if (flag.StartsWith(wxT("-I"), &pathStr)) { wxFileName path(pathStr); if (path.Normalize(wxPATH_NORM_ALL & ~wxPATH_NORM_CASE)) flag = wxT("-I") + path.GetFullPath(); } compileCommand += flag + wxT(" "); } compileCommand += GetCompilerInclDirs(comp->GetID()); if (FileTypeOf(ed->GetFilename()) == ftHeader) // try to find the associated source { const wxString& source = GetSourceOf(ed); if (!source.IsEmpty()) { m_Proxy.CreateTranslationUnit(source, compileCommand); if (m_Proxy.GetTranslationUnitId(ed->GetFilename()) != wxNOT_FOUND) return; // got it } } m_Proxy.CreateTranslationUnit(ed->GetFilename(), compileCommand); m_DiagnosticTimer.Start(DIAGNOSTIC_DELAY, wxTIMER_ONE_SHOT); } else if (evId == idReparseTimer) { EditorManager* edMgr = Manager::Get()->GetEditorManager(); cbEditor* ed = edMgr->GetBuiltinActiveEditor(); if (!ed) return; if (ed != m_pLastEditor) { m_TranslUnitId = m_Proxy.GetTranslationUnitId(ed->GetFilename()); m_pLastEditor = ed; } if (m_TranslUnitId == wxNOT_FOUND) return; std::map<wxString, wxString> unsavedFiles; for (int i = 0; i < edMgr->GetEditorsCount(); ++i) { ed = edMgr->GetBuiltinEditor(i); if (ed && ed->GetModified()) unsavedFiles.insert(std::make_pair(ed->GetFilename(), ed->GetControl()->GetText())); } m_Proxy.Reparse(m_TranslUnitId, unsavedFiles); DiagnoseEd(m_pLastEditor, dlMinimal); } else if (evId == idDiagnosticTimer) { cbEditor* ed = Manager::Get()->GetEditorManager()->GetBuiltinActiveEditor(); if (!ed) return; if (ed != m_pLastEditor) { m_TranslUnitId = m_Proxy.GetTranslationUnitId(ed->GetFilename()); m_pLastEditor = ed; } if (m_TranslUnitId == wxNOT_FOUND) return; DiagnoseEd(ed, dlFull); } else event.Skip(); }
void CSafeCombinationPrompt::OnPollingTimer(wxTimerEvent &evt) { if (evt.GetId() == POLLING_TIMER_ID) { HandlePollingTimer(); // in CYubiMixin } }
void Autosave::OnTimer(wxTimerEvent& e) { if(e.GetId() == 10000) { int method = Manager::Get()->GetConfigManager(_T("autosave"))->ReadInt(_T("method")); bool allProjects = Manager::Get()->GetConfigManager(_T("autosave"))->ReadBool(_T("all_projects"), true); bool doWorkspace = Manager::Get()->GetConfigManager(_T("autosave"))->ReadBool(_T("do_workspace"), true); ProjectManager *pm = Manager::Get()->GetProjectManager(); if(pm)// && pm->GetActiveProject()) { if (allProjects) { ProjectsArray *projects = pm->GetProjects(); for (size_t ii = 0; ii < projects->GetCount(); ++ii) SaveProject((*projects)[ii], method); } else if(cbProject *p = pm->GetActiveProject()) SaveProject(p, method); cbWorkspace *workspace = pm->GetWorkspace(); if (doWorkspace && workspace && workspace->GetModified()) { switch(method) { case 0: if(::wxRenameFile(workspace->GetFilename(), workspace->GetFilename() + _T(".bak"))) workspace->Save(); break; case 1: workspace->Save(); break; case 2: case 3: { WorkspaceLoader loader; loader.Save(workspace->GetTitle(), workspace->GetFilename() + wxT(".save")); workspace->SetModified(true); break; } default: break; } } } } else if(e.GetId() == 20000) { int method = Manager::Get()->GetConfigManager(_T("autosave"))->ReadInt(_T("method")); EditorManager* em = Manager::Get()->GetEditorManager(); if(em) { for(int i = 0; i < em->GetEditorsCount(); ++i) { cbEditor* ed = em->GetBuiltinEditor(em->GetEditor(i)); if(ed && ed->GetModified()) { wxFileName fn(ed->GetFilename()); switch(method) { case 0: { if(::wxRenameFile(fn.GetFullPath(), fn.GetFullPath() + _T(".bak"))) cbSaveToFile(fn.GetFullPath(), ed->GetControl()->GetText(), ed->GetEncoding(), ed->GetUseBom()); break; } case 1: { ed->Save(); break; } case 2: { cbSaveToFile(fn.GetFullPath() + _T(".save"), ed->GetControl()->GetText(), ed->GetEncoding(), ed->GetUseBom()); ed->SetModified(); // the "real" file has not been saved! break; } case 3: { wxString tmp1; wxString tmp2; for(unsigned int revisions = 8; revisions; --revisions) { tmp1.Printf(_T("%s/%s.%u.%s"), fn.GetPath().c_str(), fn.GetName().c_str(), revisions, fn.GetExt().c_str()); tmp2.Printf(_T("%s/%s.%u.%s"), fn.GetPath().c_str(), fn.GetName().c_str(), revisions+1, fn.GetExt().c_str()); if(::wxFileExists(tmp2)) ::wxRemoveFile(tmp2); if(::wxFileExists(tmp1)) ::wxRenameFile(tmp1, tmp2); } tmp1.Printf(_T("%s/%s.1.%s"), fn.GetPath().c_str(), fn.GetName().c_str(), fn.GetExt().c_str()); cbSaveToFile(tmp1, ed->GetControl()->GetText(), ed->GetEncoding(), ed->GetUseBom()); ed->SetModified(); // the "real" file has not been saved! break; } default: break; } } } } } }
void Autosave::OnTimer(wxTimerEvent& e) { if(e.GetId() == 10000) { PluginManager *plm = Manager::Get()->GetPluginManager(); int method = Manager::Get()->GetConfigManager(_T("autosave"))->ReadInt(_T("method")); ProjectManager *pm = Manager::Get()->GetProjectManager(); if(pm && pm->GetActiveProject()) { if(cbProject * p = pm->GetActiveProject()) { switch(method) { case 0: { if(p->GetModified()) { if(::wxRenameFile(p->GetFilename(), p->GetFilename() + _T(".bak"))) if(p->Save()) { CodeBlocksEvent e(cbEVT_PROJECT_SAVE, 0, p); plm->NotifyPlugins(e); } } wxFileName file = p->GetFilename(); file.SetExt(_T("layout")); wxString filename = file.GetFullPath(); if(::wxRenameFile(filename, filename + _T(".bak"))) p->SaveLayout(); break; } case 1: { if(p->GetModified() && p->Save()) { CodeBlocksEvent e(cbEVT_PROJECT_SAVE, 0, p); plm->NotifyPlugins(e); } p->SaveLayout(); break; } case 2: case 3: // doesn't really make sense to keep so many versions of a project file { if (p->IsLoaded() == false) return; if(p->GetModified()) { ProjectLoader loader(p); if(loader.Save(p->GetFilename() + _T(".save"))) { CodeBlocksEvent e(cbEVT_PROJECT_SAVE, 0, p); plm->NotifyPlugins(e); } p->SetModified(); // the actual project file is still not updated! } wxFileName file = wxFileName(p->GetFilename()); file.SetExt(_T("layout")); wxString filename = file.GetFullPath(); wxString temp = filename + _T(".temp"); wxString save = filename + _T(".save"); if(::wxFileExists(filename) && ::wxCopyFile(filename, temp)) { p->SaveLayout(); ::wxRenameFile(filename, save); ::wxRenameFile(temp, filename); } break; } } } } } else if(e.GetId() == 20000) { int method = Manager::Get()->GetConfigManager(_T("autosave"))->ReadInt(_T("method")); EditorManager* em = Manager::Get()->GetEditorManager(); if(em) { for(int i = 0; i < em->GetEditorsCount(); ++i) { cbEditor* ed = em->GetBuiltinEditor(em->GetEditor(i)); if(ed && ed->GetModified()) { wxFileName fn(ed->GetFilename()); switch(method) { case 0: { if(::wxRenameFile(fn.GetFullPath(), fn.GetFullPath() + _T(".bak"))) cbSaveToFile(fn.GetFullPath(), ed->GetControl()->GetText(), ed->GetEncoding(), ed->GetUseBom()); break; } case 1: { ed->Save(); break; } case 2: { cbSaveToFile(fn.GetFullPath() + _T(".save"), ed->GetControl()->GetText(), ed->GetEncoding(), ed->GetUseBom()); ed->SetModified(); // the "real" file has not been saved! break; } case 3: { wxString tmp1; wxString tmp2; for(unsigned int i = 8; i; --i) { tmp1.Printf(_T("%s/%s.%u.%s"), fn.GetPath().c_str(), fn.GetName().c_str(), i, fn.GetExt().c_str()); tmp2.Printf(_T("%s/%s.%u.%s"), fn.GetPath().c_str(), fn.GetName().c_str(), i+1, fn.GetExt().c_str()); if(::wxFileExists(tmp2)) ::wxRemoveFile(tmp2); if(::wxFileExists(tmp1)) ::wxRenameFile(tmp1, tmp2); } tmp1.Printf(_T("%s/%s.1.%s"), fn.GetPath().c_str(), fn.GetName().c_str(), fn.GetExt().c_str()); cbSaveToFile(tmp1, ed->GetControl()->GetText(), ed->GetEncoding(), ed->GetUseBom()); ed->SetModified(); // the "real" file has not been saved! break; } } } } } } }