X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f4aa7ec32b0e9181888f1bc9b291bb21d0e16561..3ff414ad4d9cecf9806fcc3b216f691beb72df58:/samples/dialogs/dialogs.cpp diff --git a/samples/dialogs/dialogs.cpp b/samples/dialogs/dialogs.cpp index 605ea505a6..9828815a22 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?"), @@ -1282,25 +1224,26 @@ void MyFrame::ShowFullAboutDialog(wxCommandEvent& WXUNUSED(event)) wxAboutBox(info); } -void MyFrame::ShowCustomAboutDialog(wxCommandEvent& WXUNUSED(event)) +// a trivial example of a custom dialog class +class MyAboutDialog : public wxGenericAboutDialog { - class MyAboutDialog : public wxGenericAboutDialog +public: + MyAboutDialog(const wxAboutDialogInfo& info) { - public: - MyAboutDialog(const wxAboutDialogInfo& info) - { - Create(info); - } + Create(info); + } - // add some custom controls - virtual void DoAddCustomControls() - { - AddControl(new wxStaticLine(this), wxSizerFlags().Expand()); - AddText(_T("Some custom text")); - AddControl(new wxStaticLine(this), wxSizerFlags().Expand()); - } - }; + // add some custom controls + virtual void DoAddCustomControls() + { + AddControl(new wxStaticLine(this), wxSizerFlags().Expand()); + AddText(_T("Some custom text")); + AddControl(new wxStaticLine(this), wxSizerFlags().Expand()); + } +}; +void MyFrame::ShowCustomAboutDialog(wxCommandEvent& WXUNUSED(event)) +{ wxAboutDialogInfo info; InitAboutInfoAll(info);