1. more warnings fixed

2. fixed wxProgressDialog to work as wxDialog now does


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2000-10-07 21:34:35 +00:00
parent b0a6bb75bc
commit ef8698d677
3 changed files with 35 additions and 7 deletions

View File

@@ -63,12 +63,20 @@ public:
*/ */
void Resume() { m_state = Continue; } void Resume() { m_state = Continue; }
// implementation from now on protected:
// callback for optional abort button // callback for optional abort button
void OnCancel(wxCommandEvent& event); void OnCancel(wxCommandEvent& event);
// callback to disable "hard" window closing
// callback to disable "hard" window closing
void OnClose(wxCloseEvent& event); void OnClose(wxCloseEvent& event);
// callback to detect when the dialog is closed
void OnShow(wxShowEvent& event);
// must be called to reenable the other windows temporarily disabled while
// the dialog was shown
void ReenableOtherWindows();
private: private:
// create the label with given text and another one to show the time nearby // create the label with given text and another one to show the time nearby
// under the lastWindow and modify it to be the same as the control created // under the lastWindow and modify it to be the same as the control created

View File

@@ -65,8 +65,11 @@ static void SetTimeLabel(unsigned long val, wxStaticText *label);
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
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_SHOW(wxProgressDialog::OnShow)
EVT_CLOSE(wxProgressDialog::OnClose)
END_EVENT_TABLE() END_EVENT_TABLE()
IMPLEMENT_CLASS(wxProgressDialog, wxDialog) IMPLEMENT_CLASS(wxProgressDialog, wxDialog)
@@ -377,15 +380,32 @@ void wxProgressDialog::OnClose(wxCloseEvent& event)
} }
} }
void wxProgressDialog::OnShow(wxShowEvent& event)
{
// if the dialog is being hidden, it was closed, so reenable other windows
// now
if ( event.GetShow() )
{
ReenableOtherWindows();
}
}
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// destruction // destruction
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
wxProgressDialog::~wxProgressDialog() wxProgressDialog::~wxProgressDialog()
{
// normally this should have been already done, but just in case
ReenableOtherWindows();
}
void wxProgressDialog::ReenableOtherWindows()
{ {
if ( GetWindowStyle() & wxPD_APP_MODAL ) if ( GetWindowStyle() & wxPD_APP_MODAL )
{ {
delete m_winDisabler; delete m_winDisabler;
m_winDisabler = (wxWindowDisabler *)NULL;
} }
else else
{ {

View File

@@ -178,10 +178,10 @@ public:
// status inquiries // status inquiries
bool HasChildren() const { return !m_children.IsEmpty(); } bool HasChildren() const { return !m_children.IsEmpty(); }
bool IsSelected() const { return m_hasHilight; } bool IsSelected() const { return m_hasHilight != 0; }
bool IsExpanded() const { return !m_isCollapsed; } bool IsExpanded() const { return !m_isCollapsed; }
bool HasPlus() const { return m_hasPlus || HasChildren(); } bool HasPlus() const { return m_hasPlus || HasChildren(); }
bool IsBold() const { return m_isBold; } bool IsBold() const { return m_isBold != 0; }
// attributes // attributes
// get them - may be NULL // get them - may be NULL