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)) void wxGenericMessageDialog::OnYes(wxCommandEvent& WXUNUSED(event))
{ {
printf( "yes.\n" );
EndModal( wxID_YES ); EndModal( wxID_YES );
} }
void wxGenericMessageDialog::OnNo(wxCommandEvent& WXUNUSED(event)) void wxGenericMessageDialog::OnNo(wxCommandEvent& WXUNUSED(event))
{ {
printf( "no.\n" );
EndModal( wxID_NO ); EndModal( wxID_NO );
} }
void wxGenericMessageDialog::OnCancel(wxCommandEvent& WXUNUSED(event)) void wxGenericMessageDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
{ {
printf( "cancel message.\n" );
/* Allow cancellation via ESC/Close button except if /* Allow cancellation via ESC/Close button except if
only YES and NO are specified. */ only YES and NO are specified. */
if ( (m_dialogStyle & wxYES_NO) != wxYES_NO || (m_dialogStyle & wxCANCEL) ) 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 (!button->m_hasVMT) return;
if (g_blockEventsOnDrag) return; if (g_blockEventsOnDrag) return;
printf( "clicked: %s.\n", button->GetLabel().c_str() );
wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, button->GetId()); wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, button->GetId());
event.SetEventObject(button); event.SetEventObject(button);
button->GetEventHandler()->ProcessEvent(event); button->GetEventHandler()->ProcessEvent(event);

View File

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

View File

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

View File

@@ -1453,6 +1453,7 @@ void wxWindow::Init()
m_sizeSet = FALSE; m_sizeSet = FALSE;
m_hasVMT = FALSE; m_hasVMT = FALSE;
m_needParent = TRUE; m_needParent = TRUE;
m_isBeingDeleted = FALSE;
m_hasScrolling = FALSE; m_hasScrolling = FALSE;
m_isScrolling = FALSE; m_isScrolling = FALSE;
@@ -1633,6 +1634,7 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
wxWindow::~wxWindow() wxWindow::~wxWindow()
{ {
m_isBeingDeleted = TRUE;
m_hasVMT = FALSE; m_hasVMT = FALSE;
if (m_widget) 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 (!button->m_hasVMT) return;
if (g_blockEventsOnDrag) return; if (g_blockEventsOnDrag) return;
printf( "clicked: %s.\n", button->GetLabel().c_str() );
wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, button->GetId()); wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, button->GetId());
event.SetEventObject(button); event.SetEventObject(button);
button->GetEventHandler()->ProcessEvent(event); button->GetEventHandler()->ProcessEvent(event);

View File

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

View File

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

View File

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