Add a possibility to show a progress dialog on dialog sample startup.
Add a command line option to the dialogs sample to allow testing of different wxProgressDialog styles more easily. This also tests for showing them before the main event loop is started (see r65499). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -277,12 +277,63 @@ BEGIN_EVENT_TABLE(StdButtonSizerDialog, wxDialog)
|
||||
EVT_RADIOBUTTON(wxID_ANY, StdButtonSizerDialog::OnEvent)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
#if wxUSE_CMDLINE_PARSER
|
||||
|
||||
#include "wx/cmdline.h"
|
||||
|
||||
static const char *PROGRESS_SWITCH = "progress";
|
||||
|
||||
void MyApp::OnInitCmdLine(wxCmdLineParser& parser)
|
||||
{
|
||||
wxApp::OnInitCmdLine(parser);
|
||||
|
||||
parser.AddOption("", PROGRESS_SWITCH,
|
||||
"Style for the startup progress dialog (wxPD_XXX)",
|
||||
wxCMD_LINE_VAL_NUMBER);
|
||||
}
|
||||
|
||||
bool MyApp::OnCmdLineParsed(wxCmdLineParser& parser)
|
||||
{
|
||||
if ( !wxApp::OnCmdLineParsed(parser) )
|
||||
return false;
|
||||
|
||||
parser.Found(PROGRESS_SWITCH, &m_startupProgressStyle);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif // wxUSE_CMDLINE_PARSER
|
||||
|
||||
// `Main program' equivalent, creating windows and returning main app frame
|
||||
bool MyApp::OnInit()
|
||||
{
|
||||
if ( !wxApp::OnInit() )
|
||||
return false;
|
||||
|
||||
#if wxUSE_PROGRESSDLG
|
||||
if ( m_startupProgressStyle != -1 )
|
||||
{
|
||||
// Show a test progress dialog before the main event loop is started:
|
||||
// it should still work.
|
||||
const int PROGRESS_COUNT = 100;
|
||||
wxProgressDialog dlg
|
||||
(
|
||||
"Progress in progress",
|
||||
"Please wait, starting...",
|
||||
PROGRESS_COUNT,
|
||||
NULL,
|
||||
m_startupProgressStyle
|
||||
);
|
||||
for ( int i = 0; i <= PROGRESS_COUNT; i++ )
|
||||
{
|
||||
if ( !dlg.Update(i) )
|
||||
break;
|
||||
|
||||
wxMilliSleep(50);
|
||||
}
|
||||
}
|
||||
#endif // wxUSE_PROGRESSDLG
|
||||
|
||||
#if wxUSE_IMAGE
|
||||
wxInitAllImageHandlers();
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user