From b2c782f2b4f5371bef6f10ef27b9b40b8e224501 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 22 Oct 2006 21:18:45 +0000 Subject: [PATCH] reverted change which made the progress dialog more realistic but also made the code vastly more complex (rev 1.116), it's not really needed otherwise than to test the patch it was bundled with; simplified the test code for wxPD_SKIP (rev 1.119); increased the progress counter to see the indeterminate mode marker wrap around git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- samples/dialogs/dialogs.cpp | 94 +++++++------------------------------ 1 file changed, 18 insertions(+), 76 deletions(-) diff --git a/samples/dialogs/dialogs.cpp b/samples/dialogs/dialogs.cpp index 605ea505a6..1f41906e9d 100644 --- a/samples/dialogs/dialogs.cpp +++ b/samples/dialogs/dialogs.cpp @@ -1070,33 +1070,7 @@ void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event) ) void MyFrame::ShowProgress( wxCommandEvent& WXUNUSED(event) ) { - #if wxUSE_STOPWATCH && wxUSE_LONGLONG - // check the performance - int countrandomnumbers = 0, count = 0; - wxTimeSpan tsTest(0,0,0,250); - wxDateTime DT2, DT1 = wxDateTime::UNow(); - srand(0); - while(1) - { - rand(); - ++countrandomnumbers; - if ( countrandomnumbers == 1000 ) - { - srand(0); - countrandomnumbers = 0; - ++count; - DT2 = wxDateTime::UNow(); - wxTimeSpan ts = DT2.Subtract( DT1 ); - if ( ts.IsLongerThan( tsTest ) ) - { - break; - } - } - } - const int max = 40 * count; - #else - static const int max = 10; - #endif // wxUSE_STOPWATCH && wxUSE_LONGLONG + static const int max = 100; wxProgressDialog dialog(_T("Progress dialog example"), _T("An informative message"), @@ -1109,80 +1083,48 @@ void MyFrame::ShowProgress( wxCommandEvent& WXUNUSED(event) ) wxPD_ELAPSED_TIME | wxPD_ESTIMATED_TIME | wxPD_REMAINING_TIME - //wxPD_SMOOTH - makes indeterminate mode bar on WinXP very small + | wxPD_SMOOTH // - makes indeterminate mode bar on WinXP very small ); bool cont = true; - bool skip = false; - // each skip will move progress about quarter forward - for ( int i = 0; i <= max; i = wxMin(i+(skip?int(max/4):1), max+1), skip = false ) + for ( int i = 0; i <= max; i++ ) { - #if wxUSE_STOPWATCH && wxUSE_LONGLONG - // do (almost) the same operations as we did for the performance test - srand(0); - for ( int j = 0; j < 1000; j++ ) - { - rand(); - if ( j == 999 ) - { - DT2 = wxDateTime::UNow(); - wxTimeSpan ts = DT2.Subtract( DT1 ); - if ( ts.IsLongerThan( tsTest ) ) - { - // nothing to do - } - } - } - #else - wxSleep(1); - #endif + wxMilliSleep(200); wxString msg; - // test both behaviours of wxProgressDialog: - // determinate mode for first 33% and last 33% of the time - // indeterminate mode from 33% to 66% of the progress - const int firstpart = max /3, - secondpart = 2 * max /3; - bool determinate = i < firstpart || i > secondpart; - bool indeterminate = !determinate; + // test both modes of wxProgressDialog behaviour: start in + // indeterminate mode but switch to the determinate one later + const bool determinate = i > max/2; if ( i == max ) { msg = _T("That's all, folks!"); } - else if ( indeterminate ) + else if ( !determinate ) { - msg = _T("Now test indeterminate mode"); + msg = _T("Testing indeterminate mode"); } - else if ( i > secondpart ) + else if ( determinate ) { - msg = _T("Back to determinate mode"); + msg = _T("Now in standard determinate mode"); } - if (determinate) - { -#if wxUSE_STOPWATCH && wxUSE_LONGLONG - if ( (i % (max/100)) == 0 ) // // only 100 updates, this makes it much faster + // will be set to true if "Skip" button was pressed + bool skip = false; + if ( determinate ) { cont = dialog.Update(i, msg, &skip); } -#else - cont = dialog.Update(i, msg, &skip); -#endif - } else { -#if wxUSE_STOPWATCH && wxUSE_LONGLONG - if ( (i % (max/100)) == 0 ) // // only 100 updates, this makes it much faster - { - cont = dialog.Pulse(msg, &skip); - } -#else cont = dialog.Pulse(msg, &skip); -#endif } + // each skip will move progress about quarter forward + if ( skip ) + i += max/4; + if ( !cont ) { if ( wxMessageBox(_T("Do you really want to cancel?"), -- 2.45.2