Implememted IsBeingDeleted() -> buttons work again

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 1999-05-11 08:23:53 +00:00
parent 162b0c3bf5
commit 31c6b4fc10
9 changed files with 12 additions and 15 deletions

View File

@ -161,19 +161,16 @@ wxGenericMessageDialog::wxGenericMessageDialog( wxWindow *parent, const wxString
void wxGenericMessageDialog::OnYes(wxCommandEvent& WXUNUSED(event))
{
printf( "yes.\n" );
EndModal( wxID_YES );
}
void wxGenericMessageDialog::OnNo(wxCommandEvent& WXUNUSED(event))
{
printf( "no.\n" );
EndModal( wxID_NO );
}
void wxGenericMessageDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
{
printf( "cancel message.\n" );
/* Allow cancellation via ESC/Close button except if
only YES and NO are specified. */
if ( (m_dialogStyle & wxYES_NO) != wxYES_NO || (m_dialogStyle & wxCANCEL) )

View File

@ -47,8 +47,6 @@ static void gtk_button_clicked_callback( GtkWidget *WXUNUSED(widget), wxButton *
if (!button->m_hasVMT) return;
if (g_blockEventsOnDrag) return;
printf( "clicked: %s.\n", button->GetLabel().c_str() );
wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, button->GetId());
event.SetEventObject(button);
button->GetEventHandler()->ProcessEvent(event);

View File

@ -245,6 +245,8 @@ bool wxDialog::Create( wxWindow *parent,
wxDialog::~wxDialog()
{
m_isBeingDeleted = TRUE;
wxTopLevelWindows.DeleteObject( this );
if (wxTheApp->GetTopWindow() == this)
@ -290,18 +292,14 @@ void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
{
printf( "OnOK 1.\n" );
if (Validate() && TransferDataFromWindow())
{
printf( "OnOK 2.\n" );
if (IsModal())
{
printf( "OnOK: modal.\n" );
EndModal(wxID_OK);
}
else
{
printf( "OnOK: non-modal.\n" );
SetReturnCode(wxID_OK);
this->Show(FALSE);
}

View File

@ -413,6 +413,8 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
wxFrame::~wxFrame()
{
m_isBeingDeleted = TRUE;
if (m_frameMenuBar) delete m_frameMenuBar;
m_frameMenuBar = (wxMenuBar *) NULL;

View File

@ -1453,6 +1453,7 @@ void wxWindow::Init()
m_sizeSet = FALSE;
m_hasVMT = FALSE;
m_needParent = TRUE;
m_isBeingDeleted = FALSE;
m_hasScrolling = FALSE;
m_isScrolling = FALSE;
@ -1633,6 +1634,7 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
wxWindow::~wxWindow()
{
m_isBeingDeleted = TRUE;
m_hasVMT = FALSE;
if (m_widget)

View File

@ -47,8 +47,6 @@ static void gtk_button_clicked_callback( GtkWidget *WXUNUSED(widget), wxButton *
if (!button->m_hasVMT) return;
if (g_blockEventsOnDrag) return;
printf( "clicked: %s.\n", button->GetLabel().c_str() );
wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, button->GetId());
event.SetEventObject(button);
button->GetEventHandler()->ProcessEvent(event);

View File

@ -245,6 +245,8 @@ bool wxDialog::Create( wxWindow *parent,
wxDialog::~wxDialog()
{
m_isBeingDeleted = TRUE;
wxTopLevelWindows.DeleteObject( this );
if (wxTheApp->GetTopWindow() == this)
@ -290,18 +292,14 @@ void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
{
printf( "OnOK 1.\n" );
if (Validate() && TransferDataFromWindow())
{
printf( "OnOK 2.\n" );
if (IsModal())
{
printf( "OnOK: modal.\n" );
EndModal(wxID_OK);
}
else
{
printf( "OnOK: non-modal.\n" );
SetReturnCode(wxID_OK);
this->Show(FALSE);
}

View File

@ -413,6 +413,8 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
wxFrame::~wxFrame()
{
m_isBeingDeleted = TRUE;
if (m_frameMenuBar) delete m_frameMenuBar;
m_frameMenuBar = (wxMenuBar *) NULL;

View File

@ -1453,6 +1453,7 @@ void wxWindow::Init()
m_sizeSet = FALSE;
m_hasVMT = FALSE;
m_needParent = TRUE;
m_isBeingDeleted = FALSE;
m_hasScrolling = FALSE;
m_isScrolling = FALSE;
@ -1633,6 +1634,7 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
wxWindow::~wxWindow()
{
m_isBeingDeleted = TRUE;
m_hasVMT = FALSE;
if (m_widget)