1. small changes to wxProgressDialog to make it more user-friendly
2. attempt to correct the disappearing focus problem git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -64,12 +64,12 @@ static void SetTimeLabel(unsigned long val, wxStaticText *label);
|
|||||||
// event tables
|
// event tables
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(wxProgressDialog, wxDialog)
|
BEGIN_EVENT_TABLE(wxProgressDialog, wxDialog)
|
||||||
EVT_BUTTON(wxID_CANCEL, wxProgressDialog::OnCancel)
|
EVT_BUTTON(wxID_CANCEL, wxProgressDialog::OnCancel)
|
||||||
EVT_CLOSE(wxProgressDialog::OnClose)
|
EVT_CLOSE(wxProgressDialog::OnClose)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
IMPLEMENT_CLASS(wxProgressDialog, wxDialog)
|
IMPLEMENT_CLASS(wxProgressDialog, wxDialog)
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// implementation
|
// implementation
|
||||||
@@ -148,21 +148,21 @@ wxProgressDialog::wxProgressDialog(wxString const &title,
|
|||||||
{
|
{
|
||||||
nTimeLabels++;
|
nTimeLabels++;
|
||||||
|
|
||||||
m_elapsed = CreateLabel(wxT("Elapsed time : "), &lastWindow);
|
m_elapsed = CreateLabel(_("Elapsed time : "), &lastWindow);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( style & wxPD_ESTIMATED_TIME )
|
if ( style & wxPD_ESTIMATED_TIME )
|
||||||
{
|
{
|
||||||
nTimeLabels++;
|
nTimeLabels++;
|
||||||
|
|
||||||
m_estimated = CreateLabel(wxT("Estimated time : "), &lastWindow);
|
m_estimated = CreateLabel(_("Estimated time : "), &lastWindow);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( style & wxPD_REMAINING_TIME )
|
if ( style & wxPD_REMAINING_TIME )
|
||||||
{
|
{
|
||||||
nTimeLabels++;
|
nTimeLabels++;
|
||||||
|
|
||||||
m_remaining = CreateLabel(wxT("Remaining time : "), &lastWindow);
|
m_remaining = CreateLabel(_("Remaining time : "), &lastWindow);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( nTimeLabels > 0 )
|
if ( nTimeLabels > 0 )
|
||||||
@@ -209,7 +209,7 @@ wxProgressDialog::wxProgressDialog(wxString const &title,
|
|||||||
|
|
||||||
Centre(wxCENTER_FRAME | wxBOTH);
|
Centre(wxCENTER_FRAME | wxBOTH);
|
||||||
|
|
||||||
if (m_disableParentOnly )
|
if ( m_disableParentOnly )
|
||||||
{
|
{
|
||||||
if ( m_parent )
|
if ( m_parent )
|
||||||
m_parent->Enable(FALSE);
|
m_parent->Enable(FALSE);
|
||||||
@@ -224,9 +224,10 @@ wxProgressDialog::wxProgressDialog(wxString const &title,
|
|||||||
|
|
||||||
// Update the display (especially on X, GTK)
|
// Update the display (especially on X, GTK)
|
||||||
wxYield();
|
wxYield();
|
||||||
#ifdef __WXMAC__
|
|
||||||
MacUpdateImmediately() ;
|
#ifdef __WXMAC__
|
||||||
#endif
|
MacUpdateImmediately();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
wxStaticText *wxProgressDialog::CreateLabel(const wxString& text,
|
wxStaticText *wxProgressDialog::CreateLabel(const wxString& text,
|
||||||
@@ -234,7 +235,7 @@ wxStaticText *wxProgressDialog::CreateLabel(const wxString& text,
|
|||||||
{
|
{
|
||||||
wxLayoutConstraints *c;
|
wxLayoutConstraints *c;
|
||||||
|
|
||||||
wxStaticText *label = new wxStaticText(this, -1, wxT("unknown"));
|
wxStaticText *label = new wxStaticText(this, -1, _("unknown"));
|
||||||
c = new wxLayoutConstraints;
|
c = new wxLayoutConstraints;
|
||||||
|
|
||||||
// VZ: I like the labels be centered - if the others don't mind, you may
|
// VZ: I like the labels be centered - if the others don't mind, you may
|
||||||
@@ -313,9 +314,10 @@ wxProgressDialog::Update(int value, const wxString& newmsg)
|
|||||||
// update the display
|
// update the display
|
||||||
wxYield();
|
wxYield();
|
||||||
}
|
}
|
||||||
#ifdef __WXMAC__
|
|
||||||
MacUpdateImmediately() ;
|
#ifdef __WXMAC__
|
||||||
#endif
|
MacUpdateImmediately();
|
||||||
|
#endif
|
||||||
|
|
||||||
return m_state != Canceled;
|
return m_state != Canceled;
|
||||||
}
|
}
|
||||||
@@ -337,6 +339,10 @@ void wxProgressDialog::OnCancel(wxCommandEvent& event)
|
|||||||
// request to cancel was received, the next time Update() is called we
|
// request to cancel was received, the next time Update() is called we
|
||||||
// will handle it
|
// will handle it
|
||||||
m_state = Canceled;
|
m_state = Canceled;
|
||||||
|
|
||||||
|
// update the button state immediately so that the user knows that the
|
||||||
|
// request has been noticed
|
||||||
|
m_btnAbort->Disable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -46,9 +46,9 @@ wxWindowList wxModalDialogs;
|
|||||||
wxWindowList wxModelessWindows; // Frames and modeless dialogs
|
wxWindowList wxModelessWindows; // Frames and modeless dialogs
|
||||||
extern wxList WXDLLEXPORT wxPendingDelete;
|
extern wxList WXDLLEXPORT wxPendingDelete;
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxPanel)
|
IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxPanel)
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(wxDialog, wxPanel)
|
BEGIN_EVENT_TABLE(wxDialog, wxPanel)
|
||||||
EVT_SIZE(wxDialog::OnSize)
|
EVT_SIZE(wxDialog::OnSize)
|
||||||
EVT_BUTTON(wxID_OK, wxDialog::OnOK)
|
EVT_BUTTON(wxID_OK, wxDialog::OnOK)
|
||||||
EVT_BUTTON(wxID_APPLY, wxDialog::OnApply)
|
EVT_BUTTON(wxID_APPLY, wxDialog::OnApply)
|
||||||
@@ -56,7 +56,7 @@ extern wxList WXDLLEXPORT wxPendingDelete;
|
|||||||
EVT_CHAR_HOOK(wxDialog::OnCharHook)
|
EVT_CHAR_HOOK(wxDialog::OnCharHook)
|
||||||
EVT_SYS_COLOUR_CHANGED(wxDialog::OnSysColourChanged)
|
EVT_SYS_COLOUR_CHANGED(wxDialog::OnSysColourChanged)
|
||||||
EVT_CLOSE(wxDialog::OnCloseWindow)
|
EVT_CLOSE(wxDialog::OnCloseWindow)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
wxDialog::wxDialog()
|
wxDialog::wxDialog()
|
||||||
{
|
{
|
||||||
@@ -171,6 +171,9 @@ wxDialog::~wxDialog()
|
|||||||
|
|
||||||
Show(FALSE);
|
Show(FALSE);
|
||||||
|
|
||||||
|
// VZ: this is bogus and breaks focus handling - it won't be returned to the
|
||||||
|
// window which had it previosuly if we do this
|
||||||
|
#if 0
|
||||||
if (m_modalShowing)
|
if (m_modalShowing)
|
||||||
{
|
{
|
||||||
// For some reason, wxWindows can activate another task altogether
|
// For some reason, wxWindows can activate another task altogether
|
||||||
@@ -182,6 +185,7 @@ wxDialog::~wxDialog()
|
|||||||
if (GetParent() && GetParent()->GetHWND())
|
if (GetParent() && GetParent()->GetHWND())
|
||||||
::BringWindowToTop((HWND) GetParent()->GetHWND());
|
::BringWindowToTop((HWND) GetParent()->GetHWND());
|
||||||
}
|
}
|
||||||
|
#endif // 0
|
||||||
|
|
||||||
m_modalShowing = FALSE;
|
m_modalShowing = FALSE;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user