X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/453c9e3b0bad19ff91fb280183c34e5df7e24011..0edfdd963bdc9cfeb54d403ed77b5f36e4de8c84:/samples/dialogs/dialogs.cpp diff --git a/samples/dialogs/dialogs.cpp b/samples/dialogs/dialogs.cpp index 70eb2b3488..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"), @@ -1108,53 +1082,48 @@ void MyFrame::ShowProgress( wxCommandEvent& WXUNUSED(event) ) // wxPD_AUTO_HIDE | -- try this as well wxPD_ELAPSED_TIME | wxPD_ESTIMATED_TIME | - wxPD_REMAINING_TIME | - wxPD_SMOOTH); + wxPD_REMAINING_TIME + | 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 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 ( i > max / 2 ) + else if ( !determinate ) { - msg = _T("Only a half left (very long message)!"); + msg = _T("Testing indeterminate mode"); + } + else if ( determinate ) + { + msg = _T("Now in standard determinate mode"); } -#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 + { + cont = dialog.Pulse(msg, &skip); + } + + // each skip will move progress about quarter forward + if ( skip ) + i += max/4; if ( !cont ) { @@ -1227,6 +1196,8 @@ static void InitAboutInfoAll(wxAboutDialogInfo& info) "\n" " ...and so on and so forth...\n" )); + + info.AddTranslator(_T("Wun Ngo Wen (Martian)")); } void MyFrame::ShowSimpleAboutDialog(wxCommandEvent& WXUNUSED(event)) @@ -1253,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);